Unity事例ノート

UNITY

乗れば上昇していく床

エレベーターのように上昇していく床をつくってみましょう。

床に乗れば上がっていって、ある地点まで行けば停止します。

指定したY座標の位置でストップするように、プログラミングしてきます。

関連記事:
【Unity C#】エレベーターをつくる
【Unity C#】乗れば下降していく床
【Unity C#】階段を上るオブジェクト移動(SimpleMove)
【Unity C#】動く床の上で一緒に移動する(方法2)
【Unity C#】領域に入っている間と離れたときに発生
【Unity C#】エリアに入れば自動で動く(ムービングウォーク)
【Unity C#】エリアに入れば飛び上がる

CharacterControllerによる移動

Cubeを作成し、名前をFloorに変更。

サイズと位置を変更します。

Sphereを作成して色をつけ、位置を変更します。

ゲームビューではこのように配置されています。

今回、Sphereの移動には、キャラクターコントローラーを使用します。

コンポーネントを追加 > 物理 > キャラクターコントローラー

上昇する床の作成

もう一つ床を作成します。

Cubeを作成し、名前をUpFloorに変更し、わかりやすいように色をつけます。

ゲームビューではこのように配置されています。

MoveUp.csを作成し、UpFloorに追加します。

当たり判定の作成

もう一つの床へ移動したところに、当たり判定をつくります。

Cubeを作成して、名前をAreaに変更。

位置を変えて、トリガーにするにチェックを入れます。

Areaはこのように配置されています。

Areaを透明にしましょう。

マテリアルを作成し、Toumeiと名前をつけます。

Rendering ModeをFadeに変更。

アルベドから、Aの値を0にします。

Toumeiマテリアルを、Areaに追加します。

プレーヤーを操作

Sphereのコードをつくっていきましょう。

SphereMove.csを作成し、Sphereに追加します。

UpFloorのフィールドに、UpFloorオブジェクトを入れます。

ゲームプレイして、十字キーでSphereを動かしてみましょう。

床に乗ってAreaに触れたタイミングで、UpFloorオブジェクトが上昇。

コルーチンが実行され、0.01秒ごとに0.02上がっていって、Yが3の位置でストップします。

関連記事:
【Unity C#】エレベーターをつくる
【Unity C#】乗れば下降していく床
【Unity C#】階段を上るオブジェクト移動(SimpleMove)
【Unity C#】動く床の上で一緒に移動する(方法2)
【Unity C#】領域に入っている間と離れたときに発生
【Unity C#】エリアに入れば自動で動く(ムービングウォーク)
【Unity C#】エリアに入れば飛び上がる