Clusterワールド作成 Unity 椅子に座れるようにする方法!

目次

Clusterのワールド作成で、椅子に座れるようにしよう!

Cluster Creater Kitのインストールと、Collider(地面)Spawn Point、Despawn Heightの設定がまだの人はこちらの記事を先にご覧ください!

 

まず最初に、キューブに座れるようにしたいと思います。
ヒエラルキータブ下にあるから3Dオブジェクト > キューブを選択します

シーンにキューブが配置されました。

Unityのキューブの一辺は1mなので、椅子に座れるサイズに小さくします。

30cmくらいのキューブにしたいと思いますので
拡大/縮小のXYZを0.3にします。
拡大縮小のXの左どなりになる横長の円に斜めの斜線が入ったマークがあります。
これをクリックすると拡大縮小のXYZの欄の数字のどれかを0.3と打ち込むと3つとも同じ数字に変えることができます

 

キューブを選択し、インスペクターの、コンポーネントを追加から、Ridable Itemを追加します。

キューブにRidable Itemが追加されました。
キューブの中にグリーンのキューブが作られたことがわかります。
これで、プレイヤーはこのキューブに座ることができます。
ワールドをアップロードしてみましょう!

ワールドをアップロードしてキューブに座ってみました。
なんと、キューブに埋まってしまいました(笑)
Ridable Itemコンポーネントのグリーンのキューブの中心が、座る座標になっているようです。

これを解決するには、空のオブジェクトを追加します。
ヒエラルキーのキューブを選択し、マウスの右クリックをします。
空のオブジェクトを作成を選択します。

Cubeの先頭に▼ができました。
それを開くと、先ほど作った空のオブジェクト(GameObject)が作られています。
これは、Cubeが親で、GameObjectが子になっている状態です。
Cubeを移動したい時など、親のCubeを移動すると、子である、GameObjectも移動するので、こうしておくと、なにかと便利です。

GameObjectの名前を変更しておきましょう。
この空のオブジェクトは座面の高さに使うため、名前はSIt Positionにしておきます。

ヒエラルキーのCubeを選択してインスペクターのRidable Itemを見ます。
そこに、シートと書いている欄に、先ほど作った空のオブジェクトのSit Positionをマウスドラッグであてはめます。

Ridable ItemのシートにSit Positionをあてはめることができました。

ヒエラルキーのSit Positionを選択します。
そして、シーンの画面内の左上の縦長のツールがあります。
それを、上から2つ目の移動ツールにします。
緑の矢印のY軸をマウスでつかみ、少し上に移動します。
すると、インスペクターの位置のYの数値が増えてきます。

この数値をキューブの上面と、座った時のプレイヤーのお尻がちょうど接する数値を探します。キューブの上面とSit Positionの中心をくっつけてしまうと、座った時に、埋まってしまうので少しY軸を上げ気味にするのがコツです。

シーン内の右上のシーンギズモZ座標もしくはX座標をクリックして視点を真横にすると見やすいです。

さらに、ギズモの真ん中の四角をクリックすると遠近感がなくなる並行投影になります。
こうするとより、四角上面とSit Positionの中心の間隔がわかりやすくなります。
もう一度四角をクリックすると透視投影にもどります。

SIt Positionの位置は、Y軸(緑矢印)が0.7で、Z軸(青矢印)が0.1にしました。
この数値は大体の勘で決めました、数値はキューブの大きさなどによっても変わります。

ヒエラルキーのCubeを選択すると、シーンではこのように表示されます。
透明グリーンキューブの中心部分がSit Positionですね。この中心に座った時のプレイヤーの骨盤がくる感じでしょうか?

ワールドをアップロードしてキューブに座ってみました!
ちゃんと座ることができました。完璧な位置ですね!

Clusterの標準アバターである女の子に変更しても、ちゃんと座る位置が合っていると思います。

椅子オブジェクトに座らせたい

今度は、ちゃんとした椅子に座らせたいですよね!
Boothで無料のオブジェクトをダウンロードして、これに座らせてみましょう!

べるネ製作所様の【無料】ダイニングチェアを使わせていただきます。

ダウンロードしたFBXファイルをプロジェクトにドラッグします。

これでUnityにいれることができました。
ちなみに、ファイル名が長いとすべて表示されないので、右下のスライダーを左にすることでアイコンが小さくなり、ファイル名がすべて表示することができます。

プロジェクトに入っているChairをシーンにドラッグしてみましょう

地面に埋まってしまったら、Y軸をつかんで椅子の足裏と地面がちょうどくっつくぐらいまで上げます。

まず、この椅子が少し大きいので、小さくしたいと思います。

椅子を選択して、インスペクターの拡大縮小から下記画像の赤線部分の斜線の入っている横長の円をクリックします。

クリックすると斜線が無くなりました。

XYZのどれかひとつの数値を変更します。XYZのサイズを0.65に縮小しました。

椅子が小さくなりました。
緑のY軸を掴んで椅子の足を地面にくっつけます。

ヒエラルキーのChairを右クリックして3Dオブジェクト > キューブを選択します。

Chairの中にCubeが作られました。CubeがChairの子になりました。
シーンを見ると、椅子が隠れるぐらい大きなCubeができています。

シーン内の左上の縦長ツールの上から4つ目の拡大縮小ツールを選択します。
Cubeの真ん中にある小さい四角をマウスでつかみながらドラッグしてCubeを小さくします。下記画像のように、ちょうど椅子の座面の大きさくらいです。

今度は、上から2つ目の移動ツールに切り替えて緑のY軸をつかんでCubeを下げます。
Cubeの上面と椅子の座面がちょうど接するくらいがいいです。

次に、ヒエラルキーのCubeを選び、右クリックで空のオブジェクトを作成を選択します。

ヒエラルキーを見ると、Cubeの子に空のオブジェクトのGameObjectができているのがわかります。これが座る位置になります。

GameObjectの名前をSit Positionに変更しておきましょう!

次に、ヒエラルキーのCubeを選択します。
コンポーネントを作成からRidable Itemを追加します。

ヒエラルキーのCubeを選択したまま、インスペクターのRidabble Itemの中のシートSit Positionをあてはめます。

インスペクターのRidabble ItemのシートにSit Positionと表示されていればOKです。

Sit Positionの高さを合わせる

ヒエラルキーのSIt Positionを選択し、インスペクターのY 軸を0.65にしました。

 

これでアップロードしたいところですが、Cubeが表示されて、椅子が見えません。
Cubeを非表示にします。ヒエラルキーのCubeを選択し、インスペクターのMesh Rendererのチェックを外します

これで、Cubeを非表示にすことができました。
Cubeは、実際にはありますが、見えなくしただけです。

 

ワールドアップロードしました。
位置の加減は、いい感じではないでしょうか!

標準アバターでも座らせてみました。
うん!完璧です!

最後までご覧いただきありがとうございました!