0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【VRChat】AimConstraintを用いて羅針盤を作成する

Last updated at Posted at 2021-11-20

概要

  • AimConstraint で目的地の方向を常に向く矢印(羅針盤)を作成する

はじめに

私の作成したVRCWorld「Music Stellar Lake」の公開に際して
ワールド内で使っているギミックの中から
特に汎用的なものをピックアップしていくつか紹介していこうと思っています

もし「役に立ったー!」となったらワールドに遊びに行ってもらえると
(ついでに #musicstellarlake のハッシュタグでツイートしてもらえると)
嬉しいです!

環境

  • VRCSDK 3.0 2021.08.04.15.07
  • Unity 2019.4.29f1
  • Usharp v0.20.2

大まかな手順

  1. 向かせたい場所にGameObjectを配置する
  2. VRC_Pickup をつけたオブジェクトの子に矢印オブジェクトを作成
  3. 矢印オブジェクトの Aim Constraint を設定する
  4. (オプション)もっと羅針盤らしい挙動にする

手順1:向かせたい場所にGameObjectを配置する

  • 目的地の位置に GameObject を置きます
    • 空の GameObject でOKですがわかりやすいように赤い Cube を置きました
    • ヒエラルキー上は Aim At

手順2:VRC_Pickup をつけたオブジェクトの子に矢印オブジェクトを作成

  • Indicator Handle という名前で Sphere を作成
  • 子オブジェクトとして矢印オブジェクト( arrow )を追加
  • ヒエラルキーはこんな感じになります
手順2までのヒエラルキー
hiera.png
  • Indicator HandleVRC_Pickup を追加し、 Rigidbody コンポーネントの Use GravityIs Kinematic を適切に設定
    • 本筋ではないため説明を割愛します
  • arrowtransformposition を設定して矢印が見えるように
    • 今回は y = 1 としました

手順3:矢印オブジェクトの Aim Constraint を設定する

  • arrow オブジェクトに Aim Constraint を追加
Aim Constraint の追加
addcomp.png
  • ウィンドウ左上の四方向に矢印が出ているアイコンをクリックし、Unity の Move Tool を有効にする
  • Move Tool アイコンの右側のほうに Local となっているアイコンがあることを確認する
    • もしここが Global となっているようならクリックして Local に変更する
      • ここではツールを使って表示したり動かしたりする基準をローカル座標とするかグローバル座標とするかを決定しています
Move Toolと Local 確認
move tool.png
  • arrowtransformrotation がすべて0なのを確認し、矢印の向きが x, y, z のどちら向きかを確認する
    • rotation を 0 にするのを忘れてしまいがちなので注意
    • 今回の場合は z のマイナス方向に矢印が向いています
矢印の向きをチェック
yajirushi1.png
  • 先ほどの矢印の向きに合わせて Aim ConstraintAim Vector を設定する
    • 今回であれば Z方向 の負の向きなので (x, y, z) = (0, 0, -1) となる
矢印の方向をZ=-1に設定する
zminus1.png
  • Aim ConstraintSources+ ボタンをクリック
  • Aim At オブジェクトをドラッグ&ドロップで Sources に追加
  • Aim ConstraintZero ボタンをクリックして完成!!!!!
完成時の動作
CompleteAnim.gif

(オプション)もっと羅針盤らしい挙動にする

  • この実装だと目的地が上の方にあると矢印が上を向きます
  • もし羅針盤のようにy軸方向にのみ回転させたい場合には Aim ConstraintConstraint SettingsFreeze Rotation Axis の x と y からチェックを外してください
More 羅針盤設定
more羅針盤.png
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?