2021/11/18にクラスター社エンジニアのはとりんによるCluster Creator Kit「乗り物」機能の徹底解説配信が行われました!
本記事ではアーカイブと動画の中のトピックをダイジェストで紹介します。
「乗り物」機能で追加された機能の概略の説明と共に、Creator Kitドキュメントへの各リンクも設置しているので、索引のように使ってみてください。
まずはサンプルのワールドで遊んでみよう(4:00〜12:00)
今回の配信にあたり、サンプルのワールドを用意しています。
サンプルワールドに置いてある乗り物の使い方の説明をしています。
イスをつくってみよう(12:10〜21:19)
- ますは最も簡単なものとして、Ridable Itemを使って、イスをつくります
- イスのつくり方は下記リンク先でも解説しています
- https://creator.cluster.mu/2021/11/16/chair/
- イスに座った時にアバターは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)
- Add Continuous Force Item Gimmickを設定すればアイテムに乗った状態で前後に動くようになります

- たとえば、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版だと右手のコントローラのスティックの上下で操作できます

- Valueは「Signal」と「Input:Float」が設定できるようになっています
- この操作は上下の一軸なのでFloatで取れるようになっています
- 先ほどと同じようにAdd Continuous Force Item Gimmickを設定すると、上下に動くようになります
- テンプレートワールドプロジェクトに入っているヘリコプターの動きはAdditional Axis Input TriggersとAdd Continuous Force Item Gimmickで実装されています
視点によって操作入力の仕方を変える(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 Item+Wheel Collider

- 車輪をつくるUnityのコンポーネントである「Wheel Collider」を操作するコンポーネント
- テンプレートワールドプロジェクトの車を見てもらうのが良さそうです
- 「Wheel Collider」はいろいろな設定があるので奥が深いです。(詳しくはUnityの公式ドキュメントをご覧ください)
- Set Wheel Collider Motor Torque Item Gimmick
- モーターに力を加える
- Set Wheel Collider Steer Angle Item Gimmick
- ハンドル操作
- Set Wheel Collider Brake Torque Item Gimmick
- ブレーキ操作
Character Item(Character Controller)

- Character Itemは今回新しく追加されたUnityの「Character Controller」を操作できるコンポーネントです
- Character ControllerはMovable Itemに比べて登れる坂の限界みたいなものが設定できるようになっているので、乗り物で行けて欲しくないところをつくる時とかに役立つかもしれないです(詳しくはUnityの公式ドキュメントをご覧ください)
- Is Grounded Item Trigger
- 地面についている判定を送れるトリガー
- Set Velocity Character Item Gimmick
- XZ軸方向に力を加えるギミック
- Set Angular Velocity Character Item Gimmick
- Y軸の回転をするギミック
- Jump Character Item Gimmick
- Y軸の+方向に力を加える。Character Itemはデフォルトで重力の計算が入っているので、それと組み合わせて使ってもらうことを想定しています
Movable Item / Character Item共通

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

- Play Timeline Gimmick
- サンプルワールドのメリーゴーランドに使っています
- 動かすだけならSet Animator Value Gimmickでもいいですが、タイミングの同期が完全にできないので、椅子の位置が人によってずれることがあります。なので遊具系にはTimelineを使うのがおすすめです
全知その先へ(57:14〜1:02:23)

- Ridable Itemのプロパティをもう少し詳しく見てみます
- Grip
- 乗っている人の手のIKのターゲットの設定ができる
- VR版の場合は無視されます
- Avatar Override Animation
- Humanoidのアニメーションが設定できて、乗った人のアニメーションを上書きすることができます。胴体と頭についてはアニメーションは適用されないです。だから前傾姿勢とかはできません…!
- Grip
その他乗り物関連追加コンポーネント(1:02:23〜1:02:50)

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

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