利用 Unity 场景编辑功能构建仿真环境
Unityの検証での活用について
利用Unity的场景编辑功能构建仿真环境
1. 前言
在Unity中,通过将3D模型放置在场景中并调整其位置、旋转和尺寸,可以构建设备布局。
本文介绍使用Unity的场景编辑功能创建仿真用设备环境的基本操作。
主要涉及以下功能。
- Scene视图的操作
- 对象的移动、旋转、缩放
- 快捷键
- 顶点吸附
- 网格吸附
- 对象复制
- 视角切换
- 资产搜索
- 碰撞体设置
- 灯光调整
※本文参考了Unity 2018的演讲资料。在Unity 6中,部分菜单名称和界面布局可能有所不同。
2. Unity的基本界面
Unity编辑器主要包含以下窗口。
| 窗口 | 役割 |
|---|---|
| 场景 | 编辑3D空间 |
| 游戏 | 从摄像机视角查看的运行画面 |
| 层级结构 | 场景中的对象列表 |
| 检查器 | 所选对象的设置 |
| 项目 | 模型、材质等的管理 |
| 控制台 | 错误和日志的确认 |
2.1 场景视图的显示
- 在 Unity 中打开项目。
- 点击顶部的“Scene”标签页。
- 在场景视图中操作鼠标。
场景视图是用于布置设备和调整尺寸的工作画面。
3. Scene 视图的视角操作
3.1 基本操作
| 操作 | 方法 |
|---|---|
| 视角旋转 | Alt + 左键拖动 |
| 视点的平行移动 | 中键拖动 |
| 放大・缩小 | 鼠标滚轮 |
| 聚焦选中对象 | F |
| 自由視点移動 | 右键拖拽 |
| 前進 | 右键 + W |
| 後退 | 右键 + S |
| 左移動 | 右按钮 + A |
| 右移動 | 右按钮 + D |
| 上昇 | 右按钮 + E |
| 下降 | 右按钮 + Q |
3.2 Flythrough模式
按住鼠标右键的同时使用WASD键,可以在3D空间中移动。
操作手順:
- 将光标移至Scene视图。
- 按住鼠标右键。
- 使用WASD键移动。
- 移动鼠标以改变视线方向。
- 松开右键结束操作。
配合Shift键可提高移动速度。
此功能在直观确认机器人设备的通道宽度和设备间距时非常有效。
4. 对象的基本操作
4.1 创建对象
以创建Cube为例。
- 在Hierarchy中的空白区域右键单击。
- 选择“3D Object”。
- 点击“Cube”。
- 在 Scene 视图中生成 Cube。
4.2 快捷键
| 密钥 | 操作 |
|---|---|
| Q | 查看工具 |
| W | 移动工具 |
| E | 旋转工具 |
| R | 缩放工具 |
| T | 矩形工具 |
| Y | 变换工具 |
| F | 聚焦于所选对象 |
| Ctrl + D | 複製 |
| 删除 | 削除 |
| Ctrl + Z | 撤销 |
| Ctrl + Y | 重做 |
※Windows环境为假设。
4.3 移動操作
- 选择Cube。
- 按下W键。
- 显示红、绿、蓝箭头。
- 拖动箭头进行移动。
轴的含义:
- X:左右
- Y:上下
- Z:前后
如需指定精确位置,请使用 Inspector 中的 Transform。
例:
Position
- X = 5
- Y = 0
- Z = 3
4.4 回転操作
- 选择对象。
- 按下E键。
- 拖动旋转环。
在Inspector中输入精确的角度。
例:
旋转
- X = 0
- Y = 90
- Z = 0
4.5 拡大縮小
- 选择对象。
- 按 R 键。
- 拖动各轴的句柄。
Cube 的初始尺寸为 1 米见方。
例如,在创建地板时:
Scale(缩放)
- X = 20
- Y = 0.2
- Z = 20
これにより、20m×20mの床を作成できる。
5. Transformの操作
5.1 Transformとは
Transformは、オブジェクトの位置・回転・拡大縮小を管理するコンポーネントである。
| 項目 | 内容 |
|---|---|
| Position | 位置 |
| 旋转 | 回転 |
| 缩放 | 拡大縮小 |
5.2 重置变换
- 选择对象。
- 打开检查器。
- 打开变换组件的菜单。
- 选择“Reset”。
初期値:
位置 = (0, 0, 0)
Rotation = (0, 0, 0)
Scale = (1, 1, 1)
配置 CAD 模型时,用于确认非预期的坐标或旋转。
6. Pivot与Center
在Unity中,可以切换用于操作对象的基准点。
6.1 轴心(Pivot)
使用对象自身的基准点。
用途:
- 机器人关节的旋转
- 确认旋转轴
- 设备模型的位置调整
6.2 中心
以选中对象的显示中心为基准进行操作。
用途:
- 批量移动多个设备
- 调整多个对象的位置
6.3 切换方法
- 查看 Scene 视图顶部的工具栏。
- 查找切换「Pivot / Center」的选项。
- 选择要使用的模式。
如果要确认机器人的关节位置,请使用 Pivot。
7. 本地与全局
7.1 全局
基于世界坐标系进行移动和旋转。
适合设备布局的对齐。
7.2 局部坐标系
以对象自身的轴为基准进行操作。
用于调整旋转后的设备或机器人部件。
7.3 切换
切换 Scene 视图顶部的“局部/全局”选项。
例:
当需要将旋转90度的设备沿其自身前方移动时,使用Local模式便于操作。
8. 顶点捕捉
顶点捕捉是一种将模型的顶点相互对齐的功能。
可用于设备的定位对齐。
8.1 操作手順
- 选择要移动的对象。
- 按W键切换到Move工具。
- 按住V键。
- 拖动源顶点附近。
- 对齐到目标顶点。
- 松开鼠标按钮。
- 松开V键。
8.2 使用例
- 设备底座与地面的对准
- 多个墙壁的连接
- 传送装置的校准
- 临时设备模型的排列
9. 网格捕捉
这是一种按固定间隔放置对象的功能。
9.1 操作方法
- 打开 Scene 视图。
- 打开“网格与吸附”设置。
- 设置移动单位。
- 选择对象。
- 按住Ctrl键的同时进行移动。
例:
将Move的吸附值设为1,即可实现以1米为单位的移动。
※吸附设置及操作可能因Unity版本不同而有所差异。
9.2 用途
- 柱的等间距布置
- 安全护栏的布置
- 设备的排列
- 通道宽度的调整
10. 对象的复制
10.1 基本操作
- 选择要复制的对象。
- 按下 Ctrl + D。
- 复制到相同位置。
- 用 W 键移动。
10.2 设备的等间距布置
例:
以2m间距布置安全栅栏。
- 创建最初的安全栅栏。
- 按 Ctrl + D 复制。
- 将Position X增加2m。
- 再次复制。
- 同样调整位置。
11. 使用俯视图・侧视图
11.1 场景辅助图标
使用Scene视图右上角的坐标轴显示。
点击各轴即可切换视角。
- Top:上面
- Front:正面
- Right:右侧面
11.2 平行投影
点击 Scene Gizmo 的中央部分,即可在 Perspective 和 Orthographic 之间切换。
正交投影下,远近造成的视觉缩小效果会消失。
能够以接近图纸的直观方式确认设备布局。
12. 选择多个对象
12.1 使用 Ctrl 进行选择
在按住 Ctrl 键的同时点击层级结构(Hierarchy)中的对象,即可进行多选。
12.2 使用 Shift 进行范围选择
使用 Shift 可以在层次结构中连续选择对象。
12.3 一括移動
- 选择多个对象。
- 按下 W 键。
- 拖动移动手柄。
在整体移动设备组时使用。
13. 对象的父子关系
13.1 创建父子关系
- 在Hierarchy中选择要设为子对象的对象。
- 将其拖拽到要设为父对象的对象上。
- 该对象将放置在父对象下方。
例:
Robot
- Base
- Joint1
- Joint2
- Joint3
- Joint2
- Joint1
13.2 亲子关系的特征
移动父对象时,子对象也会随之跟随。
在构建机器人的关节结构时这一点非常重要。
但是,如果关节的旋转轴没有正确设置,则无法实现预期的旋转动作。
14. 资产搜索
14.1 在Project窗口中进行搜索
- 打开项目窗口。
- 在搜索栏中输入名称。
- 显示相应的资源。
例:
机器人
传送带
材料
14.2 按种类搜索
使用Unity的搜索过滤器可以指定资产的种类。
例:
t:Material
搜索材质。
t:Prefab
搜索预制体。
模型
搜索模型资产。
14.3 使用标签
为资产设置标签,可以按照设备类型或用途进行分类。
例:
- 机器人
- 传送带
- Fixture
- Simulation
在标签搜索中使用“l:标签名”。
15. Collider的设置
Collider用于物体之间的碰撞检测。
15.1 添加Box Collider
- 选择一个对象。
- 打开检查器。
- 点击「Add Component」。
- 搜索“Box Collider”。
- 追加。
15.2 Collider 的调整
调整Box Collider的以下项目。
- Center
- Size
- Is Trigger
15.3 用途
- 与地面的碰撞检测
- 与设备的碰撞检测
- 机器人干涉确认
- 进入作业区域检测
※仅使用Collider无法完成干涉检测功能。根据需要,请结合Rigidbody或C#进行判定处理。
16. 光照设置
16.1 创建Light
- 在Hierarchy中右键单击。
- 选择「Light」。
- 添加所需的灯光。
主要灯光:
- 方向光
- 点光源
- 聚光灯
16.2 点光源
用于设备周边的局部照明。
設定項目:
- 颜色
- 强度
- 范围
- 阴影
16.3 反射探针
这是一种用于辅助反射表现的功能。
追加方法:
- 在Hierarchy中右键单击。
- 从“Light”中选择“Reflection Probe”。
- 调整应用反射的区域。
※根据Unity的渲染管线,设置项会有所不同。
17. 在机器人仿真环境中的应用
组合到目前为止的操作,构建简易设备布局。
17.1 床的制作
- 生成Cube。
- 将名称改为Floor。
- 设置 Scale。
X = 20
Y = 0.2
Z = 20
- 将位置 Y 设置为 -0.1。
17.2 设备的临时布置
- 生成 Cube。
- 设置设备的外形尺寸。
- 输入Position。
- 根据需要复制。
17.3 替换为 CAD 模型
- 将FBX模型导入到Assets中。
- 配置到 Scene 视图中。
- 确认临时模型的坐标。
- 将 CAD 模型放置在相同位置。
- 确认尺寸和轴向。
17.4 机器人的配置
- 将机器人模型配置到Scene中。
- 在 Hierarchy 中确认父子关系。
- 确认枢轴。
- 确认每个关节的旋转方向。
17.5 動作確認
- 确认设备布局。
- 确认机器人的位置。
- 设置所需的控制脚本。
- 按下播放按钮。
- 确认操作结果。
18. 快捷键一览
| 按键 | 機能 |
|---|---|
| Q | 视图工具 |
| W | 移动工具 |
| E | 旋转工具 |
| R | 缩放工具 |
| T | 矩形工具 |
| Y | 变换工具 |
| F | 聚焦于所选对象 |
| Ctrl + D | 複製 |
| Ctrl + Z | 撤销 |
| Ctrl + Y | 重做 |
| Delete | 削除 |
| V + 拖拽 | 顶点吸附 |
| Ctrl + 移动 | 增量吸附 |
| Alt + 左键拖拽 | 視点回転 |
| 中键拖拽 | 視点移動 |
| 右键拖拽 | 自由視点 |
| 右键 + WASD | 視点移動 |
| 右键 + Q/E | 视角上下移动 |
| 右键 + Shift | 视角移动加速 |
※快捷键可能因Unity的设置或版本而有所不同。
19. 总结
使用Unity的场景编辑功能,无需借助外部建模工具即可进行设备的临时摆放和布局调整。
以下操作尤为重要:
- Scene视图中的视角操作
- 通过Transform调整位置、旋转和尺寸
- Pivot与Local/Global的切换
- 通过顶点吸附进行对齐
- 通过网格吸附实现等距排列
- 通过复制创建设备布局
- 通过父子关系管理机器人模型结构
掌握这些操作后,可以在导入CAD模型之前高效地进行设备布置方案探讨和仿真环境调整。
20. 参考資料
Unity Technologies Japan
「在Unity中制作关卡」(2018年)
Unity官方手册
来源:Qiita · Unity 开发社区 · qiita.com