distance_d = distance $selection[1].pos compare_array[1].pos
try ( distance_c = distance $selection[1].pos compare_array[2].pos )
catch ( distance_c =distance_d+20)
if amin distance_d distance_c == distance_d then
(
return compare_array[1]
)else
(
return compare_array[2]
)
-- ) catch ()
在上面这个段代码中 我要说明白的是 有用我做射线是两个方向的, 但是我少考虑了单面的物体,
上面我是这样做的,因为6 种可能我都是要循环一次的,这样不管是什么方向上就有两个复合要求的,
一个是在拾取物体的背面 一个是在正面 ,我在用比较距离的方法 找到最近的一个,
这样就好了 但是对于单面物体这个 第二种会报错,就是如果报错的话我就给他 一个值 我的脚本是这样的。( distance_c =distance_d+20)
这样就是说明 distance_c 永远比distance_d 大。 这样也有两个数我们就取得了 distance_c 这样就把错误排除了。
这些都是在纠正的过程中产生的想法。