非玩家角色NPC,根据特定需求,自动平滑转向第一人称(物体)
物体A 平滑转向目标物体
忽然想到一个功能,做来测试一下
- 根据目标物体的坐标,让物体A朝向目标物体,下面直接附上物体(NPC)旋转代码:
public void Rotate(Transform transform, Transform target, float fRotateSpeed)
{
Vector3 targetDir = target.position - transform.position;
if (targetDir != Vector3.zero)
{
Quaternion targetRotation = Quaternion.LookRotation(targetDir, Vector3.up);
transform.rotation = Quaternion.Lerp(transform.rotation, targetRotation,fRotateSpeed);
}
}
- 调用此方法的话,如下代码:
public Transform t_obj;
public Transform targetObj;
private void Update()
{
if (Input.GetKey(KeyCode.R))
{
Rotate(t_obj, targetObj, 0.01f);
}
}
这样,物体就自动就能旋转到目标位置了。以后可以自由扩展