勇哥注:
有了上节的基础,本节比较简单。场景基本没变,就是改下Fixer的几个参数。
本节接上节的内容:
game4automation教程(九)Kinematic、Grip、Fixer、Drive取放MU的实验一
基于RayCast的方式比较简单,基本场景跟上一节是一样的,效果如下图:
场景如下:
不要添加Box Collider组件。如果有,删除它。因为我们使用RayCast方式不需要它。
现在Fixer组件中勾选“Use Ray Cast”。
然后下面Raycast Direction中,指定射线的方向。
在Ray Cast Length中指定射线的长度
这根黄色的线就是射线,它应该由夹子出发,长度要能够得着物体。
为了让射线发出的位置是正确的。你的gipper1对象的轴心必须是在夹子上面。
其它像夹子对象的轴心、MU对象的轴心,都应该在制作场景时移动到正确的位置。
这一步比较重要,又经常会被忽视。
至于RayCast究竟是个啥,原理是什么?
简单的说:射线检测RayCast是模拟眼睛视物的方式,从眼睛向注视方向射出一根射线,光线打到的物体,就认为碰到了。
这种方式就有点像是光纤感应器、对射光纤的原理。
RayCast跟碰撞检测的原理完全不同。
关于RayCast的详细了解请参考勇哥的另一篇:
另外提几点:
(1)CAD的对象,不要加Box Collider,或者刚体啥的,如果有要删除。
(2)mu对象如果穿透了地板
除了按上篇的处理外,其实还跟创建过程的某些顺序有点关系。
勇哥这边有时候也会出现,但有时候不会出现,参数、图层啥的肯定是没啥问题的。
因此这个问题还待继续摸索。。。。
(3)本次测试还出现Drive Sequnce不循环了的问题
现象是执行到第三步,再就不继续循环走第一步了。
后来观察到第三步后,两个运动方向箭头都变黄了,正常是在运动中总有一个绿,一个黄。
运动方向箭头如下图所示:
真是不停的出奇观问题。。。。
想来想去,不一样的是这里偷懒只使用一个空对象构建了包括了Drive sequnce在内的全部内容。
后来无奈把结构改成下图的父子结构,让Drive sequnce放在kinematic上,又好了。
这点又解释不了。。。
最后放上本场景源码:
勇哥注:2025/1/25
重新的做了一次场景,之前有些错误。
(1)Raycast Direction
方向并不是要输入90、180,只需要取值0,1,-1
(2)Show Status
这个要勾选,否则射线看不见,这个之前没有重点强调。
效果图:
场景源码已经添加到上面的下载页面。大家可以下载。

