原文发布时间:2012-07-09
文章来源:根据safe的视频培训整理
整理人:小新
原始数据:包含该建筑6层楼的平面图,每层楼的平面图为一个dwg文件,每个dwg文件中墙(wall)、窗户(windows)分层存储。
建模技术路线:读取每个dwg文件,分离每层楼的墙体(wall)和窗户(window),进行拉伸。然后对每层楼还需建立一个屋顶和屋底。然后进行材质贴图。
模版工作流程:
1、 每个底图的楼层数保存在文件名最末尾的数字中,因此需要暴露feature_base_name属性,同时为了后续分布对墙和窗的图层进行处理,还需要暴露feature_type属性。
2、 计算每面墙纹理在u/v方向贴纹理的次数
3、 根据feature_base_name属性提取每个要素所属的楼层数
4、 将每个要素在Z方向上平移到所在楼层(楼层高度单位50计算)
5、 将墙体和窗户进行拉伸(Extruder),拉伸的高度为楼层的高度。形成3D的墙和窗户。
6、 添加墙的纹理图片,根据计算的次数进行贴图
7、 对窗户添加纹理。
8、 建立每个楼层的底面和顶面
9、 输出保存
FME模版截图:
模型效果:
一共六层楼,我们还可以查看每层楼的效果:
总结:通过FME创建的三维模型,输出保存的时候主要以3D PDF格式为主,其他如3ds、direct X等格式在贴纹理的时候需要考虑面的法线方向,需要沿着法线正向进行纹理贴图,才能正确显示。我在尝试将这个模板生成的三维模型保存为3ds或direct X时,某些面的贴图总是反向,目前还没有找到合适的方法解决这个问题。如果做个这方面研究的朋友,欢迎交流。