Unity事例ノート

UNITY

エリアに入れば自動で移動(ムービングウォーク)

ある位置まで来ると、プレーヤーが速く、自動で動いていくオートウォークの機能をつくってみましょう。

Cubeがエリア内に入れば、平面エスカレーターのように移動。

少しスピードアップして、左から右へ流れていきます。

関連記事:
動く床の上で一緒に移動する(方法1)
動く床の上で一緒に移動する(方法2)
乗れば上昇していく床
乗れば下降していく床
エリアに入れば飛び上がる
エリア内にn秒間滞在すれば実行
Collider内にとどまればn秒間動けなくなる

平面エスカレーターのような動き

PlaneとCubeを作成します。

Cubeにリジッドボディを追加し、位置を変えます。

シーンビューの上から見れば、このように配置されています。

Planeにボックスコライダーを追加します。

ボックスコライダーのサイズを変更し、トリガーにするにチェック。

このボックスコライダーが、ムービングウォークの移動エリアになります。

MoveWalk.csを作成し、Cubeに追加します。

MoveWalk.csを記述します。

(ここではY座標を0.5にしていますが、それぞれのプレーヤーのY座標に合わせて調整してください。)

ゲームプレイして、ボックスコライダー内に侵入します。

エリア内にいる間は、右方向にむかって自動で移動します。

ベルトコンベアーのような動きや、一方向にむけた高速移動させたい場合に、便利な仕組みです。

関連記事:
動く床の上で一緒に移動する(方法1)
動く床の上で一緒に移動する(方法2)
乗れば上昇していく床
乗れば下降していく床
エリアに入れば飛び上がる
エリア内にn秒間滞在すれば実行
Collider内にとどまればn秒間動けなくなる