(オブジェクトの作成)
- Cubeを1つ作成
- 名前を「Warp」に変更
- 色やデザインは自由に変更
(スクリプト)
- 新規にC#スクリプトを作成
- 名前を「Warp」に変更
- 下記のコードを書いてチェック
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Warp : MonoBehaviour
{
private GameObject target;
public Vector3 pos;
private void OnTriggerEnter(Collider other)
{
if(other.CompareTag("Player"))
{
target = other.gameObject;
// CharacterControllerコンポーネントを一時的にオフにする(ポイント)
target.GetComponent<CharacterController>().enabled = false;
target.transform.position = new Vector3(pos.x, pos.y, pos.z);
Invoke("Reset", 0.2f);
}
}
private void Reset()
{
// CharacterControllerコンポーネントをオンの状態に戻す。
target.GetComponent<CharacterController>().enabled = true;
}
}
(設定)
- このスクリプトをWarpオブジェクトに追加
- Is Triggerにチェック
- Posを自由に設定(ここで指定した座標にワープします)
- 主人公のプレーヤーに「Player」のTagが付いているかを確認する。
(実行結果)
- 設定が完了したらゲーム再生
- ワープ装置に触れた瞬間にワープすれば成功です。