VRChatチュートリアル No.2 物を拾ったり出したりしよう
お久しぶりです
もう3か月もたってたら前のチュートリアル読んでる人たちがワールド作りまくってそうですが一応続き書いておきます。 やるって宣言しちゃってたので。
前回は椅子と鏡を置いて終わりましたね
まず拾う(つかむ)ことが出来るものを作りましょう
上のツールバー→GameObject→3D Object→Cube を選んでキューブを出しましょう
そして名前とTransformを書き換える 今回は「拾える物」にするため「PickUp」という名前にした
そしてInspectorの一番下 Add Component(コンポーネント[処理や属性]を追加するという意味)をクリックして 検索欄にpickと入れると VRC_Pickupというのが出てくるのでクリックで選び付与する
Rigidbody[物理演算を行うコンポーネント]とVRC_PickUp(Script)[VRC上で拾えるようにするコンポーネント]が付いたと思います
何がどう拾えるのかを指定してあげなくてはなりません
Physical Root(物理親)を指定します
左側のHierarchyにあるPickUp(コンポーネントつけた箱)を右側InspectorのVRC_PickUpのPhysical Rootにドラッグ&ドロップする
これでVRC上で拾える箱が完成しました
ですがこのままの設定だと自分の判定と被りバグって飛んでったりするので、プレイヤーに判定が当たらないようにします。
Unityに戻って右上のLayerをDefaultからWalkThroughに変更します。 もしここでそんなレイヤーが無いよって人は上のツールバーからVRChat SDK → Show build control panel で出てきたウィンドウのSetupLayerで VRC用のレイヤーを自動で追加してくれます。 押しておきましょう
Setup layerを押すと次はCollision~~~が来る人と来ない人がいます。 来た場合は押してきましょう
レイヤーの準備が出来たらWalkThroughに変えます。
[WalkThrough]はプレイヤーがすり抜けるけど、それ以外は普通に演算するレイヤーです。
ちゃんとすり抜けています。 それ以外の掴むとか物理演算とかは働いてます。
拾えるオブジェクトはこのようにして配置します。
自分で作ったモデルとかでもHierarchyに配置してPickupコンポーネントつけて設定するのが基本となります。
次はボタンを押すと何か物が出てくるスイッチを作りましょう
何を出すかなんですけど、丁度今作りたてほやほやの物が目の前にあるので さっき作った拾える箱を出してみたいと思います
拾える箱を作った時と同じように箱を配置してTransformの数値を画像のようにします。
そして今度はPickupではなく[tigger]で検索して[VRC_trigger]をつけます
そしてAdvanced modeにチェックを入れCustomをOnInteractに変えてAddを押します
OnInteractというのがインタラクトした時 つまりクリックした時の処理 という意味です。
下の方にActionsがList is Emptyになっていると思います
これは触った時に起こるActionのリストです。
右下の+を押してBasic Event→SpawnObjectを追加します。
ここで一旦このSummon箱は置いておきます。
掴める箱の方に少し手を加えて ボタンから出せるようにします。
HierarchyのPickUpを下のプロジェクトファイルエリアにドラッグアンドドロップします。
そうすると下の欄にPickUpの箱が追加されます
これはPrefabと呼ばれる状態で、これをHierarchyの欄に投げるとPickUpの箱がセットアップされた状態で出てくると思います。
押すと物を出すボタンは、このPrefabを出現させる という構造なので、一度Prefabにする必要があったのです。
それではPrefabも出来たところでボタンに戻りましょう
ボタン側のSpawnObjectをクリックするとPrefabを入れる項目が出てきます。
ここにさっきのPickUpを入れましょう。
Prefabの〇をクリックして検索欄を出し、さっきのPickUpを探して選択します。
次に出現場所を設定します。
HierarchyのSummonを右クリック→Create Emptyで空のオブジェクトを追加します。
そしてその空オブジェクトのTransformを画像のようにします。
Yを-2にするだけです。
そしてボタンに戻って、Locationsの+を押して今作った空オブジェクトを登録。
見えづらいけど白い線が出ればOK
これで押すと物が出るボタンも完成しました
後は前回やったようにアップロードして終わりです。
押すと出て、掴むことができますね。
今回は以上です
次の更新は早めにしたいですね