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

现在运行!!!

 

转载于:https://www.cnblogs.com/wangsaiws/p/5152008.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值