我是Unity的新手,昨天在Unity3d的学习页面上滚动球示例之后就完成了。
为了练习我所学到的东西,我想尝试用自己的艺术重建类似的东西,让游戏与众不同。我一直在玩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 :(得分:0)
您可以使用Unity自己的SmoothFollow脚本来顺利跟踪相机。
以下是获取脚本的步骤: 1)资产 - &gt;导入包 - &gt;脚本。 2)在出现的对话框中选择所有脚本,或者只需顺利跟随,然后单击“导入”按钮。 3)现在这个脚本在您的项目中,您可以将它附加到相机。
希望这会对你有帮助......
最佳, Hardik。