Unity2019.1的Package之Animation Rigging v0.1.4 非人型角色的IK!

翻译自: http://tsubakit1.hateblo.jp/ 此人是日本Unity的开发者, 经常分享Unity最新的技术。 

Unity2019.1的Package之Animation Rigging v0.1.4 非人型角色的IK!_第1张图片

AnimationRigging是Animation C# Jobs  程序的功能。例如,设置IK,调整移动。

          也有时间轴工作,如尝试对角色的腰添加旋转,  如在一个特定的场景微调一个有趣的功能。

Unity2019.1的Package之Animation Rigging v0.1.4 非人型角色的IK!_第2张图片

             IK 在动画 (Mcacanim) 标准中,    但 Mcanim IK  只对人型角色有效,   AnimationRigging 就不一样。
例如,如下图 (显然不是人类型) (动漫玩具) Lacter 的腿运动在 ik 中创造了。 据说在调整了 IK 的功能后, 只显示了脚的最终位置。

Unity2019.1的Package之Animation Rigging v0.1.4 非人型角色的IK!_第3张图片

                                                                             用IK移动你的腿

此外,您似乎可以执行各种操作,例如覆盖动画角色的Transform和多个动作的混合。

  • Blend Constraint
  • Chain IK Constraint
  • Damped Transform
  • Multi-Aim Constraint
  • Multi-Parent Constraint
  • Multi-Position Constraint
  • Multi-Referential Constraint
  • Multi-Rotation Constraint
  • Override Transform
  • Twist Correction
  • Two Bone IK Constraint

实际上尝试一下

我实际上会使用Kore。这次尝试的功能是TwoBoneIK。IK表达式由两个关节执行。

当移动臂的尖端时,臂的位置被补充以便连接到尖端。

环境测试

  • .NET 4.x
  • Unity 2019.1
  • Animation Rigging ver 0.1.4

程序

首先做一个手臂。

        在根的GameObject“ARMS”下,构建一个父子结构,以便Root> Mid> Tip。此时,如果您转动父游戏对象,请调整网格的位置,以便孩子的骨骼能够精美地转动。

Unity2019.1的Package之Animation Rigging v0.1.4 非人型角色的IK!_第4张图片

                                                    用父子结构制作手臂

Unity2019.1的Package之Animation Rigging v0.1.4 非人型角色的IK!_第5张图片

接下来,设置Rig。

在ARMS下创建名为Rig的GameObject 并添加Rig组件和TwoBoneIKConstraint组件。

           在Rig对象下,创建名为Target和Hint的GameObject并 将这两个游戏对象添加到  TwoBoneIKConstraint 组件上赋值。此时,Target被置于与Tip大致相同的位置 。

Unity2019.1的Package之Animation Rigging v0.1.4 非人型角色的IK!_第6张图片

ARMS上添加 RigBuilder组件,并赋值之前创建的Rig对象。TwoBoneIK现在可以在游戏运行时运行。

Unity2019.1的Package之Animation Rigging v0.1.4 非人型角色的IK!_第7张图片

               更多可以观看这个视频:  https://www.youtube.com/watch?v=DzW_jQGO1dc   

还有官方示例: Unity2019.1的Package之Animation Rigging v0.1.4 非人型角色的IK!_第8张图片

 

 

[Unity]微调时间轴动画(Generic版)

           在某些情况下,您需要在从DCC将动画带入Unity后对时间轴上的动画进行微调。例如,如果龙咬的位置略微偏离,则击中杆的位置略有不同等。移动DCC工具和Unity编辑器似乎有点麻烦,尤其是在游戏中放置对象时。

所以我将在时间轴上进行微调。另外,这次关于Generic的方法,下次是Humanoid。

 

1.在时间轴上播放动画

首先,我们在时间轴上设置Generic模型的动画。 

在此状态下,骨骼的位置由时间轴的AnimationClip确定,因此无法移动颈部或稍微移动它。

Unity2019.1的Package之Animation Rigging v0.1.4 非人型角色的IK!_第9张图片

2.使动作易于编辑

         一点点骨骼结构。我只是不想编辑AnimationClip,所以我将在FK的基础上略微覆盖动画运动。
第一步。

Aniamtion Rigging使用Bone Renderer组件查看SceneView上的骨骼结构。

         通过拖放网格的骨骼结构(游戏变换时移动的游戏对象,由OptimizedGameObject隐藏的游戏对象)到BoneRenderer的Transforms上,可以在视觉上确认骨骼结构。它还使得更容易选择和编辑骨骼结构本身。

Unity2019.1的Package之Animation Rigging v0.1.4 非人型角色的IK!_第10张图片

Unity2019.1的Package之Animation Rigging v0.1.4 非人型角色的IK!_第11张图片

3.覆盖动画

  1. 右键单击AnimationTrack并Add Override Track选择
  2. 录制按钮 按开始录音
  3. 在您想要移动的时间注册关键帧

4.限制被覆盖动画的范围

如果您在上述步骤中编辑了动画,则编辑的内容将从开头到结尾反映出来。这是不可取的,因为您只想在特定时刻覆盖。

因此,我们限制动画的范围,以便覆盖动画自然地导致现有动画。

  1. Convert to clip track在AnimationTrack中选择
  2. 选择Converted AnimationClip
  3. Ease in duration和 Ease out duration大于0的值

模型:  https://assetstore.unity.com/packages/3d/characters/seri-s-voxel-characters-01-dragon-free-v1-0-108622  

 

 

 

你可能感兴趣的:(学unity涨知识)