見出し画像

乗り物(自作:ホバーボード)

自作乗り物2つめはホバーボードです。車輪がないスケボーといったところでしょうか。初めて作った乗り物なのでシンプルな形とシンプルなギミックで作ろうと思ってできたものです。
機能としては等速運動で動きジャンプもできる乗り物です。
テンプレートの馬に近いですね!

公式ガイドの乗り物がベースとなっています。


こんなところで使ってます!

ホムルーム
実験場

ホバーボードの作り方

まずは乗り物となるオブジェクトを用意します。ボードなので縦に細長く、板状のCubeを用意しました。ホムルームで使用しているものはCylinderも追加してより乗り物っぽくしています。

用意できたら乗り物として動かすためのコンポーネントを追加していきます。
Ridable Item プレイヤーが乗ることができるアイテムを作ることが出来ます。
Steer Item Trigger 乗っているアイテムに「操作する」機能を追加し、操作されたことを通知するトリガーです。
Set Velocity Character Item Gimmick Character Itemの速度を設定するギミックです。
Set Angular Velocity Character Item Gimmick Character Itemの角速度を設定するギミックです。

これらを追加すると自動的に以下のコンポーネントも追加されます。
Item ワールド上に配置できるインタラクティブなオブジェクトの総称です。
Character Item Character Controllerコンポーネントによって移動するアイテムを作ることができます。
Character Controller 主に Rigidbody による物理特性を使用しない、1 人称や 3 人称のプレイヤー制御に使用されます。

7つのコンポーネントを追加
Steer Item Trigger

Steer Item Triggerの設定
Move Input Triggersを押して設定を開きます。
TargetはThis、その横にある黒い枠にはmoveと入力します。
ValueはInput:Vector2です。

Set Velocity Character Gimmick

Set Velocity Character Gimmickの設定
TargetはThis、Keyはmove
Spaceにはホバーボードのオブジェクトをドラッグ&ドロップしてください。
Scale Factorは20です。

Set Angular Velocity Character Item Gimmick

Set Angular Velocity Character Item Gimmickの設定
TargetはThis、Keyはmove.x
Parameter TypeはFloat、Scale Factorは10です。

Character Controller

Character Controllerの設定
Step Offsetを0.5に。
Radiusを0.3にしてください。

Character Itemにはオブジェクトとは別のコライダーがあります。
その設定はここで行います。
Step Offsetは段差を乗り越える高さの設定です。少し高めに設定すると段差があっても自動的に乗り越えます。
Centerはコライダーの中心位置、Radiusは半径、Heightは高さです。
乗り物の動きに干渉しないように設定していきましょう。
※地面とコライダーが干渉すると動かなくなります。
地上スレスレにしたい場合はCenter Yを4
Radiusを0.2、Heightを0.1にしてみましょう。

Ridable Item

Ridable Itemの設定はまずはアニメーションです。
座ったままだとボードっぽくないので立ち姿勢にします。

アニメーションを設定する方法は公式ガイドで紹介されています。

アニメーションのダウンロード
https://www.mixamo.com/

Mixamo idle

上記のポーズをダウンロードして設定しください。

Seat

Ridable ItemのSeatは乗る位置です。RidePosを空オブジェクトで作ってドラッグ&ドロップで設定してください。(緑色の四角)
先ほど設定した立ち姿勢にうまく合うように高さや角度を調整してください。プレビューではアバターが見えないので、一度アップロードして確認し調整してください。

調整が終わったら乗って遊ぶことができます!
ホバーボードなので地上からわずかに浮かんでる設定となります。

ジャンプ機能を追加

前項まででホバーボードとしての機能はすでにできていますが、さらにここで乗ったままジャンプする機能を追加したいと思います。
ジャンプができると障害物を乗り越えることができます。
乗り物でジャンプする機能は公式ガイドでも紹介されています。

この方法で作った場合、乗り物が空中にあるときでもさらにジャンプできてしまいます。そこでロジックを使用して、乗り物が地上にあるときだけジャンプできるようにします。
以下のコンポーネントを追加してください。
Is Grounded Character Item Trigger アイテムが地面に着いているかを通知するトリガーです。
Item Logic メッセージを読み取り、計算した結果をアイテムへメッセージとして通知するオペレーションです。
Jamp Character Item Gimmick アイテムをジャンプさせるギミックです。

追加し終わったら設定していきます。
まずはSteer Item Triggerです。

Steer Item Trigger

Steer Item Triggerに項目を追加します。
Additional Axis Input Triggersの下にあるをクリック。
TargetはThis、その横にjump1と入力
ValueはSignalです。

Is Grounded Character Item Trigger

Is Grounded Character Item Triggerの設定
TargetはThis、その横にjump2と入力
ValueはInput:Boolです。

Item Logic

Item Logicの設定
TagetはThis、Keyはjamp1
1行目 左からThisjumpSignalです。このjumpはギミックに通知されるKeyです。
2行目 =And ここでjump1とjump2が両方揃ってるか判断します
3行目 左からRoomStateDoubleThisjump1
4行目 左からRoomStateDoubleThisjump2

ロジックの詳しい内容についてはこちら!

Jump Character Item Gimmick

Jump Character Item Gimmickの設定
TagetはThis、Keyはjump
Speedは5にしてください。数値は好みで変更してかまいません。

これでできました!地上にいるときだけジャンプできます。

今回のギミックをざっくり説明
1.ジャンプ操作をするとSteer Item Triggerがjump1を通知。
2.ホバーボードが地上にある場合にIs Grounded Character Item Triggerがjump2を通知。
3.Item Logicがjump1とjump2両方の通知を受けたときだけjumpをギミックに通知。
4.Jump Character Item Gimmickがjumpの通知を受け取りジャンプさせるギミックを作動させる。


乗り物は作るのが難しいアイテムですが、簡単なものなら自作することも可能です。乗り物作成に挑戦して自由な発想で自分の世界を表現してみましょう!

<<前の記事
乗り物(自作:回転イス)

次の記事>>
パーティクル(湯気)

実験場解説ページトップへ

この記事が気に入ったらサポートをしてみませんか?