using System.Collections; using System.Collections.Generic; using UnityEngine; using XericLibrary.Runtime.Type; namespace XericLibrary.Runtime.SpatialTransform { /// /// 设定偏移来自追踪目标 /// public class OffsetFromTrackTarget : WeaklyMonoBase { /// /// 追踪目标 /// public Transform TrackTarget; /// /// 偏移量 /// public Vector3 Offset; private void Update() { if(TrackTarget != null) { var pos = transform.position; pos.y = 0; var trackPos = TrackTarget.position; trackPos.y = 0; transform.position = TrackTarget.position + TrackTarget.rotation * Offset; transform.rotation = Quaternion.LookRotation(pos - trackPos); } } /// /// 初始化 /// /// public void Initialized(Transform tracK, Vector3 offset) { TrackTarget = tracK; Offset = offset; } } }