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;
}