[VRChat] VRC_Pickupをつかって掴めるオブジェクトをつくる
こんにちは!
ぷもんです。
・今回やること
VRChatのワールド内で掴めるオブジェクトを作りたいです。
Cubeでもいいのですがそれだと面白くないので、ARCHICADでつくったモデルを小さくした模型のようなものを掴めるようにします。
・事前準備
事前準備として新しいプロジェクトを作り、VRChat SDKをインポートし、VRCWorldをHierarchyへ配置しました。
これらのやり方はこちら↓で詳しく書いたので割愛します。
こちら↑のnoteはVRChatのワールドづくりに必要なもの、ワールドの作り方の基本について書いています。とりあえずワールドをつくってみたい!という方は参考になると思うので覗いてみてください。
・Planeで床をつくる
まずは、アバターが建てる場所を作るためにPlaneで床をつくります。
画面左のHierarchy上で右クリック→3DObject→Planeをクリックします。
これで1番簡単なワールドが出来上がりました。
ここに掴めるオブジェクトを追加していきます。
まずは、Cubeでやってみます!
・Cubeを追加
画面左のHierarchy上で右クリック→3DObject→Cubeをクリックします。
そのままでは大きいのでScaleを0.1にして、Positionのyの値を1にしておきます。
Cubeのサイズは好みなので大きくしたい人はScaleの値を大きくすると良いです。
Positionのyの値はPlaneより低い位置にあるとそのまま落ちて、ワールドに入っても見あたらない状態になるので注意です。
・CubeにVRC_Pickupを追加
掴めるオブジェクトにするにはVRC_Pickupというコンポーネントを追加しなければなりません。
画面右のInspectorのAdd Componentをクリックし
pickと入力するとVRC_Pickupというものが出てきます。
クリックしてVRC_PickupとRigidbodyが画面右のInspectorに追加されていればOKです。
Rigidbodyは重力など物理的な運動を制御するものです。
これでワールドをアップロードすればつかめるCubeをワールドに置くことができます。
アップロードの仕方についてはARCHICADでつくったモデルをVRChatのワールドとしてアップロードでまとめたので参考にしてください。
・ARCHICADのモデルにしてみると?
Cubeの代わりにARCHICADのモデルにしてみます。
ARCHICADでつくったモデルをVRChatのワールドとしてアップロードのワールドとしても利用したモデルを縮小したものを掴めるようにしたいと思います。
画面左下のAssetを右クリックしてImport New Asset...をクリックして使いたいモデルを選択しインポートします。
インポートしたモデルをHierarchyへドラッグします。
そのままではサイズが大きかったのでscaleを0.05にして持てる大きさにしました。
さらに、先ほどと同じようにVRC_Pickupのコンポーネントを追加します。
これでモデルをつかめるはず!と思い、ワールドをアップしてみたのですが追加したはずの家のモデルがなくなっていました。
・Box Colliderを追加
うまくつかめているCubeと比べてみると、Box ColliderがついていなかったのでAdd Componentで検索して追加するとうまくいきました。
Box Colliderは当たり判定のようなもので、Box ColliderがついていないモデルはPlaneにあたっても透過してRigidbodyがついている効果で重力に従って下に落ちていったと思われます。
最終的に出来上がったのはこんな感じ↓
大きい模型を持っている感じになっていい感じです。
TwitterでもVRChatや建築×テクノロジーについて
積極的にツイートしています。
興味のある方はぜひのぞいてみてください↓
最後まで読んでいただきありがとうございました。
ぷもんでした!