Unity3D插件 Puppet3D的使用

介绍

Puppet3D是一款在Unity中给你的角色绑定和添加动画的工具。

开始

启动Puppet3D:点击Window—Puppet3D。如图所示:

按钮说明:

Auto Rig:这是你可以使用AutoRig和Mod Rig功能的地方;

Skeleton(骨骼)、Rigging(绑定)和Skinning(蒙皮) :这些功能用于手动绑定动画;

Animation:包含动画工具的面板;

About:版本号。

通常有三种使用Puppet3D的方法:

1.AutoRig:如果你有一个两条腿的模型,而且你想要快速绑定它;

2.ModRig:如果你有一个已经包含骨骼的人形角色,你想要修改动画,或者是想要制作一些新的动画;

3.Manual Rigging:如果你想要创建骨骼,控制你自己的角色,或给角色蒙皮。

AutoRig

步骤如下:

1.首先要保证你的角色处于面向Z轴方向,且摆着T型的姿势,两腿略微分开;

2. 把你的模型拖拽到Hierarchy中;

3. 选中模型,然后点击MakeGuides;(确保你已经选中了一个包含MeshRenderer的物体)

4.把每一个红点正确的移到角色身上

(1)这些红点应该放置在角色各个部位的中心位置,如果不起作用,可以在Inspertor面板中取消勾选,然后再手动移动它们;

(2)左右手互为镜像,如果在Inspertor面板中取消勾选之后,就可以单独移动它们;

5. 点击“AutoRig”;

6.角色已经被绑定;

 7.接下来需要给皮肤添上权重,刷权重;

把角色锁定在一个层里,可以防止意外移动了那些设置好的红点。

绑定

绑定是由控制器和骨骼构成的,你可以隐藏和显示这些全局控制。控制器是你想要设定动画的东西,骨骼是由控制器驱动的,角色本身就是骨骼蒙皮化。

绑定按照角色的比例进行制作,这样就可以让大多数动画通过不同的绑定互相切换。

全局控制

To move the whole character around you can use the global_CTRL. This is the master 
gameObject which runs all the other controls, and turns on and off their visibility. You tend to 
have the animator on this gameObject, or you can have it on a gameObject above it. 

注意:当你在制作动画的时候,建议你先将角色脱离预制体prefab,这将会让你选择控制器的时候更加方便。

IK/FK Arms&Legs

IK(反向运动学)是指你移动控制器的时候,肢体也会随之移动;

FK(正向运动学)是指将每个肢体关节手动旋转到所需的位置。

这取决于你想要做什么或者你喜欢怎样做动画,你可能想要这两个方法都使用。该平台允许你使用这两种方法,这被称为IK/FK混合。混合值(IKFK)可以在IK控件上访问。

 IK是由IK控制器(绿色立方体)和极点控制器(绿色球体)组成的。动力学控制器会告诉手臂在哪儿结束,极点控制器会告诉肘部的目标方向。

FK控制器由三个红框组成,你可以将它们旋转到任何方向。(你可以在IK Control脚本下勾选FK Visibility,以切换可见性)

 Mod Rig

 如果你有一个包含骨骼的角色,你就可以快速添加一个mod绑定,这将让你很轻松的给角色设定动画,以及修改任何已经在角色身上的动画。

步骤:

1.在Project面板上选中角色,在Inspector面板上确认Rig选择的是Humanoid;

 2.点击Configure;

3.将角色模型拖拽到Hierarchy面板上,选中带有动画的物体(需要avatar被apply),然后点击Create Mod Rig;

 4.现在你的角色就可以绑定了。

注意:如果你没有定义所有的骨骼,它可能无法绑定,或者它无法显现出最好的效果。

使用Mod Rig

ModRig 跟AutoRig很相似,一个特殊的功能是可以blend in and out of the premade animation。

如果你的角色在ModRig之前有一些动画,you can can blend these on and 
off from the global_CTRL。

你可以把身体和四肢混合在一起, 如果以上属性值都设置为1,角色就会按照原来的动画进行移动,当设置为0时,他们将会使用ModRig控制器,如果要调整动画的某个部分,你可以设置这些动画值,很有用。例如:你想让他的手臂移动到特定的位置,可以在手臂上设置关键帧,然后将其放置在你想要放置的地方,设置动画,然后将其设置回关键帧。

Manual Rigging

利用Puppet3D插件,你可以绑定任何东西,它完全是骨骼、蒙皮和控制器相关的。

 骨骼是角色层次结构的视觉表现,要开始创建骨骼,请点击“Create Bone Tool”。

在场景视图中单击鼠标左键,可以绘制骨骼(从关节到关节);

按Enter键或单击“Finish Bone”按钮将退出该工具;

按住Shift键用来移动当前骨骼;

按住Ctrl键并单击鼠标左键用来在场景视图中选择另一个骨骼;

右键单击用来结束当前骨骼链,而不退出该工具;

可以通过重新打开骨骼工具来编辑骨骼。

注意:如果骨骼已经被绑定,则不应移动或删除骨骼位置,而是需要先删除控制器,然后重新制作。

可以在Inspector中更改每个骨骼的颜色和半径。

 注意:给角色添加Mesh Collider ,以便于骨骼投影到角色的中心。

 可以使用样条线工具创建长的多骨骼链。这些是完美的尾巴、触手、长弯管、以及角色的脊椎。

该工具还可以制作样条线控件自己。(如果你只想要链,只需要删除创建骨骼后的控制器)

点击Create Spline Tool 开始创建样条线骨骼,可以在每个样条线控制器之间设置骨骼的数量。

在场景中点击鼠标左键以开始绘制样条线控制器,你至少需要做两个控制器,然后按下Enter键或Finish Spline按钮完成样条曲线,他应该创造样条线骨骼如下:

按住Shift键,可移动当前控制体;

按住Ctrl键并单击鼠标左键以在场景视图中选择另一个控制体;

 骨骼对动画不太友好,要让动画更直观,可以创建一个控制体来移动骨骼。这些控制体将使其本地转换都保持干净,从而使动画曲线都从零开始。

这些用于手臂或腿等肢体。(肢体控制与IK控制类似,具有添加IK/FK混合)。

要创建IK控制或肢体控制,请选择3关节的末端关节,然后单击“Create IK Control”或“Create Limb Control”。例如,如果它是一条腿,你可以有一个3关节链,就像这样:Thigh>Knee>Foot,你可以选择脚关节并创建控制体。

它将创建IK控件(在本例中称为Foot_CTRL)。这是你可以保持对动画的控制,注意他有一个父对象(Foot_CTRL_GRP)。这样可以保持对局部空间中的坐标的控制。这不可以设置动画,但是可以用于更改默认起点的设置。如果要将此IK控制器设置为另一个控制器的父对象,父物体将被取代。

注意:尽量不要将控件设置为骨骼的父对象,这可能会由于控件的影响而导致周期错误

无限地影响控制的骨骼。

肢体控制具有IK/FK混合的附加功能。(有关详细信息,请参阅“Using The Rig”)

解释它的作用)。有两个可见性复选框显示/隐藏IK和FK骨骼本身。如果你想重新租赁手臂,你需要展示这些,并重新租赁它们。

 Parent&Orlent Controls

它们直接控制骨骼。父控件同时影响位置和旋转,而方向控制只影响旋转。

注意:当这些控件相互为家长时,请确保您为它们的家长游戏对象设置家长,以便它们保持其本地转换。

Skinning

蒙皮是让骨骼影响角色的地方。本质上,它将使MeshRenderer成为一个SkindMeshRenderer,设置所有骨骼和权重指定。

要将角色蒙皮到骨骼上,请选择带有MeshRenderer的游戏对象以及要将其蒙皮到的所有骨骼,然后单击“Bind Smooth Skin”。

通过使用SkindMeshRenderer选择游戏对象,然后单击“Detch Skin”,可以将模型从绑定中分离。

注意:您目前可以选择1或2个骨骼蒙皮。4目前不支持骨骼蒙皮。

 Skinning Algorithms(蒙皮算法)

有两种类型的蒙皮算法会影响默认的蒙皮权重;Closest Point & Voxel。在单击“Bind Smooth Skin”之前设置此选项。

Closest Point的速度更快,但它只是试图找到离每个顶点最近的骨骼,然后将其与

上面的骨骼绑定。

Voxel skinning实际上将为角色创建体素网格,并分散权重

通过这个网格。这样可以更准确,并防止重物从近距离溢出

不相连的地方(如从一条腿到另一条腿)。

如果勾选“Keep Voxels”,可以看到用于为网格蒙皮的体素的副本。

如果体素太大,可以更改体素分辨率(值越高,显示的体素越小)。还可以更改体素之间的平滑量。这将影响默认权重的“bendy”程度。

Painting Weights

 

角色的每个顶点都有1或2个骨骼的权重。可以使用绘制权重工具更改这些权重及其骨骼指定。

使用SkinnedMeshRenderer选择游戏对象,然后单击“Paint Weight”。(确保已连接MeshCollider组件)

现在可以选择要绘制的骨骼(在Hierarchy面板中)。

然后用鼠标左键单击,你可以为这根骨骼绘制权重。

按住Ctrl键并单击鼠标左键可删除此骨骼的权重。

按住Shift键并单击鼠标左键可以平滑此骨骼的权重。

可以使用UI滑块或按住B并左右移动鼠标来更改半径。

可以使用UI滑块或按住N并左右移动鼠标来更改绘制强度。

有两种类型的绘画视图:

黑白-显示当前选定骨骼的权重。

彩色-一次显示所有骨骼的重量,每个骨骼的颜色不同。

Manually Edit Skin Weights

如果单击“Paint Weights”按钮两次,可以手动编辑每个蒙皮权重。(它在绘制权重和手动编辑模式之间切换)。

在此模式下,可以选择每个顶点,并在Inspector面板上设置每个骨骼和权重。

如果要同时更改多个顶点,需要在选中所有顶点的情况下单击“Update Skin Weights”按钮。

 要退出绘制权重工具,请按“Finish Edit Skin Weights”按钮。

这是运行所有其他控件脚本的主控件。一切都应该以global_CTRL为父对象。无论何时创建任何新的Puppet3D,它都将成为该控件的父控件。

可以使用“启用控件”复选框禁用所有控件。

你可以从这个游戏对象中切换骨骼和控件的可见性。

身体/手臂/腿滑块用于Mod Rig。

如果对控件数量进行任何更改,可以单击“Refresh Global Control”

按钮重置global_CTRL面板上的所有控制分配。

 

您可能需要从游戏中删除所有Puppet3D控制脚本。它们不是很耗性能,但它们确实占用了一点CPU。为此,可以将控件中的所有动画烘焙到骨骼上。

要执行此操作,请确保角色的绑定位于Hierarchy面板上,并且要烘焙的所有动画都已附加到动画。然后单击“Bake Animation”,它将在Puppet3D>Animation>baked中创建一个包含所有烘焙动画的文件夹。然后,您可以删除动画制作者中所有未烘焙的动画,并将其替换为烘焙版本。

 

 Puppet3D附带了一个动画渲染器。确保场景中的摄影机设置为标记Main camera。单击“Render Animation”,然后选择要将其保存到的文件夹和名称。它将运行游戏,并将动画的png序列放入该文件夹。

Pose Saving/Loading

可以临时存储姿势和选择,以在设置动画时提供帮助。

要使用,请选择姿势/选择的所有控件,然后单击“Save Selection”。这将增加一个

“Load”图标到用户界面。现在可以通过右键单击"Load word"并单击"Load Pose"。

您还可以执行以下操作:

Select Objects-这将选择此pose的所有控件。

Remove Selection-这将从该poses控件中移除当前选择。

Append Selection-将当前选择添加到此poses选择。

Store Pose-存储此poses控件的当前pose状态。

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Unity Puppet3D是一个基于Unity引擎的工具,用于创建和控制2D角色。它使用了骨骼动画系统和绑定技术,使开发者能够更轻松地制作高质量的角色动画。 Unity Puppet3D提供了一个直观的界面,可以轻松创建角色的骨骼结构。通过一系列的连接、父子关系和绑定操作,可以将各个部位连接起来,形成一个完整的角色模型。开发者可以根据实际需求调整关节的位置、角度和大小,使角色具有多种表现形式。 除了创建骨骼结构外,Unity Puppet3D还支持角色动画的控制。它提供了一组内置的动画控制器和状态机,开发者可以使用这些工具来设计和编辑角色的动作。通过基于关键帧的动画系统,可实现角色在不同动作之间的平滑过渡和衔接。 Unity Puppet3D还支持值技术,可以在不同的关键帧之间生成平滑的过渡帧。这使得角色动画更加流畅,并且可以通过调整值参数来控制动画的速度和运动方式。 此外,Unity Puppet3D还提供了一些额外的功能,如蒙皮和材质编辑,开发者可以使用这些功能来增强角色的外观和效果。 总而言之,Unity Puppet3D是一个强大的工具,可以帮助开发者轻松制作和控制2D角色动画。它提供了丰富的功能和直观的界面,使开发者能够快速创建出高质量的角色模型和动画效果。无论是游戏开发还是动画制作,Unity Puppet3D都是一个值得尝试的工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林枫依依

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值