停止动画师改变Y位置

时间:2015-12-20 01:09:30

标签: c# unity3d animator

在Unity中使用动画制作时出现问题。我想使用

从角色的位置投射一条光线
Ray ray = new Ray(transform.position, transform.forward);
Physics.Raycast(ray, out hitInfo);

但是当我在根变换位置(Y)中检查“烘焙成姿势”时,动画师(跑步和行走)将改变位置,Y轴将低于实际值并变为负值。因此光线有时无法击中任何东西。但是,如果我取消选中“Bakes Into Pose”,角色就会失去引力。那我该怎么办呢?

1 个答案:

答案 0 :(得分:0)

如果您始终想要在特定高度(y)进行光线投射,则可以约束您投射的原点。替换?使用浮点数,可变值或预先计算的值。

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

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