unity3d 平滑看向的脚本,涉及到知识有二点间方向计算,三维向量的一些方法应用。以及四元素类的应用
- using UnityEngine;
- public class SmoothLookFrame : MonoBehaviour {
-
- public Transform lookAtTarget;
- public Transform frameTarget;
- public float distance = 10.0f;
- public float height = 5.0f;
- public float damping = 2.0f;
-
- private Vector3 direction;
- private Vector3 wantedPosition;
-
- void Update () {
- if (!lookAtTarget || !frameTarget)
- return;
-
- direction = (frameTarget.position - lookAtTarget.position);
- wantedPosition = frameTarget.position + (direction.normalized * distance);
-
- wantedPosition.y = wantedPosition.y + height;
- transform.position = Vector3.Lerp(transform.position, wantedPosition, damping * Time.deltaTime);
-
- Quaternion rotate = Quaternion.LookRotation(lookAtTarget.position - transform.position);
- transform.rotation = Quaternion.Slerp(transform.rotation, rotate, Time.deltaTime * damping);
- }
- }
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。