【新機能リリース記念】乗り物機能完全に理解した配信!

2021/11/18にクラスター社エンジニアのはとりんによるCluster Creator Kit「乗り物」機能の徹底解説配信が行われました!

本記事ではアーカイブと動画の中のトピックをダイジェストで紹介します。
「乗り物」機能で追加された機能の概略の説明と共に、Creator Kitドキュメントへの各リンクも設置しているので、索引のように使ってみてください。

まずはサンプルのワールドで遊んでみよう(4:00〜12:00)

今回の配信にあたり、サンプルのワールドを用意しています。
サンプルワールドに置いてある乗り物の使い方の説明をしています。

イスをつくってみよう(12:10〜21:19)

  • ますは最も簡単なものとして、Ridable Itemを使って、イスをつくります
  • イスに座った時にアバターはUnity上でLocalに設定した時のZ軸の方向を向きます
  • 降りる先の場所を指定する場合は Exit Transform を設定します

Steer Item Triggerで乗っているアイテムを操作できるようにしよう(21:20〜26:02)

  • 次はSteer Item Triggerでアイテムを操作できるようにします
    • ※ここまでではまだアイテムを動きません
  • Move Input Triggersはclusterでアバターを操作する時の操作入力を受け取るものです。それぞれのプラットフォームでの入力は下記
    • モバイル版:バーチャルスティック
    • PC版:キーボードの「W」「A」「S」「D」
    • VR版:左手コントローラのスティックやパッド
  • Valueは他のトリガーと違い、SignalかInputのみです
    • Signalは移動の入力値が変わった時に発火されます
    • InputはVector2が設定されています。Vector2は2つのfloatの組み合わせで、縦軸と横軸の移動の値をセットで扱うものです

まずは一番簡単なMovable ItemとRigidbodyでアイテムを動かしてみよう(26:04〜46:10)

  • アイテムの動かし方はいろいろあります
    • めちゃくちゃな動きをするとプレイヤーが酔ってしまうので気をつけましょう!
  • 一番簡単なMovable ItemとRigidbodyで動かす方法です

まずはAdd Continuous Force Item Gimmickで前後に動くようにする(26:30〜30:13)

  • たとえば、Steer Item Triggerから受け取るパラメータを「move」とした場合は、Keyを「move.y」にして、Parameter Typeを「Float」にします
    • 「move.y」の「.y」はSteer Item Triggerから受け取るVector2形式の「move」の内、縦方向の入力(デスクトップ版だと「W」「S」)を取得します
  • Zに10を入力すると、継続的な力がMovable Itemに加わるようになります。この状態だと一度アイテムを動かすとずっと進んでいきます

Rigidbodyで物理挙動に関する設定をいろいろする(30:14〜33:34)

  • アイテムが動いたままにならずに滑らかに止まるようにするなど、動きに変化をつけるにはRigidbodyが使えます
  • 空気抵抗の力を強くするにはDragを設定します
  • 地面にぶつかって転がっていくのを防ぐためにはConstraintsの中のFreeze Position、Freeze Rotationを設定します
    • たとえば、回転をしないでほしい軸はFreeze Rotationの対象となる軸にチェックを入れます

Add Continuous Torque Item Gimmickで回転するようにする(33:35〜37:26)

  • Add Continuous Torque Item Gimmickで横軸の入力(PC版で言う「A」「D」)を受け取るようにすることで乗ったアイテムが回転するようになります
  • たとえば、Steer Item Triggerから受け取るパラメータを「move」とした場合は、Keyを「move.x」にして、Parameter Typeを「Float」にします
    • 「move.x」は「A」を押した時に+1、「D」を押した時に-1します
  • Yに数字を入力すると回転するようにする
    • 回転に対して、回転に対する抵抗力を働かせたい時はRigidbodyのAngular Dragを設定します
  • ここら辺はいろいろ試すと良いと思います

Additional Axis Input Triggersで上下に動くようにする(37:27〜41:30)

  • Steer Item Trigger内にあるAdditional Axis Input Triggersは乗り物でclusterの操作のジャンプに相当するような入力、つまりアイテムに乗った状態で垂直方向の動きやアクセス・ブレーキなどのさらなる前後方向の入力をつくることができます
    • モバイル版には右下にボタンが表示されます
    • PC版だとキーボードの「Space」「Shift」
    • VR版だと右手のコントローラのスティックの上下で操作できます

視点によって操作入力の仕方を変える(41:31〜46:10)

  • Steer Item Trigger内のFirst Person Move SpaceとThird Person Move Spaceの設定を変えると視点によっての操作の仕方を変えることができます
    • Seat Localはどこを向いていても同じ操作になります
    • Seat To Cameraは向いている方向に対して操作が変わり、カメラに対して相対的な動きが実現できます
  • どの視点操作がいいのかは乗り物によるので、いろいろ試してください!

アイテムのいろいろな動かし方(46:11〜57:13)

Movable Item(Rigidbody)

  • Set Velocity Item Gimmick
    • 物理だけど急激に速度が上がるもの。一瞬で求める速度になって欲しい時とかに使えます
  • Add Instant Force Item Gimmick
    • 大砲で飛ばされるなど一瞬で加えられた力によって動くときとかに使えるかもしれません

Movable ItemWheel Collider

Character Item(Character Controller)

Movable Item / Character Item共通

  • Warp Item Gimmick
    • 以前と少し仕様が変わりました。新しくつくったアイテムにいきなりつけようとするエラーが出ます。以前は自動でMovable Itemがつく仕様でしたが、Character Itemにも対応したためにデフォルトで設定がなくなり、エラーが出るようになりました。なので、Movable ItemCharacter Itemのどちらかを先に設定するようにしてください

Item+Animation

全知その先へ(57:14〜1:02:23)

  • Ridable Itemのプロパティをもう少し詳しく見てみます
    • Grip
      • 乗っている人の手のIKのターゲットの設定ができる
      • VR版の場合は無視されます
    • Avatar Override Animation
      • Humanoidのアニメーションが設定できて、乗った人のアニメーションを上書きすることができます。胴体と頭についてはアニメーションは適用されないです。だから前傾姿勢とかはできません…!

その他乗り物関連追加コンポーネント(1:02:23〜1:02:50)

パラメータータイプの追加(1:02:51〜1:05:40)

  • Item LogicでRoomStateを選択する時にパラメータータイプが設定されるようになりました(デフォルトでDouble)。基本的にはこれまでと同じように使う場合はそのままで問題ないです
    • Vector2、Vector3を扱う時は明示的にそれを選択してください

質問コーナー(1:05:41〜)

記事をシェアしてワールド制作を盛り上げよう!