我希望将物品放在相对于另一个物体的特定位置:
这个新物体必须放在粉红色区域,我只知道放置的最小和最大距离,相对于我的第一个物体向前方向的角度(maxAngle,以度为单位),以及第一个物体的位置。
我已经知道如何检查对象是否放置在粉色区域中,但是没有在该区域中设置其位置。所以我用代码检查了锥体中的一个物体,但是我无法改变它来设置锥体中的位置。
java.util.concurrent
如果你能给我线索,那就非常酷。
答案 0 :(得分:3)
这确实是Unity或任何基于变换的场景引擎的基本技术。
创建新对象" newb"。
(1)将对象准确定位在" +"在你的形象。
(2)选择你的角度
angle = Random.Range(-maxAngle, maxAngle);
(3)扭曲newb:
newb.transform.eulerAngles = new Vector3( 0f, 0f, angle);
(4)选择你的距离:
distance = Random.Range(minDistance,maxDistance);
(5)然后将newb的 LOCAL 位置偏移那么多:
newb.transform.Translate(0f, 0f, distance, Space.Self);
然后诀窍:
请注意" newb"将会扭曲#34;所以让它坐直:
newb.transform.eulerAngles = Vector3.zero;