Unity - 将射线的起始位置沿着其方向稍微向前移动

3

我对Unity编码还比较新手,所以请温柔一点 XD ... 我想要创建一个射线检测,它能够检测到碰撞器并且从该点开始一个新的射线检测,但是这个新的射线检测不是从击中的点开始,而是沿着同一方向稍微向前移动一些距离(例如几厘米或者其他在Unity单位上的距离 ^^)... 代码片段展示了第二次射线检测在第一次命中后的情况:

Physics.Raycast(firsthit.point, direction, out var hit, distance, HitLayerMask, QueryTriggerInteraction.Ignore)

所以我想用“direction”来改变“firsthit.point”值,但我无法确切地弄清楚如何做到。非常感谢您的帮助。

谢谢,ANB_Seth

1个回答

0

尝试:

float distance = 1f;
Vector3 newPosition = firsthit.point + direction.normalized * distance;
Physics.Raycast(newPosition, direction, out var hit, distance, HitLayerMask, QueryTriggerInteraction.Ignore);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接