自动对齐中的一段代码。

 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  这样就把错误排除了。

这些都是在纠正的过程中产生的想法。

posted on 2011-04-15 13:26  盖天00  阅读(228)  评论(0编辑  收藏  举报

导航