一个Blender脚本,程序化生成三维飞船

网友投稿 804 2022-10-22

一个Blender脚本,程序化生成三维飞船

一个Blender脚本,程序化生成三维飞船

Spaceship Generator

A Blender script to procedurally generate 3D spaceships from a random seed.

Usage

Install Blender 2.76 or greater: http://blender.org/download/Download newest add_mesh_SpaceshipGenerator.zip from the Releases sectionUnder File > User Preferences... > Add-ons > Install From File... open the downloaded ZIP fileUnder File > User Preferences... > Add-ons enable this script (search for "spaceship")Add a spaceship in the 3D View under Add > Mesh > Spaceship

How it works

Watch on YouTube: https://youtube.com/watch?v=xJZyXqJ6nog

Start with a box.Build the hull: Extrude the front/rear faces several times, adding random translation/scaling/rotation along the way.Add asymmetry to the hull: Pick random faces and extrude them out in a similar manner, reducing in scale each time.Add detail to the hull: Categorize each face by its orientation and generate details on it such as engines, antenna, weapon turrets, lights etc.Sometimes apply horizontal symmetry.Add a Bevel modifier to angularize the shape a bit.Apply materials to the final result.Take over the universe with your new infinite fleet of spaceships.

Extreme examples

The following screenshots were created using extreme values for the number of hull segments and asymmetry segments to show how the algorithm works.

Tips and Tricks

By default the script will delete all objects starting with Spaceship before generating a new spaceship. To disable this feature, remove or comment out the call to reset_scene() around line 735 in the main function.You can provide a seed to the generate_spaceship() function to always generate the same spaceship. For example, generate_spaceship('michael').The generate_spaceship() function takes many more parameters that affect the generation process. Try playing with them!You can replace the textures with your own ones. All textures are applied using global-space cube UVs. hull_normal.png is a normal map that adds extra surface "greebles". hull_lights_diffuse.png is an additive diffuse texture to set the color of the window lights. hull_lights_emit.png is an emissive texture to make the windows glow in darkness.

Credits

Written for fun as part of the /r/proceduralgeneration June 2016 monthly challenge.

Released under the MIT License.

Authored and maintained by Michael Davies.

GitHub @a1studmuffin Twitter @butterparty

Special thanks to @panzi for bugfixes, a proper GUI and build script. Also to @mjrthemes for bugfixing.

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【调试错误】Access to XMLHttpRequest at file:E590/ceshi.json from origin null 亲测有效!!!
下一篇:面试官:既然你用了原子类,那你知道CAS的工作原理是啥吗?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~