【发布时间】:2016-03-13 20:32:51
【问题描述】:
我希望将一个对象放置在相对于另一个对象的特定位置:
这个新对象必须放置在粉色区域中,我只知道放置的最小和最大距离、相对于我的第一个对象向前方向的角度(以度为单位的 maxAngle)以及第一个对象的位置。
我已经知道如何检查一个对象是否放置在粉红色区域中,但没有设置它在该区域中的位置。所以我拿了代码来检查锥体中的一个对象,但我不知道如何转换它来设置锥体中的位置。
float distance = Random.Range(minDistance, maxDistance);
float angle = maxAngle *= Mathf.Deg2Rad;
float coneRadius = distance * Mathf.Tan(angle);
Vector3 vect = firstObject.transform.position - targetObject.transform.position;
targetObject.transform.position = new Vector3(angle, 0, firstObject.transform.position.z + distance);
如果你能给我一些线索,那就太好了。
【问题讨论】:
-
你有中间向量吗?
-
第一个物体没有移动/旋转,所以它是垂直轴。
-
所以你有一个方向向量和位置以及一个最大和一个最小距离,不是吗?
-
是的,我知道所有这些,也知道角度。