この記事では、Unity上で棒でボールを打つClusterワールドを作成する。Clusterワールドに必須の3要素のみ存在するプレーンワールドを作成した後、そのワールドにボールと棒のオブジェクトを作成。オブジェクトにScriptでそれぞれの機能を追加。ワールドを再生。棒がボールに当たるとボールは転がった。
Cluster用のプレーンワールドを作成
Unity上でボールと棒が設置されたワールドを作成するために、まずはClusterに必要な3要素があるだけのプレーンのワールドを作成する。
UnityHubを起動して、ClusterCreatorKitTemplate-masterを開始する。
以前に作成したオブジェクトが設置されているだけのワールドが表示された。
![](https://nahbun50.com/wp-content/uploads/2023/04/795316b92fc766b0181f6fef074f03fa-4-800x440.png)
ワールドをプレーン(無)にしたいので、現在設置されているトロフィー(の親オブジェクト)を選択。右クリックメニューから「Delete」クリックして削除する。
![](https://nahbun50.com/wp-content/uploads/2023/04/2b530e80c7d0de90885e285c5d798063-4-800x404.png)
これで、必要3要素だけのワールド(プレーンワールド)になったので、今後のために保存しておく。
上部メニューから「File」→「Save As」をクリック。
ファイル名(plane)を入力して[保存]ボタンをクリック。
これから作っていくNewWorldは、このファイル(plane)から作成していくと簡単なのかも。
![](https://nahbun50.com/wp-content/uploads/2023/04/c8856789ec11ab8b1013037cef6929f9-4-800x525.png)
いよいよ今回のワールドを作成する。
![](https://nahbun50.com/wp-content/uploads/2023/04/3a4f695a458cb0ac0aceaa2eb13ac2dd-5-500x370.png)
ボール作成
はじめに“ボール”を設置する。
上部メニューから「GameObject」→「3D Object」→「Sphere」をクリック。
![](https://nahbun50.com/wp-content/uploads/2023/04/f96d9b4281f6d16b3c7589aed5a17be5-4-500x333.png)
Hierarchyビューに“Sphere”が、Sceneビューにオブジェクトが追加された。
![](https://nahbun50.com/wp-content/uploads/2023/04/94ed160662be198949535a112047e9b4-5-800x411.png)
Inspectorビューはこんな感じ。
![](https://nahbun50.com/wp-content/uploads/2023/04/f4a1b0aed5dc02442c433030ff24c031-4-800x489.png)
オブジェクトの名称を“ball”に変更。
ボール位置変更
ボールの位置が床よりも下にあるようで見えない。
InspectorのPositionを変更すると見えるようになった。
![](https://nahbun50.com/wp-content/uploads/2023/04/8aa09ea6d7822fbb10331635d428d488-4-800x391.png)
サイズ変更
大きさを縮小(Scale値を減少)した。
![](https://nahbun50.com/wp-content/uploads/2023/04/f36fc0458607842cbf0775516687491b-3-800x394.png)
マテリアル設定
以前に作成した青色マテリアルをProjectビューから、Sceneビューのオブジェクト上にドラッグ&ドロップするとInspectorビューにマテリアルが追加されて、オブジェクトも着色された。
![](https://nahbun50.com/wp-content/uploads/2023/04/e99cc3808964d9e08ec8fb27d43842de-3-800x461.png)
Planeワールドとは別のものとするために、ここで一度このワールドを保存。
上部メニューの「File」→「Save As」クリック。
ファイル名を“ball and bar”と入力して[保存]ボタンをクリックして保存した。
![](https://nahbun50.com/wp-content/uploads/2023/04/b1db37a1df6c6332fc8bdf704e9d1e49-4-800x324.png)
棒を追加
続いて“棒”をワールドに設置する。
上部メニューから「GameObject」→「3D Object」→「Cylinder」をクリック。
![](https://nahbun50.com/wp-content/uploads/2023/04/1249f2682be7181f6a6266c99ee5cae6-3-500x299.png)
Hierarchyビューに“Cylinder”、Sceneビューにはオブジェクトが追加された。
![](https://nahbun50.com/wp-content/uploads/2023/04/ad328257df3c27d0237be29c2f1fd87c-3-800x385.png)
Inspectorビューはこんな感じ
![](https://nahbun50.com/wp-content/uploads/2023/04/90b0dfa136419ccc91fda6fec27764ca-3-800x516.png)
棒の位置・サイズ変更
ボールと同様に棒も床下に隠されており見えない。
オブジェクト名を“bar”に変更し、InspectorのPositionとScaleを変更。
![](https://nahbun50.com/wp-content/uploads/2023/04/571a82aa9fa95e9dd03f724dc3a94890-3-800x463.png)
マテリアル設定
こちらは茶色のマテリアルをドラッグ&ドロップして着色した。
![](https://nahbun50.com/wp-content/uploads/2023/04/1229c317e01c766a53c2709efe066b18-3-800x558.png)
更にスケール調節
Scaleを再調節して長細い形状にした。
![](https://nahbun50.com/wp-content/uploads/2023/04/085f435ecdb57e7076774ccbc381f72e-3-500x285.png)
ボールに動かせる機能、棒に持てる機能を設定
必要なオブジェクトは設置できたので、これらに機能を設定していく。
ボールに動かせる機能設定
ボールオブジェクトを選択して、Inspectorの[Add Component]ボタンをクリック。
検索バーから「Movable Item」スクリプトを選択して設定する。
![](https://nahbun50.com/wp-content/uploads/2023/04/88ed93005e0cb97394dcb2f41037a9e6-2-800x332.png)
ボールオブジェクトのInspectorに、“Item(Script)”、“Rigidbody”、“Movable Item(Script)”が追加された。
このスクリプトの意味は、ボールを、動かせる・重さのある・実体にする、ということ。
![](https://nahbun50.com/wp-content/uploads/2023/04/485aac62cea3d548d1555ce3bfa037e6-2-800x375.png)
棒に持てる機能を設定
次は棒に機能を設定する。
“bar”を選択、Inspectorビューで[Add Component]ボタンをクリック。
検索バーで“Grabbable Item”を選択して、設定する。
![](https://nahbun50.com/wp-content/uploads/2023/04/aeb80bad1055d60bd4b8dc8204f77f1c-2-800x344.png)
Inspecorビューで、“Item(Script)”、“Rigidbody”、“Movable Item(Script)”、“Grabbable Item(Script)”が追加されている。
これらのスクリプトにより、棒は、動かせる・持てる・重さのある・実体となった。
![](https://nahbun50.com/wp-content/uploads/2023/04/51e8fc29fa61692e70bc4c925b602ad0-2-800x464.png)
ワールド再生してオブジェクトの挙動を確認
画面上部中央の[▶](再生)ボタンでGameビュー開始。
![](https://nahbun50.com/wp-content/uploads/2023/04/4b820548ffdca22d08fbb3ba51ee22f3-2-500x334.png)
ボールと棒のあるワールドが表示された。
![](https://nahbun50.com/wp-content/uploads/2023/04/92d57db0790a5fa5b8a0cc20858a9366-2-500x292.png)
棒に近づくと棒が青く縁どられる。
左クリックで棒をもつ。
[Q]ボタンを押すと棒が離されて倒れる。
倒れた棒が転がってボールに当たると、ボールも共に転がっていった。
予定通り、衝突で動かせている!
![](https://nahbun50.com/wp-content/uploads/2023/04/c2dda1d20b57ad8d0298a15686591503-2-500x299.png)
棒でボールを打ってみる
今度は棒を持って、下を向いて、棒の先でボールを突くと、ボールは転がって行って、床の端から落ちた。
![](https://nahbun50.com/wp-content/uploads/2023/04/2daf4508ecfda0c22097a042b7d1c1b4-2-500x518.png)
違う角度からも確認。ボールを突くと、ボールは転がって床から落ちた。
もう一度[▶]ボタンを押して、Gameビュー停止してSceneビューに戻る。
![](https://nahbun50.com/wp-content/uploads/2023/04/2f18037bd1f8ce03c181f385b76816e3-2-500x509.png)
棒が縦にあると持ちにくかったので、“bar”のRotationを変更して、横向きに設置した。
![](https://nahbun50.com/wp-content/uploads/2023/04/43814141cb3a5bcf3e479e89303d3de2-2-800x305.png)
もう一度[▶]ボタンでGameビュー開始して、棒とボールの挙動を確認。大丈夫。
![](https://nahbun50.com/wp-content/uploads/2023/04/619338d8eae13903374c3d959b4532ea-1-500x307.png)
ワールド完成。
ワールドアップロード用画像作成
次回のワールドアップロード登録用に、アイキャッチ画像を作成してデスクトップに置いておく。
![](https://nahbun50.com/wp-content/uploads/2023/04/5524848c92466b4f89ec7329440bb253-2-300x194.png)
Unityでのワールドは完成したので、今回は終了。
設置したボールと棒の両方に、予定していた物理法則は設定できているはず。
次回はこのワールドをアップロードして、MetaQuest2での挙動を確認する。