现在,我有一个物体,我只知道x和z的位置,如果我把它放在一个很高的y坐标上,我会得到一个它掉向地面的动画,我想跳过这个,直接让它掉到地面上,我该怎么做?
ozxc1zmp1#
将对象放置在地面上方的任意Y位置,然后向下投射光线到地面并将对象移动到命中位置。伪代码:
transform.position.y = 200f; if (Physics.Raycast(transform.position, Vector3.down, out var hit)) { transform.position = hit.point; }
rryofs0p2#
你可以使用Raycast或Boxcast来确定从物体底部到下一个碰撞器的距离,然后从物体transform.position.y中减去这个距离。
2条答案
按热度按时间ozxc1zmp1#
将对象放置在地面上方的任意Y位置,然后向下投射光线到地面并将对象移动到命中位置。
伪代码:
rryofs0p2#
你可以使用Raycast或Boxcast来确定从物体底部到下一个碰撞器的距离,然后从物体transform.position.y中减去这个距离。