Unity实现四个物体同时移动到指定位置
时间: 2023-06-23 20:08:06 浏览: 181
可以通过以下步骤在Unity中实现四个物体同时移动到指定位置:
1. 创建四个空物体,并将它们分别命名为Obj1、Obj2、Obj3和Obj4。
2. 在每个物体上添加一个移动脚本。
3. 在脚本中,定义每个物体的起始位置和目标位置,并使用插值函数移动它们。以下是示例代码:
```
public class MoveObject : MonoBehaviour
{
public Vector3 startPos;
public Vector3 endPos;
public float speed = 1.0f;
void Start()
{
startPos = transform.position;
endPos = new Vector3(Random.Range(-5f, 5f), Random.Range(-5f, 5f), Random.Range(-5f, 5f));
}
void Update()
{
transform.position = Vector3.Lerp(startPos, endPos, Mathf.PingPong(Time.time * speed, 1.0f));
}
}
```
4. 在场景中放置一个空物体,并将四个物体作为其子物体。
5. 在空物体上添加一个脚本,用于控制四个物体同时移动。以下是示例代码:
```
public class MoveObjects : MonoBehaviour
{
private MoveObject[] objs;
void Start()
{
objs = GetComponentsInChildren<MoveObject>();
}
void Update()
{
bool allAtTarget = true;
foreach (MoveObject obj in objs)
{
if (Vector3.Distance(obj.transform.position, obj.endPos) > 0.1f)
{
allAtTarget = false;
break;
}
}
if (allAtTarget)
{
foreach (MoveObject obj in objs)
{
obj.startPos = obj.transform.position;
obj.endPos = new Vector3(Random.Range(-5f, 5f), Random.Range(-5f, 5f), Random.Range(-5f, 5f));
}
}
}
}
```
6. 运行场景,四个物体将同时移动到指定位置,并在到达后随机移动到新的位置。
阅读全文