(一)Measure Raycast组件
Measure Raycast组件,用来检测射线到碰撞体之间的距离。
如果碰到则输出Hit状态。
同时可以把测量结果连接到PLCInput信号,这样Measure Raycast就能当感应器来用。
如下图所示:
手动移动Measure Raycast,如果碰到了cube,则显示显示距离,以及Hit。
层级面板结构如下:
Cube必须添加Box Collider。
Measure Raycas附加在GameObject空对象上面。
其属性面板如下:
Raycast Direction: 调整rayCast射线的方向,注意这里并不是填写90、180度的值,而是取值0或者1,可以为负值。
Measure Between Colliders: 在两个碰撞对象之间测量
Raycast Length: 黄色的raycast线条的长度
PLC Signal Offset: 添加到测量结果中的信号偏移值
Measure Raycast在自动化设备中的应用:
(1)可以模拟激光测距
(2)可以放在移动的轴上面,用来判断是否会撞机
(3)可以做为轴的光栅尺来使用
(二)Measure 测量组件
Measure 组件所附加到的游戏对象的轴心点与引用的游戏对象的另一个轴心点之间的距离。
还可以将测量结果连接到 PLCInput 信号。通过这样做,Measure 能够充当距离传感器。
Measure 组件相关属性:
Measure From
选择测量的源对象
Distance
(只读)测量的距离作为向量。
Distance Abs
(只读)测量的距离作为绝对值。
Set Distance
应由按钮设置距离
Keep Set Distance
如果设置为 true,则 SetDistance 值始终设置为相关游戏对象,以便两个对象之间的距离始终保持不变。
Display On Selected
仅在选择测量对象时显示测量。
Display Always
始终显示测量值。
Display Line
在场景视图中的两对象轴心点之间显示一条线。
Display ABS
在 Scene 视图中将绝对值显示为数字。
Display Vector
在 Scene 视图中将向量显示为数字。
Use Millmeters
将一个 Unity 单位显示为 1000,即unity原单位米变成毫米。
PLCSignalOffset
Offeset 设置为 Measured Distance。
PLCInputFloat 信号。
Measured Distance
Measured Distance X
Measured Distance Y
Measured Distance Z
两个组件的优势与缺点:
Measure组件由于是测量两个游戏对象轴心点之间的距离,你可能会认为测量前先要把两款个对象的轴心对齐,否则测量结果就是有倾斜角的,其实不然,因为你可以取得x,y,z轴分别的距离值。
Measure Raycast组件是碰到了才会有测量结果,而Measure组件则是实时结果,而且可以得到x,y,z三个轴的距离结果。
本文演示工程下载:

