#現状
unityとVScodeにてゲームを作成中なのですが、スタートしてから一定時間後にカメラを移動&回転させるスクリプトを作成したのですがうまくいきません。
例えばですがスタートして10秒後にカメラを50度回転、その2秒後にy軸方向に20移動するスクリプトを書いたとします。
その日の作業中はそのスクリプトで問題ないのですがunityを一旦閉じて後日作業を開始してみるとカメラが90度くらい回転したり30度回転して一時停止した後40度回転したりしてしまいます。
#スクリプト
public class CameraManager : MonoBehaviour
{
public float speed;
private bool rotate;
private bool move;
// Start is called before the first frame update
void Start()
{
StartCoroutine("CameraRotate");
StartCoroutine("CameraMove");
}
// Update is called once per frame void Update() { if (rotate == true) { transform.Rotate( 0.55f, 0, 0); } if (move == true) { transform.position += new Vector3( 0, speed * Time.deltaTime, 0.1f * -speed * Time.deltaTime); } /*Vector3 FoxPos = Fox.transform.position; transform.position = new Vector3( FoxPos.x, transform.position.y, transform.position.z);*/ } IEnumerator CameraRotate() { yield return new WaitForSeconds(10); rotate = true; yield return new WaitForSeconds(3f); rotate = false; } IEnumerator CameraMove() { yield return new WaitForSeconds(13); move =true; yield return new WaitForSeconds(3f); move =false; }
}
スタート時にコルーチンで回転するスクリプトと移動するスクリプトを起動させる形になっております。
#調べたこと
カメラ移動に関して調べてみたのですが多くはキャラクターに追従するカメラを作る記事に当たってしまい、カメラ単体をうまく移動させるやり方は見つかりませんでした。
個人的にはもう一台カメラを置いて一定秒後にメインカメラを切り替える形でもゲームとしては問題ないのですが今後カメラ移動なしのカットのみでやるのはつまらないなと思っているので原因だけでも知りたいと思い投稿させていただきました。
わかる方いらっしゃればよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/30 09:29