【问题标题】:Stop animator changing Y position停止动画师改变 Y 位置
【发布时间】:2015-12-20 01:09:30
【问题描述】:

在 Unity 中使用 animator 时遇到问题。我想使用

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

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

【问题讨论】:

    标签: c# unity3d animator


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-21
      • 1970-01-01
      • 2016-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-07
      • 2022-07-13
      相关资源
      最近更新 更多