停止动画师更改Y位置

本文关键字:位置 动画师 | 更新日期: 2023-09-27 18:27:30

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

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

但是,当我在"根变换位置"(Y)中检查"烘焙到姿势"时,动画师(跑步和行走)会更改位置,Y轴将低于实际值并变为负值。所以射线有时什么也打不到。但如果取消选中"烘焙姿势",角色将失去重力。那么我该如何修复呢?

停止动画师更改Y位置

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

Vector3 rayOrigin = transform.position;
rayOrigin.y = ? // locked y
Ray ray = new Ray(rayOrigin, transform.forward);
Physics.Raycast(ray, out hitInfo);