【发布时间】:2023-01-15 19:22:04
【问题描述】:
我正在尝试创建一个相对于前一个对象的旋转和位置的对象。我需要创建的对象考虑到前一个对象的旋转,也就是说,如果前一个对象旋转50度,当前对象也会旋转50度,它的位置考虑了旋转50度,也就是有条件的生成在Z轴线的旁边(位置随机)。我知道该怎么做,只要让当前对象成为前一个对象的子对象,然后更改本地位置,就很容易了,但是我会生成一堆这样的对象,以后我想添加清理,这样的解决方案会导致问题
newCheckpoint = Instantiate(checkPointPrefab, Vector3.one, Quaternion.identity);
newCheckpoint.transform.Rotate(0f, prevCheckpointRotation.eulerAngles.y, 0f);
newCheckpoint.transform.position = new Vector3(
Random.Range(prevCheckpointPosition.x - 5f, prevCheckpointPosition.x + 5f),
Random.Range(3f, 10f),
Random.Range(prevCheckpointPosition.z + 5f, prevCheckpointPosition.z + 20f));
【问题讨论】:
-
你说的清洁是什么意思?
-
@Obscure021,我的意思是清理创建的对象,也就是将它们从场景中移除,因为大量的对象会影响性能