#python

制作SendToUE程序化建筑:

1.设置batch export和SendToUE的参数,batch export勾选select obejct,SendToUE勾选build nanite 修改文件夹路径为建筑类别/建筑项目名/Meshes,勾选place in level、use mesh instances.在ue中创建这个文件夹,与Meshes平行的一级添加Textures和Materials文件夹,这便是SendToUE工作流的文件夹结构。若有su参考模型需要使用,先做清理工作,包含clean parent,clean object data关联关系,apply rotation scale,flip normal。

2.创建好几个不同大小的bevel collection,比如外部的窗户、一些装饰已有bevel归为一个无需bevel的collection;墙体、cornice用默认的1cm bevel;金属栏杆是0.3cm左右的bevel。这个步骤可能一上来无法完全确认做完一层归类一次collection?

3.建模开始前切分楼层注意始终保持一层为完整的地面到天花板,比如有些情况中,地面位于cornice的中段,则应该切分cornice而不是切分实际逻辑上的楼层而保持cornice的完整性,这样会使墙体、装饰部件、门窗框跟着一起切分从而使整个工作变得非常复杂。切分需要用ps或者微信截图切实画出来,以免后面思维混淆,尽管SendToUE工作流无需考虑房型之间的拼接,高度可以不用统一,但考虑到部件模块化复用,每一层通过duplicate master的array instance去向上叠加,因此还是需要有模块化的思维,尽量将各个部件模块化合并同类项。

阅读更多

地形:

在blender中用osm获得一个地形mesh,通过ue5.2插件mesh convert terrain在ue中创建landscape,转换world partition版本导出到5.3版本。地形方面的一致性通过选中landscape proxy在ue中导出fbx,再到blender中导入,其相对位置是一样的,然后找3个点放置模型观察两个软件中模型所处地形的相对位置,来确认贴图位置使blender和ue的地形位置一致。

道路建设:

frg对着贴图铺好车用道路后,convert mesh再用shrinkwrap的project模式,开启positive和negative,将车道吸附到地形上。

阅读更多

在完成模型制作后,对部件选中批量命名,然后data name from object使网格体名称能够规范化。在SendToUE的工作流中,网格体的名称是static mesh名称,物体名称是场景中的actor名称。对于同一网格体的部件会有多个instance对象,理想中的状况是选中其中一个instance对象烘焙而不需要所有的instance都拿去烘焙,我搜了很久并没有找到对若干包含多组instance的物体选中其中单个instance的办法。后来我想了个思路,既然有插件可以对instance操控必然是可以获取instance的,那么按照网格体分类获取其data name然后移动到各自的collection里面,再从collection着手选取其中一个对象,那么就能实现我的想法了。然而我对python几乎没什么印象了,更别说还要去啃blender python的api文档。抱着死马当活马医的态度,我试了下用kimi人工智能和chatgpt,居然在一番循序渐进的诱导下成功做出了这两段代码。

阅读更多

这是第一个仅通过参考图片来制作模块化建筑的项目,比起现成的项目有3d模型作为参考,在尺寸上完全不需要多考虑,部件切分方面由于不是正视图因此观察较为困难容易混淆。

阅读更多

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×