Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 停止动画师更改Y位置_C#_Unity3d_Animator - Fatal编程技术网

C# 停止动画师更改Y位置

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轴将低于实际值并变为负值。所以射线有时打不到任何东西。但如果我取消选中“烘焙成姿势”,角色将失去重力。那么我应该如何修复它呢?如果您总是

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

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);