エレベーターのように上昇していく床をつくってみましょう。
床に乗れば上がっていって、ある地点まで行けば停止します。

指定したY座標の位置でストップするように、プログラミングしてきます。
関連記事:
エレベーターをつくる
乗れば下降していく床
行き帰りできるムービングウォーク
階段を上るオブジェクト移動(SimpleMove)
動く床の上で一緒に移動する
領域に入っている間と離れたときに発生
エリアに入れば自動で動く(ムービングウォーク)
エリアに入れば飛び上がる
CharacterControllerによる移動
Cubeを作成し、名前をFloorに変更。
サイズと位置を変更します。

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

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

今回、Sphereの移動には、キャラクターコントローラーを使用します。
コンポーネントを追加 > 物理 > キャラクターコントローラー

上昇する床の作成
もう一つ床を作成します。
Cubeを作成し、名前をUpFloorに変更し、わかりやすいように色をつけます。

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

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

| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23  | 
						using System.Collections; using System.Collections.Generic; using UnityEngine; public class MoveUp : MonoBehaviour {     private Vector3 pos;     public void MoveStart()     {         StartCoroutine("FloorMove");     }      IEnumerator FloorMove()     {         while (pos.y < 3.0f)         {             pos = transform.position;             transform.Translate(0, 0.02f, 0);             yield return new WaitForSeconds(0.01f);         }     } }  | 
					
当たり判定の作成
もう一つの床へ移動したところに、当たり判定をつくります。
Cubeを作成して、名前をAreaに変更。
位置を変えて、トリガーにするにチェックを入れます。

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

Areaを透明にしましょう。
マテリアルを作成し、Toumeiと名前をつけます。
Rendering ModeをFadeに変更。
アルベドから、Aの値を0にします。

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

プレーヤーを操作
Sphereのコードをつくっていきましょう。
SphereMove.csを作成し、Sphereに追加します。

| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28  | 
						using System.Collections; using System.Collections.Generic; using UnityEngine; public class SphereMove : MonoBehaviour {     public GameObject upFloor;     public float speed = 3.0F;     public float rotateSpeed = 3.0F;     void Update()     {         CharacterController controller = GetComponent<CharacterController>();         transform.Rotate(0, Input.GetAxis("Horizontal") * rotateSpeed, 0);         Vector3 forward = transform.TransformDirection(Vector3.forward);         float curSpeed = speed * Input.GetAxis("Vertical");         controller.SimpleMove(forward * curSpeed);     }     private void OnTriggerEnter(Collider other)     {         if (other.gameObject.name == "Area")         {             upFloor.GetComponent<MoveUp>().MoveStart();         }     } }  | 
					
UpFloorのフィールドに、UpFloorオブジェクトを入れます。

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

床に乗ってAreaに触れたタイミングで、UpFloorオブジェクトが上昇。
コルーチンが実行され、0.01秒ごとに0.02上がっていって、Yが3の位置でストップします。
関連記事:
エレベーターをつくる
乗れば下降していく床
行き帰りできるムービングウォーク
階段を上るオブジェクト移動(SimpleMove)
動く床の上で一緒に移動する
領域に入っている間と離れたときに発生
エリアに入れば自動で動く(ムービングウォーク)
エリアに入れば飛び上がる