1、旋轉
Point3 targetRotation:移動到的對象旋轉值
GameObject target :要移動的目标對象的transform
Vector3 targetRotationPoint = transform.TransformPoint(targetRotation);
Vector3 rotationDistance = targetRotationPoint - target.transform.localEulerAngles;
target.transform.Rotate(rotationDistance * Time.deltaTime);
2、移動
Point3 targetPosition:移動到的對象位置值
GameObject target :要移動的目标對象的transform
Vector3 targetPoint = transform.TransformPoint(targetPosition);
Vector3 distance = targetPoint - target.transform.position;
target.transform.Translate(distance * Time.deltaTime, Space.World);
3、合并
通過distance.magnitude 距離判斷移動到某個值,進行合并設定子父關系
if (target != null)
{
target.transform.SetParent(transform);
target.transform.localPosition = targetPosition;
target.transform.localEulerAngles = targetRotation;
}