2015-09-25 103 views
0

我想讓攝像機跟隨播放器。爲此,我使用播放器(在目標中)轉換並更改相機的轉換。繼攝像機Unity

public class CameraScript : MonoBehaviour 
{ 
    public Transform target; 
    private Vector3 delta; 

    void Start() 
    { 
     delta = Camera.main.transform.position - target.position; 
    } 

    void Update() 
    { 
     Camera.main.transform.position = target.position + delta; 
    } 
} 

此方法的工作原理,但它是一個更好的解決方案?

+1

可以說**基於意見的**。什麼是更好的」_?你見過標準的Unity3D _smooth相機follow_ scripts嗎? – MickyD

+0

我的意思是使用任何像AddForce和速度爲Rigidbody2D。 我不確定這種方法不會重新調用計算物理。 –

+0

爲什麼要將一個剛體添加到_camera_?考慮[編輯](http://stackoverflow.com/posts/32791570/edit)你的問題,包括你的_intent_ – MickyD

回答

0

它歸結爲「好」的意思,但一般做一個小插順利進行,攝像機的移動看起來更好(雖然VR它不是那麼簡單)

像這樣的東西應該工作:

public class CameraScript : MonoBehaviour 
{ 
    public Transform target; 
    public float lerpSpeed; 
    private Vector3 delta; 

    void Start() 
    { 
     delta = Camera.main.transform.position - target.position; 
    } 

    void Update() 
    { 
     Camera.main.transform.position = Vector3.Lerp(Camera.main.transform.position, target.position + delta, lerpSpeed * Time.deltaTime); 
    } 
} 
0

您可以在檢查器中將您的相機變成玩家GameObject的孩子,這樣相機就會在玩家移動時移動! :)