特定座標到達時にカメラの仕様を切り替える
プレイヤーの座標が10よりも下の時はy座標固定でx座標の追従のみ
10を超えたときにx座標、y座標ともに追従する
前提
unityで2Dゲームを作成しています。
プレイヤーを追従するカメラを作成中です。
発生している問題・エラーメッセージ
おそらくoffsetを入れているからなのか、y座標を急に代入したのがいけないのかy座標の10をこえたしゅんかんにシーンが切り替わったかのようにカメラが動きます。
エラーメッセージ
該当のソースコード
C#
1ソースコード 2[SerializeField] private Transform target = null; 3 [SerializeField] private Vector2 offset = new Vector2(6.5f, 1.5f); 4 5 private static float yPos; 6 7 void Start()//スタート時のカメラの座標 8 { 9 var position = transform.position; 10 position.x = target.position.x + offset.x; 11 position.y = target.position.y + offset.y; 12 yPos = position.y; 13 transform.position = position; 14 15 } 16 17 18 19 private void LateUpdate() 20 { 21 22 var position = transform.position;//常に更新 23 position.x = target.position.x + offset.x;//動き続けるtargetの座標とoffsetで決められた座標を収納 24 position.y = yPos; 25 transform.position = position; 26 27 28 if (target.transform.position.y > 10) 29 { 30 position.x = target.position.x + offset.x; 31 position.y = target.position.y + offset.y; 32 transform.position = position;//カメラの座標をpositionにする } 33 position = transform.position;//常に更新 34 35 } 36 37 }
試したこと
Vector3.Lerpやsmooth?,カメラを二つにし、瞬時に切り替えるなど試してみたのですがほぼ同じような形になりました。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2023/06/06 12:23