0

在 Unity 中使用 animator 时遇到问题。我想通过使用从角色的位置向前投射光线

Ray ray = new Ray(transform.position, transform.forward);
Physics.Raycast(ray, out hitInfo);

但是当我在 Root Transform Position(Y) 中检查“Bake Into Pose”时,动画师(跑步和行走)会改变位置,Y 轴会低于实际值并变为负数。所以射线有时不能击中任何东西。但是如果我取消选中“烘烤成姿势”,角色就会失去重力。那么我该如何解决呢?

4

1 回答 1

0

如果您总是想在特定高度 (y) 进行光线投射,则可以限制投射位置的原点。代替 ?带有浮点数、变量或预先计算的值。

Vector3 rayOrigin = transform.position;
rayOrigin.y = ? // locked y

Ray ray = new Ray(rayOrigin, transform.forward);
Physics.Raycast(ray, out hitInfo);
于 2015-12-20T11:14:03.133 回答