Unity事例ノート

UNITY

エレベーターをつくる

1階から2階へ上がり、2階から1階へ降りられるエレベーターを作成しましょう。

プレーヤーが床に乗れば上昇して、2階でストップ。

ふたたび床に乗れば、下降して1階で止まります。

関連記事:
行き帰りできるムービングウォーク
階段を上るオブジェクト移動(SimpleMove)
動く床の上で一緒に移動する(方法2)
領域に入っている間と離れたときに発生
エリアに入れば自動で動く(ムービングウォーク)
他のスクリプトのBoolを取得する
乗れば落下する床

床とエレベーターの作成

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

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

FirstFloorを複製し、名前をElevatorに変更。

位置を変更します。

Elevatorをわかりやすくするために、黒のマテリアルをつけます。

FirstFloorを複製し、名前をSecondElevatorに変更。

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

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

プレーヤーの作成

Cubeを作成し、名前をPlayerに変更します。

位置を回転を、変更します。

わかりやすくするために、Playerにマテリアルカラーをつけます。

Playerにキャラクターコントローラーをつけます。

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

当たり判定の作成

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

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

Areaをドラッグ&ドロップで、Elevatorの中に入れ、親子関係を作ります。

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

Areaを透明にしましょう。

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

Rendering ModeをFadeに変更。

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

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

Areaのオブジェクトが透明に変わりました。

エレベーターのスクリプトを作成

ElevatorMove.csを作成し、Elevatorに追加します。

ElevatorMove.csを記述します。

プレーヤーのスクリプトを作成

次は、プレーヤーのスクリプトを作成しましょう。

今回は、キャラクターコントローラーを使って、動かせるようにします。

PlayerMove.csを作成し、Playerに追加します。

PlayerMove.csを記述します。

Playerを選択し、Elevatorフィールドの中に、Elevatorオブジェクトを入れます。

ゲームプレイして、Playerを動かしましょう。

黒の床に乗れば2階へ上がり、もう一度乗れば、1階へ降りていきます。

エレベーターの仕組みが出来上がりました。

関連記事:
行き帰りできるムービングウォーク
階段を上るオブジェクト移動(SimpleMove)
動く床の上で一緒に移動する(方法2)
領域に入っている間と離れたときに発生
エリアに入れば自動で動く(ムービングウォーク)
他のスクリプトのBoolを取得する
乗れば落下する床