#Unity2Dのカメラ移動
Unity2DでRPGを作っています。
部屋移動はScene切り替えでしかできないでしょうか。
C#
1//ちょっと省略 2//扉の近くに透明なブロックを置いてぶつかったらシーン切り替え。 3void OnTriggerEnter(collision other) 4{ 5 if(other.gameobject.tag == block) 6 { 7 SceneManager.LoadScene("NextScene"); 8 } 9}
これが今使っている移動方法。まだ大丈夫だけどもっと情報が多くなった時に重くなりそう。
カメラ移動
C#
1//Unity公式より。 2using UnityEngine; 3using System.Collections; 4 5public class CompleteCameraController : MonoBehaviour { 6 7 public GameObject player; //プレイヤーゲームオブジェクトへの参照を格納する Public 変数 8 9 10 private Vector3 offset; //プレイヤーとカメラ間のオフセット距離を格納する Public 変数 11 12 13 // イニシャライゼーションに使用ます。 14 void Start () 15 { 16 //プレイヤーとカメラ間の距離を取得してそのオフセット値を計算し、格納します。 17 offset = transform.position - player.transform.position; 18 } 19 20 // 各フレームで、Update の後に LateUpdate が呼び出されます。 21 void LateUpdate () 22 { 23 //カメラの transform 位置をプレイヤーのものと等しく設定します。ただし、計算されたオフセット距離によるずれも加えます。 24 transform.position = player.transform.position + offset; 25 } 26}
これだと部屋のない所も映してしまう。
言葉ではうまく表せないけど、Playerがカメラの端からカメラと同じ座標(y軸以外)になってからカメラを動かすってことは出来ないでしょうか。よくRPGであるやつです。
何かいい方法があれば教えてください。人任せ、無責任な感じですがごめんなさい。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/03 10:35