2016-09-15 29 views
0

我對Unity非常陌生,昨天剛剛在Unity3d的學習頁面上的滾球示例之後完成。平滑相機跟隨基於Voxel球體

爲了實踐我學到的東西,我想嘗試用我自己的藝術創造類似的東西,讓遊戲變得不同。我一直在玩Voxel Art,我正在使用MagicaVoxel來創建我的資產。我創造了牆壁,地面等。一切都很好。

然後來了球員對象,球體。我使用magicaVoxel創建了一個儘可能接近球體的球體,並且它的滾動性能很好。但是,使用腳本使相機跟隨物體時會遇到問題。

如果我不限制Y軸,那麼我會彈跳,並且儘可能的在X軸和Z軸上得到一種平坦輪胎效應。基本上相機不順利它反彈,停止走等...

我試圖讓對撞機大於球體,甚至使用對撞機的位置與對象本身。我也嘗試把代碼放在Update/FixedUpdate/LateUpdate中。什麼是解決或解決這樣的問題的正確方法?這裏是我下面的腳本:

相機控制器:

public class CamController : MonoBehaviour { 

public GameObject player; 
private Vector3 offset; 

void Start() 
{ 
    // Get the distance between the player ball and camera. 
    offset = this.transform.position - player.transform.position; 
} 

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

播放器控制器:

public class PlayerController : MonoBehaviour { 

public float _speed; 

void FixedUpdate() 
{ 
    // Get input from keyboard. 
    float _hoz = Input.GetAxis("Horizontal"); 
    float _ver = Input.GetAxis("Vertical"); 

    // Create a vector3 based on input from keyboard. 
    Vector3 _move = new Vector3(_hoz, 0.0f, _ver); 

    // Apply force to the voxel ball 
    this.GetComponent<Rigidbody>().AddForce(_move * _speed); 
} 
} 

感謝提前任何幫助。

+0

https://docs.unity3d.com/ScriptReference/Vector3.SmoothDamp.html – 2016-09-15 06:34:42

回答

0

您可以使用自己的SmoothFollow腳本來獲得相機的順利跟隨。

以下是您如何獲得腳本的步驟: 1)Assets-> Import Package-> Scripts。 2)在出現的對話框中選擇所有的腳本,或者只是順着一個腳本點擊導入按鈕。 3)現在這個腳本在你的項目中,你可以將它附加到相機。

希望這將幫助你...

最佳, Hardik。