我正在使用Unity3D.我想旋转一个物体面向鼠标指针的方向,但允许最大旋转速度,如"每秒最大100度".
文档中有一个例子,但它没有做我想要的.
我认为Time.time应该是Time.deltaTime,我无法真正理解最后一个参数的作用.它应该是与起始向量相加的数字吗?
http://docs.unity3d.com/Documentation/ScriptReference/Quaternion.Slerp.html
另外,我无法真正理解最后一个参数的作用.这是轮换的时候吗?
我正在使用的代码
Plane plane = new Plane(Vector3.up, 0); float dist; void Update () { //cast ray from camera to plane (plane is at ground level, but infinite in space) Ray ray = Camera.mainCamera.ScreenPointToRay(Input.mousePosition); if (plane.Raycast(ray, out dist)) { Vector3 point = ray.GetPoint(dist); //find the vector pointing from our position to the target Vector3 direction = (point - transform.position).normalized; //create the rotation we need to be in to look at the target Quaternion lookRotation = Quaternion.LookRotation(direction); //rotate towards a direction, but not immediately (rotate a little every frame) transform.rotation = Quaternion.Slerp(transform.rotation, lookRotation, Time.deltaTime * rotationSpeed); } }
我认为弱点位于Slerp的第三个参数中,但我无法弄清楚要放在那里的内容.