基于射线检测的物体坐标调整之思路总结
起因:
在使用鼠标拖动物体移动时,如果在物体的移动方向(X、Y、Z)上不加任何限制,那么拖动物体的效果是较为不可控的,比方说,设想一个场景,我们需要通过拖动工具来处理物体的表面(擦拭、打磨等),若不加任何移动方向的限制,就有可能会出现工具穿透物体的现象,无法与它操作的表面(平面或者曲面)相贴合。而如果只是单纯地限制某一个方向,比如锁定深度(Z方向),将它设为定值,那么物体将只能在某个平面上被拖动,虽然可以避免穿透的现象,但是效果依然不够理想。在这种情况下,自己想出了这个基于射线检测的物体坐标调整功能(可以调整任意维度的坐标),来解决这一问题。
制作思路:
假设我们有拖动对象和被碰对象两个物体,拖动对象在X、Y轴向上被拖动,在Z轴向上自动进行坐标调整。
首先,从拖动对象的中心点(或是与被碰对象相接触的点)发出射线。通过该射线,我们可以获取一系列的碰撞信息,比如碰撞点的位置,从射线源点到碰撞点的距离等。通过这些信息的实时获取,我们可以实时检测拖动对象与被碰对象间的联系。

本文介绍了如何使用射线检测技术实现物体在鼠标拖动时自动调整坐标,以避免穿透现象并保持与目标表面的贴合。通过碰撞检测和TweenPosition脚本,实现拖动物体在X、Y轴移动的同时,自动调整Z轴位置以保持与被碰对象的适当间距。拖动效果适用于擦拭、打磨等场景。
最低0.47元/天 解锁文章
1182

被折叠的 条评论
为什么被折叠?



