做数字孪生需要自建3D模型?搞懂Blender建模要点,看懂这篇文章就够了!

发布时间 2023-09-27 14:26:38作者: 山海鲸可视化

1. Blender的基础介绍

关于城市大师的建模软件,一般推荐使用Blender。一是因为Blender是开源免费的,不会有经济负担,二是因为我们软件有针对Blender的插件,对其进行了一定程度上的补充。

【温馨提示】如果使用的是3Dmax或者maya进行建模,建议是先将文件导出成“FBX文件”,然后将该文件导入到Blender,再导出成“GLB”或者“GLF”格式文件。

Blender 界面布局,如下图所示:

 

1.1 GLTF支持的材质选项

山海鲸软件本身并不是直接跟Blender进行交互的,是通过Blender导出GLTF文件的形式进行交互的。那么Blender导出GLTF所支持的设置就是软件所支持的设置,所以推荐去搜索一下Blender的GLTF文档,会有详细的介绍。本教程主要讲原理化BSDF(Principle BSDF)节点所支持的设置。

1.1.1 基础色

基础色是可以直接被导出的,一般是色值或者贴图,也可以在软件内直接修改。

Blender 基础色,如下图所示:

 

 

Blender 基础色UV偏移设置,如下图所示:

 

 

山海鲸城市大师 模型材质基础色设置,如下图所示:

 

1.1.2 金属度/粗糙度

金属度和粗糙度是不能连接两张贴图的。金属度和粗糙度贴图要用一张图来表示,而这张图本身一定要使用分离RGB节点来连接。将贴图与分离RGB进行连接,然后“B通道”连接金属度,“G通道”连接糙度,色彩空间选择“Non-Coler”

Blender 分离RGB连接设置,如下图所示:

 

 

如果不连接贴图,也可以通过直接拖动金属度和粗糙度来修改数值。

Blender 金属度数值拖动,如下图所示:

 

【温馨提示】对于PVR材质来说,金属度就是一个开关,所以要么是“0”要么是“1”,不要调整到中间值。中间值一般来说是用来抗锯齿的。

Blender 糙度数值拖动,如下图所示:

 

 

【温馨提示】糙度的值会影响软件内SSR开关的开启,当值为“1”不会开启该功能,低于“1”的时候,软件会开启SSR功能。建议路面、墙面等设置成“1”,因为刚创建的时候默认值是“0.5”,需要手动修改一下。

1.1.3 自发光

自发光也是可以修改色值添加贴图的。Blender中看到的自发光与山海鲸软件内是不一样的。Blender自发光的色值会和基础色的色值进行混合,但是如果自发光强度是100%的情况下,软件内会完全显示自发光的颜色。

Blender 自发光色值,如下图所示:

 

 

【温馨提示】自发光强度会沉在自发光颜色或贴图上,所以自发光强度本身是不会被导出的。自发光强度过高时,遇到相对较亮的贴图时可能会出现颜色的色值丢失的情况。

1.1.4 alpha

推荐直接使用贴图上的alpha通道,贴图是透明的时候可以直接将贴图的alpha连接到alpha。如果是单独的黑白图,将其颜色连接到alpha即可。

Blender 贴图alpha连接,如下图所示:

 

1.1.5 法线

法向一般来说都是贴图,把贴图节点NormalMap节点原理化BSDF节点相连接即可,默认可以在NormalMap里设置颜色。

Blender NormalMap颜色设置,如下图所示:

 

1.1.6 AO

AO的输出节点名字不能乱,需要将复制的时候复制到的名字“gltfsetting.001”改成“gltfsettings”,否则会导致AO导出出错。

1.2 透明材质要点

只要不是非要透明的场合尽量用贴图的形式去代替透明。透明的设置必须在Blender右侧材质设置混合模式里选择alpha混合,导出之后才会显示透明。

Blender 混合模式设置,如下图所示:

 

 

Blender 混合模式效果展示,如下图所示:

 

【温馨提示】alpha钳制在深度通道上相对更加稳定,所以建议在能选择alpha钳制的情况下尽量选择alpha钳制。

1.3 背面剔除

背面剔除的意思就是模型的背面不会被渲染。遇到像道路模型就可以设置背面剔除,可以根据自己的诉求进行调整,一般来说所有的面向正面的(即看不到反面的模型)都建议勾选背面剔除。

 

2. 插件的安装和使用

山海鲸软件官网有Blender官方插件,可以进一步的加强导出设置,添加了插件之后可以设置Blender的导出不支持的视频材质UV动画和光照贴图节点,具体的安装方法请参考教程山海鲸Blender插件安装

山海鲸Blender插件 光照贴图节点,如下图所示:

3. 常见问题点

3.1 注意正反面

3.1.1 面朝向查看

需要注意面的正反面设置,朝向我们的一定是正面。可以在Blender的视图叠加层的界面进行查看。

Blender 查看面朝向,如下图所示:

3.1.2 解决步骤

选中面,然后按键盘Tab键进入面的编辑,选中其中的一个面,再在选择里设置法向,就能选中全部朝上的法向了。选中之后,在网格设置里选择法向的反转,即可将整个被选中的法向进行翻转。

Blender 面朝向选择,如下图所示:

Blender 法向翻转,如下图所示:

 

3.2 注意UV展开

在城市大师组件中如果某个面显示有很多黑点,说明该面没有设置UV展开。

3.2.1 UV展开查看

首先按Tab键,然后选择面,在UV面板中找到面所在的位置进行确认。如果面上所有的点都集中在一个点上,代表没有设置UV展开。

Blender 查看UV展开,如下图所示:

 

3.2.2 解决步骤

切换到主视图,选择所有的面按U键,即从当前视角投影的方式进行展开。

Blender UV展开,如下图所示:

 

3.3 注意应用变换

当我们创建一个模型并对其表面进行一些UV、法线贴图后,由于缩放会影响整个网格的呈现,直接导出时会产生各种问题。所以建议在导出模型之前,要应用旋转+缩放

Blender 模型未应用效果,如下图所示:

 

通过Ctrl+A键打开应用面板,选择应用“旋转+缩放”,就可以看到变换界面的旋转和缩放的数值发生了改变。

Blender 模型应用变换,如下图所示:

3.4 注意是否有顶点颜色

顶点颜色是会影响模型在软件中的显示的,当下载的模型导入到山海鲸软件中出现颜色不一的情况时,可以选择删除顶点色

Blender 顶点色,如下图所示:

 

4. 常见优化

4.1 尽量用关联复制

复制模型时尽量使用关联复制。即用“Alt+D键”来复制,而不是“Shift+D键”进行复制。用“Alt+D键”复制出来的模型在点击“Tab”进入编辑时生成的模型与模型本身都会进入编辑状态,而用“Shift+D键”复制出来的模型在点击“Tab”进入编辑时只有生成的模型会进入编辑状态,模型本身并不会进入编辑状态。

Blender Alt+D键关联复制,如下图所示:

 

 

Blender Shift+D键复制,如下图所示:

 

4.2 尽量减少模型数量

当白模过多时会影响加载和渲染的速度,所以需要全选模型后,“Ctrl+J键”将模型整合在一起,尽量减少模型的数量,可以减少卡顿问题的出现。

4.3 尽量减少材质数量

由于不同的材质是分开导出的,所以同一模型中的材质依然会被绘制多次。建议是尽量将材质也进行合并。材质合并有很多方式,后期也会推出专门的材质合并工具,这边建议是将多个材质组合成一张大的材质,通过UV的模式贴到模型的面上。

4.4 尽量减少模型面数

在网上找到一些大的模型或者从Beam里导出一些大的模型时,过多的面会对实时渲染造成很大的压力,所以就需要进行一些减面操作。通常减面操作是在添加修改器中选择“精简”,通过修改屏幕的角度勾选UV来减少模型的面数,同时也不会影响模型的整体外观。

Blender 减面操作,如下图所示:

【温馨提示】在减面操作时候一定要“Ctrl+A键”将修改器进行应用,否则不会产生效果。

4.5 尽量减小材质的大小

材质的贴图过大会加载的很慢且占用很多的显存,所以在添加贴图的时候注意贴图的大小

5. 视频教程

请参看山海鲸可视化“城市大师组件-Blender使用教程”视频教程:https://www.bilibili.com/video/BV1224y1y7gf/