GhostKaYu 发表于 2021-7-4 18:33:34

ue4ik心得

ik一般涉及到位置和旋转
比如双手握枪的实现
枪是由手柄驱动的,因此可以在游戏中得到枪的位置及朝向,有了枪的位置及朝向,通过枪上的socket就可以算出左右手所在的位置及其朝向。
在ue4中,twoboneik通常只管ik的位置,但如果只管位置,手就不能很好的握在枪上。因此,枪上的socket应该不止决定手的位置,还要决定手的朝向。
具体来说,左右手分别叫hand_l和hand_r,这样分两步来实现
1.通过twoboneik来拉hand的位置
2.通过枪上socket的朝向来设置hand的朝向

想法误区
其实一开始也想到了设置朝向,但是想到了获取socket的朝向是在世界坐标系下的,如果直接用这个朝向去设置手的朝向,大概率是不正确的,因为手的朝向和socket的朝向可能会有一个固定的旋转差,可是socket是可以旋转的呀(而且可以在播放的过程中旋转并保存),因此可以通过socket的旋转来设置IK中对骨骼的旋转

最后总结两点
1.做完ik别忘了旋转对应的骨骼
2.ik的位置和角度一定要实时调整(ue4中通过socket来实现)


页: [1]
查看完整版本: ue4ik心得