利用 Unity 场景编辑功能构建仿真环境
Unityの検証での活用について
Unityのシーン編集機能を活用したシミュレーション環境の構築
1. はじめに
Unityでは、3Dモデルをシーン上に配置し、位置・回転・寸法を調整することで、設備レイアウトを構築できる。
本記事では、Unityのシーン編集機能を使用して、シミュレーション用の設備環境を作成する基本操作を解説する。
主に以下の機能を扱う。
- Sceneビューの操作
- オブジェクトの移動・回転・拡大縮小
- ショートカットキー
- 頂点スナップ
- グリッドスナップ
- オブジェクトの複製
- 視点切り替え
- アセット検索
- Colliderの設定
- ライティングの調整
※本記事はUnity 2018の講演資料を参考にしている。Unity 6では一部のメニュー名や画面構成が異なる場合がある。
2. Unityの基本画面
Unityのエディターには、主に以下のウィンドウがある。
| ウィンドウ | 役割 |
|---|---|
| Scene | 3D空間を編集する |
| Game | カメラから見た実行画面 |
| Hierarchy | シーン内のオブジェクト一覧 |
| Inspector | 選択したオブジェクトの設定 |
| Project | モデル・マテリアルなどの管理 |
| Console | エラーやログの確認 |
2.1 Sceneビューの表示
- Unityでプロジェクトを開く。
- 上部の「Scene」タブをクリックする。
- Sceneビュー内でマウスを操作する。
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 | View Tool |
| W | Move Tool |
| E | Rotate Tool |
| R | Scale Tool |
| T | Rect Tool |
| Y | Transform Tool |
| F | 選択物に注目 |
| Ctrl + D | 複製 |
| Delete | 削除 |
| 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で入力する。
例:
Rotation
- X = 0
- Y = 90
- Z = 0
4.5 拡大縮小
- オブジェクトを選択する。
- Rキーを押す。
- 各軸のハンドルをドラッグする。
Cubeの初期寸法は1m四方である。
例えば床を作成する場合:
Scale
- X = 20
- Y = 0.2
- Z = 20
これにより20m×20mの床を作成できる。
5. Transformの操作
5.1 Transformとは
Transformは、オブジェクトの位置・回転・拡大縮小を管理するコンポーネントである。
| 項目 | 内容 |
|---|---|
| Position | 位置 |
| Rotation | 回転 |
| Scale | 拡大縮小 |
5.2 Transformのリセット
- オブジェクトを選択する。
- Inspectorを開く。
- Transformコンポーネントのメニューを開く。
- 「Reset」を選択する。
初期値:
Position = (0, 0, 0)
Rotation = (0, 0, 0)
Scale = (1, 1, 1)
CADモデルを配置する際、意図しない座標や回転を確認するために使用する。
6. PivotとCenter
Unityでは、オブジェクトを操作する基準点を切り替えられる。
6.1 Pivot
オブジェクト自身の基準点を使用する。
用途:
- ロボット関節の回転
- 回転軸の確認
- 設備モデルの位置調整
6.2 Center
選択オブジェクトの表示上の中心を基準に操作する。
用途:
- 複数設備の一括移動
- 複数オブジェクトの配置調整
6.3 切り替え方法
- Sceneビュー上部のツールバーを確認する。
- 「Pivot / Center」の切り替えを探す。
- 使用するモードを選択する。
ロボットの関節位置を確認する場合はPivotを使用する。
7. LocalとGlobal
7.1 Global
ワールド座標を基準に移動・回転する。
設備レイアウトの位置合わせに適している。
7.2 Local
オブジェクト自身の軸を基準に操作する。
回転した設備やロボット部品を調整する際に使用する。
7.3 切り替え
Sceneビュー上部の「Local / Global」を切り替える。
例:
90度回転した設備を自身の前方向へ移動する場合、Localを使用すると操作しやすい。
8. 頂点スナップ
頂点スナップは、モデルの頂点同士を一致させる機能である。
設備の位置合わせに利用できる。
8.1 操作手順
- 移動対象のオブジェクトを選択する。
- WキーでMove Toolに切り替える。
- Vキーを押し続ける。
- 移動元の頂点付近をドラッグする。
- 移動先の頂点に合わせる。
- マウスボタンを離す。
- Vキーを離す。
8.2 使用例
- 設備架台と床の位置合わせ
- 複数の壁の接続
- 搬送装置の位置合わせ
- 仮設備モデルの整列
9. グリッドスナップ
一定間隔でオブジェクトを配置する機能である。
9.1 操作方法
- Sceneビューを開く。
- Grid and Snapの設定を開く。
- 移動単位を設定する。
- オブジェクトを選択する。
- Ctrlキーを押しながら移動する。
例:
Moveのスナップ値を1にすると、1m単位での移動が可能になる。
※スナップ設定と動作はUnityのバージョンによって異なる場合がある。
9.2 用途
- 柱の等間隔配置
- 安全柵の配置
- 設備の整列
- 通路幅の調整
10. オブジェクトの複製
10.1 基本操作
- 複製するオブジェクトを選択する。
- Ctrl + Dを押す。
- 同じ位置に複製される。
- Wキーで移動する。
10.2 設備の等間隔配置
例:
安全柵を2m間隔で配置する。
- 最初の安全柵を作成する。
- Ctrl + Dで複製する。
- Position Xを2m増加させる。
- 再度複製する。
- 同様に位置を調整する。
11. 上面図・側面図の使用
11.1 Scene Gizmo
Sceneビュー右上にある座標軸表示を使用する。
各軸をクリックすると、視点を切り替えられる。
- Top:上面
- Front:正面
- Right:右側面
11.2 平行投影
Scene Gizmoの中央部分をクリックすると、PerspectiveとOrthographicを切り替えられる。
Orthographicでは遠近による見かけの縮小がなくなる。
設備レイアウトを図面に近い感覚で確認できる。
12. 複数オブジェクトの選択
12.1 Ctrlによる選択
Ctrlを押しながらHierarchy内のオブジェクトをクリックすると、複数選択できる。
12.2 Shiftによる範囲選択
Shiftを使用すると、Hierarchy内で連続するオブジェクトを範囲選択できる。
12.3 一括移動
- 複数オブジェクトを選択する。
- Wキーを押す。
- 移動ハンドルをドラッグする。
設備群をまとめて移動する際に利用する。
13. オブジェクトの親子関係
13.1 親子関係の作成
- Hierarchyで子にするオブジェクトを選択する。
- 親にするオブジェクトへドラッグする。
- 親オブジェクトの下に配置される。
例:
Robot
- Base
- Joint1
- Joint2
- Joint3
- Joint2
- Joint1
13.2 親子関係の特徴
親オブジェクトを移動すると、子オブジェクトも追従する。
ロボットの関節構造を作成する場合に重要である。
ただし、関節の回転軸が正しく設定されていなければ、期待する回転動作にはならない。
14. アセット検索
14.1 Projectウィンドウで検索
- Projectウィンドウを開く。
- 検索欄に名前を入力する。
- 該当するアセットを表示する。
例:
Robot
Conveyor
Material
14.2 種類による検索
Unityの検索フィルターを使用すると、アセットの種類を指定できる。
例:
t:Material
マテリアルを検索する。
t:Prefab
Prefabを検索する。
t:Model
モデルアセットを検索する。
14.3 ラベルの使用
アセットにラベルを設定すると、設備の種類や用途で分類できる。
例:
- Robot
- Conveyor
- Fixture
- Simulation
ラベル検索では「l:ラベル名」を使用する。
15. Colliderの設定
Colliderは物体同士の接触判定に使用する。
15.1 Box Colliderの追加
- オブジェクトを選択する。
- Inspectorを開く。
- 「Add Component」をクリックする。
- 「Box Collider」を検索する。
- 追加する。
15.2 Colliderの調整
Box Colliderの以下の項目を調整する。
- Center
- Size
- Is Trigger
15.3 用途
- 床との接触判定
- 設備への接触判定
- ロボットの干渉確認
- 作業領域への進入検知
※Colliderだけでは干渉検知機能は完成しない。必要に応じてRigidbodyやC#による判定処理を組み合わせる。
16. ライティング
16.1 Lightの作成
- Hierarchy内で右クリックする。
- 「Light」を選択する。
- 必要なライトを追加する。
主なライト:
- Directional Light
- Point Light
- Spot Light
16.2 Point Light
設備周辺の局所的な照明に使用する。
設定項目:
- Color
- Intensity
- Range
- Shadows
16.3 Reflection Probe
反射表現を補助する機能である。
追加方法:
- Hierarchy内で右クリックする。
- 「Light」から「Reflection Probe」を選択する。
- 反射を適用する領域を調整する。
※Unityのレンダーパイプラインによって設定項目が異なる。
17. ロボットシミュレーション環境への応用
ここまでの操作を組み合わせ、簡易設備レイアウトを構築する。
17.1 床の作成
- Cubeを生成する。
- 名前をFloorに変更する。
- Scaleを設定する。
X = 20
Y = 0.2
Z = 20
- Position Yを-0.1に設定する。
17.2 設備の仮配置
- Cubeを生成する。
- 設備の外形寸法を設定する。
- Positionを入力する。
- 必要に応じて複製する。
17.3 CADモデルへの置き換え
- FBXモデルをAssetsへインポートする。
- Sceneビューへ配置する。
- 仮モデルの座標を確認する。
- CADモデルを同じ位置に配置する。
- 寸法と軸方向を確認する。
17.4 ロボットの配置
- ロボットモデルをSceneへ配置する。
- Hierarchyで親子関係を確認する。
- Pivotを確認する。
- 関節ごとの回転方向を確認する。
17.5 動作確認
- 設備配置を確認する。
- ロボットの位置を確認する。
- 必要な制御スクリプトを設定する。
- Playボタンを押す。
- 動作結果を確認する。
18. ショートカット一覧
| キー | 機能 |
|---|---|
| Q | View Tool |
| W | Move Tool |
| E | Rotate Tool |
| R | Scale Tool |
| T | Rect Tool |
| Y | Transform Tool |
| 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