我對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);
}
}
感謝提前任何幫助。
https://docs.unity3d.com/ScriptReference/Vector3.SmoothDamp.html – 2016-09-15 06:34:42