我目前能够移动两个对象(两个栅栏杆),并在其间拉伸对象,充当栅栏中的金属丝。在这里查看已解决的问题以获取更多信息:instantiate plane with texture between two objects(vectors)
我将感谢一些关于我如何在两者之间实例化极点以及拥有已经工作的导线的意见。例如,每次两个对象之间的距离增加1.我这样计算距离: Vector3.Distance(currentPole1.position,currentPole2.position);
我猜一个for循环可以做这个检查,但是似乎不能解决这个问题。thnx,Kro
发布于 2013-09-27 06:29:13
给定两个Vector3坐标p1和p2,我们可以计算出它们之间均匀分布的X点:
Vector3 p1 = <some vector>
Vector3 p2 = <some vector>
int numPoints = 9;
float step = 1f / (numPoints+1);
for (float perc = step; perc < 1f; perc += step) {
Vector3 v = Vector3.Lerp(p1, p2, perc);
//do something at position v
}或者我们可以计算几个点,每个点最多相距X个单位:
Vector3 p1 = <some vector>
Vector3 p2 = <some vector>
float maxSpacing = 10f;
Vector3 diff = p2 - p1;
Vector3 dir = diff.normalized;
float totalDistance = diff.magnitude;
for (float dist = maxDistance; dist < totalDistance; dist += maxSpacing ) {
Vector3 v = p1 + dir * dist;
//do something at position v
}(我刚刚注意到我的示例代码是用C#编写的,而您之前的问题是使用JS;想必您可以找出不同之处?)
https://stackoverflow.com/questions/19038296
复制相似问题