Unity3D ----- 运行动画时修改局部骨骼的rotation


这几天一直被一个问题困扰着。因为要做一个射击的小demo,涉及到地面上的人射击空中的飞机。

但是动画中的人物的头部要看向飞机才会更真实,可是我人物里的头用Transform根本找不到啊!!!

苦恼了好久,今天想着去Animator里找找有木有可用的函数,妈蛋 一找就有收获!!!

 

原先是酱紫。头部是正常的角度。

加上以下代码便会有改变~~Surprise~~~!!!

    private void OnAnimatorIK(int layerIndex)
    {
        float angle_Z = Vector3.Angle(player.position - transform.position, transform.forward);
        Debug.Log(angle_Z);
        animator.SetBoneLocalRotation(HumanBodyBones.Head, Quaternion.Euler(0, 0, angle_Z));
    }

现在运行!!!

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM