共计 2095 个字符,预计需要花费 6 分钟才能阅读完成。
3d 模型能够为场景的仿真模仿带来真实感,它还有助于更轻松地辨认场景中的所有内容。例如,如果场景中的所有对象都是简略的形态,如立方体和圆形,则很难在仿真中辨别对象。
1,碰撞形态与视觉形态
像立方体和球体这样的简略形态,通常被称为“根本体”,通常用作碰撞块。与视觉网格相比,碰撞形态应用简化的几何体,因为它们在模仿中有不同的用处。
碰撞模型很重要,因为它们与物理环境相互作用,应用根本形态的计算开销更少。
视觉形态是具体的网格。制作这些形态的目标是为模仿场景带来真实感。这些形态在多边形中更密集,并且通常附有纹理。这些形态是相机传感器拾取的,也是观看者在观看仿真时看到的。
2,创立 3D 模型
Blender 有很多工具能够创立简略 / 简单的模型。创立简单对象的一个好办法是从简略的事物开始。在上面的示例中,咱们看到了一个从简略基元创立的简单模型。尽管这是一个很好的建模策略,但从简略的网格到简单的网格通常须要应用很多工具。
因为咱们应用了下面的车轮示例,所以我将应用该形态来实现我的建模工作流程。我还将解释我应用的一些工具和修改器。在开始本教程之前,倡议对 Blender 热键有一些根本理解。
3,创立 / 增加简略网格
咱们应用圆柱体网格用作这个建模的终点。
有建模对象的参考图像会有很大帮忙,咱们始终举荐这一点。大多数 3D 建模过程都应用挪动、旋转和缩放。这三个动作通常称为变换 Gizmo。
通常,将模型导入程序后呈现问题是因为与这些变换相干的简略谬误。这些问题相当广泛,但并不难解决。相应地更改其中一个属性并将其与更新一起导出能够解决大多数问题。
- 挪动 Gizmo:容许你更改对象沿 x、y、z 轴的地位,热键 G。
- 旋转 Gizmo:容许你沿 x、y、z 轴旋转对象方向,热键 R。这用于为轮子垂直旋转圆柱体。
- 缩放 Gizmo:容许你缩放对象。如果须要,还能够沿单个轴缩放对象,热键 S。
- 斜角:Bevel。容许你创立蜿蜒 / 倒角的边缘,这用于创立轮子的蜿蜒侧面。
- 挤出:Extrude。沿选定的面 / 边增加额定的几何体。挤出工具可用于推出面或推入面。此处给出了两个示例。
- 环切:Loop cut。容许你应用新的环状边缘宰割面。这样就能够对面部进行更具体的操作。联合应用挤出工具,你能够依据本人的形态制作小脊。
- 复制:Duplicate。容许你制作选定对象的雷同正本。
- 其余修改器:在建模过程中应用的其余一些命令是:晶格函数、布尔值、平滑、抽取等。
4,多边形数量 vs 性能
3D 模型由多边形组成,多边形越高,3D 模型就越具体。具备太多多边形的 3D 模型会使网格编辑过于简单,或者会使仿真模仿运行十分迟缓。这就是为什么优化形态很重要,这样它能够保留大部分细节,但又不会使多边形数量过高。
如果你发现 3D 模型过于密集而无奈应用。“抽取”命令(Decimate)可用于升高所述网格的多边形计数,同时仍放弃其个别形态。
创立简单模型须要很好地了解 3d 建模程序中的许多工具。它们都服务于特定的目标并且十分弱小,它们必须以不同的形式互相叠加应用能力取得最终后果,并且咱们增加 / 编辑的形态越多,从久远来看它看起来就越好。
5,导出模型
为 Gazebo 导出模型时,倡议应用 .dae (COLLADA) 文件类型。还反对 STL 和 OBJ 文件,但在导入到 Gazebo 时不太常见。
在点击导出后,将呈现“Blender 文件视图”。这是抉择文件地位的中央,你还能够抉择导出模型的形式。
仔细检查“global Orientation”能够节省时间,在这里你能够疾速将“Up Axis”更改为 Zup。这是 Gazebo 中的规范方向同样确保如果 3D 模型要搁置在高空上,请将原点放在底座上,并使模型面向 X(前向轴)。
6,故障排除
创立用于模仿仿真的 3d 形态时,须要思考一些事项。确保你的比例和方向设置为 Gazebo 规范,因为这样能够为你节俭大量工夫。
- 查看比例 / 地位:如果将导入的形态以谬误的单位导入 Gazebo,则它可能对于场景来说太大 / 太小,因而咱们须要确保建模单位与 Gazebo 中的单位是 1:1(Gazebo 应用米)。
同时,将要更改 Blender 中的单位以匹配 Gazebo,请转到“场景属性”,将“单位零碎”更改为公制并将“长度”更改为米。要更改网格大小,请转到“Show Overlays”并更改“Scale”量。
- 查看轴心 / 原点:导出 3D 模型时,通常最佳做法是确保模型位于栅格 (0,0,0),除非该模型是更大场景的一部分。
形态的轴心是形态挪动、旋转和缩放的终点。在导出之前,你不仅须要确保形态位于正确的地位,还须要确保轴心点也位于正确的地位。
简单的 3D 模型通常具备子 / 父关系。当 3D 模型的较小局部连贯到较大的局部时,具备不同的轴心点。
例如:本教程中应用的车轮是一个子形态。它会附加到汽车的车身。如图所示,轮子的枢轴点位于其中心轴上,但整个形态的个别枢轴将基于父形态附加在关节原点四周。当你导出到 Gazebo 时,请确保抉择了整个形态并且主体位于原点 (0,0,0),并且 X 轴朝前。
原文链接:https://gazebosim.org/api/gazebo/5.1/model_and_optimize_meshe…