召喚成功!mechArm 270 M5 視点操作マスター(デスクトップ・MacBook別)
ついにUnityの世界に実体化した mechArm 270 M5。この相棒をあらゆる角度から観察するための視点操作を、環境別にまとめます。
※本プロジェクトの目的:実機「mechArm 270 M5」の制御を通じて、AIの判断をいかに物理的な動きへ変換するか。そのロボット制御の仕組みを理解するプロセスを記録・検証するものです。
視点操作ガイド:デスクトップ(マウス)編
マウスを使用する場合の直感的な操作方法です。
回転(Orbit): 右クリック + ドラッグ
ズーム(Zoom): マウスホイールの回転
平行移動(Pan): ホイール押し込み + ドラッグ
視点操作ガイド:MacBook(トラックパッド)編
MacBook単体でスマートに操作するための「Option」キー活用術です。
回転(Orbit):
Option (⌥)+ 1本指クリック + ドラッグズーム(Zoom): 2本指で上下にスクロール(またはピンチイン/アウト)
平行移動(Pan):
Option (⌥)+Command (⌘)+ クリック + ドラッグ
共通の魔法:フォーカス機能
操作中にロボットが画面外に消えて迷子になった時の救済策です。
手順: Hierarchyで
mecharm_270_m5を選択し、Sceneウィンドウ上でFキーを押す。効果: カメラが即座にロボットを中央に捉えます。
関節を動かす:Articulation Body の力
Unityにインポートされたロボットは、各パーツがArticulation Bodyというコンポーネントで繋がっています。これにより、物理演算に基づいたリアルな動きが可能になります。
ステップ1:関節(Joint)を見つける

Hierarchy ウィンドウで
firefighterの左側にある「▶︎」をクリックして階層を展開します。base➔link1➔link2... と辿っていくと、各関節のパーツが見つかります。
ステップ2:再生モードでテスト
Unityエディタ上部中央の 「再生(▶︎)」ボタン をクリックしてPlayモードに入ります。
Hierarchyから動かしたい
link(例:link1)を選択します。Inspector ウィンドウにある 「Articulation Body」 コンポーネントの
TargetやDriveの数値をマウスでスライドさせてみましょう。感動の瞬間: 画面内のロボットの腕が、あなたの操作に合わせてグニャリと動きます!
再生モードでテストしたらロボットが画面から消えました。
ロボットが消えてしまったのは驚きました。どうやらロボットは消滅したのではなく、「物理演算の影響で、カメラの外(ずっと下の方)へ飛んでいってしまった」状態みたいです。

Position(座標): Yが-10.3357になっています。本来 0 であるはずの場所から、地下深くへ落下しています。
Scale(大きさ): 全て31.6525になっています。本来の31倍以上に巨大化しており、カメラが追いつけていません。
ロボットを救い出し、固定する手順
以下の手順でロボットを元の位置に引き戻し、動かないように設定します。
魔法の「F」キーで居場所を突き止める
再生ボタン(▶︎)をもう一度押して、Playモードを一度停止します。停止すると座標などは一度リセットされます。
Hierarchyで
firefighterを選択した状態で、マウスカーソルを画面中央(Sceneビュー)に持っていき、キーボードのFを押してください。
これでロボットが画面中央にシュパッ!と戻ってきます。
重力の影響で落ちないようにする
ロボットが勝手に下に落ちてしまうのを防ぐため、Inspectorで設定を確認します。
firefighterの Inspector にあるUrdf Robot (Script)を見ます。Use Gravityが 「Disable」 になっていることを確認してください。
もしここが有効だと、ロボットは重力で無限に落下し続けます。
床(Plane)を設置する

ロボットが落下しないための足場を作ってあげると安定します。
Hierarchyの空いている場所を右クリックし、
3D Object➔Planeを作成します。これでロボットの足元に白い床ができ、物理的に支えられるようになります。
ロボットと床の「位置」と「サイズ」を完璧に整えましょう。

巨大化したロボットを元のサイズに戻す
まず、ロボットを現実的な大きさに戻します。
Hierarchyで
firefighterを選択します。InspectorのTransform ➔ Scaleの
X,Y,Zすべてを1に書き換えてください。同じくPositionの
X,Y,Zをすべて0にします。
床を正しい位置に配置する
次に、床をロボットの足元へ移動させます。
Hierarchyで
Planeを選択します。InspectorのTransform ➔ Positionを以下の数値に設定します。
X: 0
Y: 0 (もしロボットの底が少し埋まるなら、
-0.01くらいに下げると綺麗です)Z: 0
Scale は
X: 1, Y: 1, Z: 1のままで十分ですが、広くしたい場合は10, 1, 10くらいにしてもOKです。
床(Plane)の色を変える3ステップ

ロボットに床を設置しましたが、ロボットと床が同色で見づらい。見やすいように、床を濃いグレーに変えてみます。
新しいマテリアルを作る
画面下のProject(プロジェクト)ウィンドウの空いている場所(または
Materialsフォルダの中)で右クリックします。Create➔Materialを選択します。名前を
Floor_Colorなど分かりやすい名前に書き換えて Enter を押します。
色を選ぶ
今作った
Floor_Colorをクリックして選択します。画面右側のInspector(インスペクター) を見ると、Surface InputsまたはBase Map(またはAlbedo)の横に白い長方形(カラーボックス)があります。
その白いボックスをクリックして、好きな色(暗めのグレーなどがおすすめ)を選んで閉じます。
床に塗りつぶす
Projectウィンドウにある
Floor_Colorを、画面中央の「床(Plane)」に向かって直接ドラッグ&ドロップします。または、左側の Hierarchy にある
Planeという文字の上にドロップしてもOKです。
