LoginSignup
1
0

More than 3 years have passed since last update.

【VRChat】Pickupオブジェクトを整列させる、指定の場所へリスポーンさせる

Posted at

はじめに

すでにあるギミックですが理解したかったので自作しました。メモですが記事を残しておきます。
無駄や間違いが含まれている可能性がありますので、ご指摘いただけるとありがたいです。

https://youtu.be/EWNUUkKMZ0w?t=39
この動画の00:39あたりで使っているギミックです。

環境

unity: Unity 2018.4.20f1
VRCSDK2: 2021.02.23.11.41

使うもの

用意するもの

  • Pickupオブジェクト
  • ボタンオブジェクト

使うもの

  • VRC_Scene Reset Position
  • アニメーション(Animatorウィンドウをsceneのところに追加しておく)

※正確にはVRC_Scene Reset Positionは位置・サイズ・角度を初期値、もしくは指定したオブジェクトと同じ値にするものである

作り方

1.Pickupオブジェクトの設定

210319_03_1-1.jpg
[好きなcollider][VRC_Pickup][VRC_Object Sync]を付与
colliderはIs Triggerにチェックを入れる

[VRC_Scene Reset Position]を付与
Remove Velocity: チェックを入れると移動速度がゼロになる

2.ボタンの設定 第一段階

210319_03_2-1.jpg
[好きなcollider]を付与。Is Triggerにチェックを入れる

[VRC_Trigger]を付与
OnInteract→AlwaysUnbuffered
Interaction Text: (わかりやすく書く)
ここで一旦保留にしておく

[Button]を付与する
Transition: None
Navigator: None

3.アニメーションを作る

210319_03_3-1.jpg
ボタンオブジェクトを選択した状態でanimationウィンドウのCreateを押す
適当な場所に保存する。Assetsの下にフォルダを作るといいかも

210319_03_3-2.jpg
+を押す
Function: Press()

4.ボタンの設定 第二段階

[Button]のOn Click()を設定していく
210319_03_4-1.jpg
Runtime Onlyの下にボタンオブジェクト自身を入れる。FunctionはAnimator→bool enabled
+で欄を増やす
Runtime Onlyの下にPickupオブジェクトを入れる。FunctionはVRC_Scene Reset Position→Reset Position()

5.アニメーターの設定

210319_03_5-1.jpg
Animatorウィンドウの左上Parametersを増やす
+→bool 名前をつけてチェックを入れる

Any Stateの設定
210319_03_5-2.jpg
Any Stateを右クリック、Make Transition オレンジ色のNew Animation(※ちゃんと名前をつけよう)につなげる
Transitionsを開き画像のように設定する
Conditionsをtrueにする

New Animationの設定
210319_03_5-3.jpg

Entryはそのままでよい

6.ボタンの設定 第三段階

保留にしていた[VRC_Trigger]のつづき
210319_03_6-1.jpg
Actions: SetComponentActive
Receivers: (ボタン自身)
Component: UnityEngine.Animator
Enable: True

指定の場所へリスポーンさせたいとき

[VRC_Scene Reset Position]は特に指定しないと元あった位置へリスポーンする。
Positionにオブジェクトを設定するとそこへリスポーンさせることができる。これはPickupオブジェクトなど移動するものも指定できる。
今回のワールドは1つだけ違う場所に初期配置されているものを、ほかのオブジェクトとおなじ列に並ばせるため、Mesh Rendererをオフにしたダミーオブジェクトを用意した。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0