C# 停止动画师更改Y位置
我在Unity中使用animator时遇到了一个问题。我想通过使用从角色位置向前投射光线C# 停止动画师更改Y位置,c#,unity3d,animator,C#,Unity3d,Animator,我在Unity中使用animator时遇到了一个问题。我想通过使用从角色位置向前投射光线 Ray ray = new Ray(transform.position, transform.forward); Physics.Raycast(ray, out hitInfo); 但是,当我在根变换位置(Y)中选中“烘焙到姿势”时,动画师(跑步和行走)将更改位置,Y轴将低于实际值并变为负值。所以射线有时打不到任何东西。但如果我取消选中“烘焙成姿势”,角色将失去重力。那么我应该如何修复它呢?如果您总是
Ray ray = new Ray(transform.position, transform.forward);
Physics.Raycast(ray, out hitInfo);
但是,当我在根变换位置(Y)中选中“烘焙到姿势”时,动画师(跑步和行走)将更改位置,Y轴将低于实际值并变为负值。所以射线有时打不到任何东西。但如果我取消选中“烘焙成姿势”,角色将失去重力。那么我应该如何修复它呢?如果您总是希望在特定高度(y)进行光线投射,则可以从投射的位置约束原点。代替使用浮点、变量或预先计算的值
Vector3 rayOrigin = transform.position;
rayOrigin.y = ? // locked y
Ray ray = new Ray(rayOrigin, transform.forward);
Physics.Raycast(ray, out hitInfo);