###前提・実現したいこと
今までカメラの処理をキャラクターの移動に合わせて追従する形をとっていたのですが、
バックの背景が少しカクついて見えたので、なめらかに移動するようにする為調べたところ
Vector3.Lerpの処理にたどり着いたのですが、今度はキャラクターがぶれて(ぼやけて?)
見えるようになった為質問することにしました。
(※背景はぶれずになめらかに改善されています。)
※ 以下のソースにて「Player.transform.position.x + 6」はゴールエリア(あたり判定)に入ったとき
カメラを止めるため、ゴールより先の背景を映さないため+6の範囲にしています。
(ここも改善が必要かもしれません)
また、横スクロールなので上下には移動しないように「offset.y = 0」で固定しています。
Vector3.Lerpの処理を用いると左右に揺れている?状態です
© Unity Technologies Japan/UCL
※キャプチャーだと再現できないのでiphoneでスローで撮影し確認
###該当のソースコード
void LateUpdate () { offset.x = Player.transform.position.x + 6; offset.y = 0; offset.z = -10; //キャラクターが生存している時 if (Player.isAlive) { transform.position = Vector3.Lerp(transform.position, offset, Time.deltaTime); } else { audiosource.Stop ();//BGMを停止 } } ``` ###改善前のソースコード
if (Player.transform.position.x > transform.position.x - 4)
{
//カメラの位置を取得
Vector3 cameraPos = transform.position;
//キャラクターの位置から左に4移動した位置を画面中央にする
cameraPos.x = Player.transform.position.x + 4;
transform.position = cameraPos;
}
###補足情報(言語/FW/ツール等のバージョンなど) Unity 2019.1.3f1 言語:C# カメラの初期値はxが0、yが0、zが-10です キャラクターの初期位置は Xが-5.4、yが-4.7、zが0です キャラクターは左➡右へ移動します(強制横スクロール) キャラクターの速度は6fで固定しています。 速度を2fや3fまで落とすとぶれがないように見えますが ゲームとして成り立たないので6fからは落とさない方向で..

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/03 16:48
2019/06/04 01:02 編集
2019/06/04 18:34 編集
2019/06/05 01:40
2019/06/05 06:38 編集
2019/06/05 07:07
2019/06/05 08:13
2019/06/05 09:02 編集