SpaceshipGenerator-用于程序化生成3D宇宙飞船的Blender脚本

宇宙飞船生成器

用于从随机种子按程序生成3D宇宙飞船的Blender脚本

用法

  • 安装Blender 2.80或更高版本:http://blender.org/download/
  • 下载最新版本add_mesh_SpaceshipGenerator.zipReleases部分
  • 在编辑>首选项下。>加载项>安装。打开下载的ZIP文件
  • 在编辑>首选项下。>加载项启用“添加网格:宇宙飞船生成器”脚本(搜索“宇宙飞船”)
  • 在3D视图中的添加>网格>宇宙飞船下添加宇宙飞船
  • 展开显示在视口左下角的宇宙飞船选项卡,以调整程序生成设置

它是如何工作的

在YouTube上观看:https://www.youtube.com/watch?v=xJZyXqJ6nog

  • 从一个盒子开始
  • 构建外壳:多次挤出前/后表面,沿途添加随机平移/缩放/旋转
  • 将不对称添加到外壳:拾取随机面并以类似的方式将其挤出,每次都缩小比例
  • 为船体添加细节:按方向对每个面进行分类,并在其上生成细节,如引擎、天线、武器炮塔、灯光等
  • 有时应用水平对称
  • 添加倒角修改器以使形状稍微倾斜
  • 将材质应用于最终结果
  • 用你的新的无限的宇宙飞船舰队接管整个宇宙

极端的例子

以下屏幕截图是使用船体分段数和不对称分段数的极值创建的,以显示算法的工作原理

小贴士和小窍门

  • 默认情况下,该脚本将删除以开头的所有对象Spaceship在制造新的宇宙飞船之前。要禁用此功能,请删除或注释掉对reset_scene()在主函数中的第735行附近
  • 您可以将种子提供给generate_spaceship()功能以始终生成相同的宇宙飞船。例如,generate_spaceship('michael')
  • 这个generate_spaceship()函数接受更多影响生成过程的参数。试试和他们玩吧!
  • 您可以用自己的纹理替换纹理。所有纹理都使用全局空间立方体UV应用。hull_normal.png是添加额外曲面“问候语”的法线贴图。hull_lights_diffuse.png是一种附加漫反射纹理,用于设置窗光的颜色。hull_lights_emit.png是一种发光纹理,使窗户在黑暗中发光

学分

为了好玩而写的,作为/r/proceduralgeneration2016年6月monthly challenge

根据MIT License

迈克尔·戴维斯编写和维护

GitHub@a1studmuffin推特@butterparty

特别感谢@panzi对于错误修复,需要合适的GUI和构建脚本。也可以@mjrthemes用于错误修复,以及@LendoK对于2.80端口