2016-11-19 7 views
0

私はRoid Rageに似た、2D宇宙のゲームに取り組んでいます。私はそれにスペースシャトルを持っています。シャトルは自由に動き回り、障害物を避けます。私はシャトルの動きと回転部分を(rigidbody2dを使って)うまく作った。しかし、今私はカメラをシャトルに従わせることができません。 まず、カメラをシャトルの子供にしてみました。このようにして、カメラはシャトルに従った。しかし、シャトルの回転はまったく見えませんでした。なぜなら、このカメラはシャトルと共に回転するからです。 そして、私はこのでした:この場合カメラの追従者の問題(2d)

public Transform shuttle; 
private Vector3 offset; 

void Start() { 
    offset = transform.position; 
} 

void LateUpdate() { 
    transform.position = shuttle.transform.position + offset; 
} 

を、カメラはシャトルを追ったが、私は、画面をタップすると、シャトルは(パスのような軌道に)ターンを取ることになっているとき、それはちょうどその周りを回転します自分の軸。

最後に、私の代わりにこれを使用:

void LateUpdate() { 
    transform.position = Vector3.Lerp(transform.position, shuttle.position + offset, 0.125f); 
} 

今、結果はシャトルが非常に不安定であるということです。この問題の解決策はありますか?

答えて

0

フォーラムで検索した後に解決策が見つかりました。私はシャトルを動かすためにRigidbody2Dを使っていたので、InterpolateプロパティをNoneからInterpolateにする必要がありました。これで揺れが固定されました。

0

このような非常に単純なことは機能しませんか?これはカメラスクリプトにあり、GameObjectには添付されていません。

public GameObject MyShuttle; 

void LateUpdate() { 
    this.transform.position = MyShuttle.transform.position; 
} 
+0

私はすでにこれを試していました。私は解決策を見つけ、答えを掲示しました。 –