实体建模:使用部件进行 3D 建模¶
Time:10 分钟
通过实体建模,开发者可以使用最为简单的部件(例如块状体、球体、楔状体及柱状体等)来创建十分复杂的游戏模型。对模型进行联合操作后,也可以大大减少游戏中的总部件数目,从而间接提升游戏性能。
建模操作¶
Union(联合)¶
Union(联合)为实体建模中的主要操作。选中希望组合的部件后,单击 Model(模型)选项卡中的 Union(联合)选项,即可执行这一操作。组合完毕的部件将被转化为名为 Union 的新部件。
联合只能用于基础部件(块状体、球体、楔状体及柱状体),且这些部件下不能含有任何子项(如脚本或表面 GUI 等)。当试图对拥有子项的部件进行结合时,其子项将会从 DataModel
中隐藏。
Negate(抵消)¶
实体建模的功能不仅是组合连接部件。通过 **Negate(抵消)**按钮可以将部件的一部分进行去除。若要使用该按钮,请选中一个部件,然后单击 **Model(模型)**选项卡中的 **Negate(抵消)**按钮。
此操作会将该部件转化为“抵消部件”(negative part),其外观将呈红色半透明状,以便区分。当使用联合工具组合抵消部件与正常部件时,抵消部件与正常部件重叠的部分将被切除。
注意:选中抵消部件后再次单击 **Negate(抵消)**即可回撤部件切除操作。
Separate(分离)¶
当希望对联合模型进行回撤(撤销操作)时,选中该模型并单击 **Separate(分离)**即可达到此目标。该操作将会分解已形成的联合,以便开发者对联合的大小和构造进行调整。
实体建模的限制¶
If a union operation would result in a part with more than 5000 triangles, it will fail and Studio will alert you to the error in the Output window.
A unioned or negated part can only be scaled uniformly (all of the dimensions must be scaled at the same proportion). If you need to change just one part in a solid model, separate the model, transform the specific part, and redo the union process.
模型属性¶
细节等级¶
默认情况下,不管实体建模部件离镜头有多远,都将始终以精确保真度显示。虽然此特性可以改善从任何距离观察时的部件外观,但当场景中具有大量高细节实体建模部件时,可能会降低整体articles/Improving Performance|游戏性能
。
若需要对实体建模部件的显示细节等级进行动态控制,请将其 enum/RenderFidelity|RenderFidelity
属性更改为 Automatic(自动)。此操作将导致部件根据其与镜头的距离以不同的细节等级进行渲染:
与镜头的距离 渲染保真度
低于 250 格 最高
250 至 500 格 中等
500 格或以上 最低
平滑操作¶
PartOperation/SmoothingAngle|SmoothingAngle
属性代表了实体建模部件上各面法线之间阈值的一个角度(单位为度)。当法线差异值小于此属性的值时将对相关法线进行调整,也就是对差异值进行平滑。通常来说,如果想要获取较好的结果,应当将此属性设为 30 至 70 度之间的一个值。将其设为 0 度时,模型边缘将会极为锐利;而将其设为 90 至 180 度时会在拥有锐利边缘的联合模型上产生一种“阴影”效果(虽然可以将属性设于此区间,但并不推荐其所产生的效果)。
SmoothingAngle : 0
SmoothingAngle : 50
注意:当法线拥有不同材质或颜色时,将不会受到表面平滑的影响。
***Roblox官方链接:实体建模:使用部件进行 3D 建模