首页 > 代码库 > Unity3d的2D骨骼动画插件Puppet2D的使用2
Unity3d的2D骨骼动画插件Puppet2D的使用2
大家好,我是孙广东。 转载请注明出处:http://blog.csdn.net/u010019717
更全的内容请看我的游戏蛮牛地址:http://www.unitymanual.com/forum.php?mod=guide&view=my
Introduction:
Puppet2D 是一种工具允许您快速设置你的 2D 角色动画的。使用此工具可以创建 2D 骨骼、皮肤你的人物的骨头,并创建真的很容易使用的控件,使动画角色一阵微风。
要打开 Puppet2D 窗口,选择Puppet2D 菜单,转到Window>Puppet2DWindow。在此窗口中包含所有创作工具。
若要开始创建你的被操纵东西,你要准备好你的角色被“rigged”。在unity进入场景视图并单击 2D 的按钮,在视图的顶部。在你的 2D 角色精灵中拖动并放入锁定的图层。这是有用的所以你不要到头来不小心点击它当你试着画骨头或控制。现在你准备好开始创建骨骼。
Bone& Control Layers and scale:s
你就能够更改控制和骨头顶部的Puppet2D 窗口的大小。您还可以指定排序骨头将创建下一层。一旦他们已经被创建,所以请确保你在你的骨骼和控制在创建之前开始处设置这,这不会改变他们的层。
Skeleton骨架:
BoneCreation:
骨骼是将控制你的小木偶是如何移动的支点。
若要开始创建一根骨头,请单击“Create Bone Tool”按钮。这会设置你中骨创建模式。
你会留在这种模式下,直到您按输入或单击“Finish Bone”按钮。
2D 视图中开始使用鼠标左键,你会开始绘图的骨头。每个骨骼会到父级无论您选择了。
Create Bone Tool按钮------开始创建骨骼
鼠标左键单击------绘制的骨头
退格键------删除选定的骨骼
按住 shift 键------移动选定的骨骼只
按住 ctrl 键------移动选定的骨骼和它的孩子
Alt 单击鼠标左键------选定的骨骼和它的孩子之间插入骨
单击鼠标右键------取消选择骨骼
按 enter 键/点击“Finish Bone”-----------完成在中创建的骨头。
SplineCreation:
这是一种特殊的表现为一条贝塞尔曲线的骨链。当您绘制的控件而不是骨头,它是比正常骨骼以不同的方式创建。
若要开始创建一根骨头,请单击“CreateSpline Tool”按钮。这将设置你在样条创建模式下。你会留在这种模式下,直到您按输入或单击“Finish Spline”按钮。在这一点上,我们也须待骨头。
2D 视图中开始使用鼠标左键,你会开始绘制SplineControls。
使用滑块可以指定将每个控件之间作出多少块骨头。设置此之前启动此工具。
鼠标左键单击-----------绘制控件
持有 Shift 或 Ctr----------移动控件
按 enter 键/点击"完成样"-----------完成在中创建样条控件
RiggingSetup:
尽管它可能只是按直接旋转关节动画显示您的角色,这可能是棘手的方式来进行动画处理,特别是当它来到保持双脚在地面上的。使用 Puppet2D 创建一些自定义的控件,为你的角色是一个非常快速的过程,和真的使进行动画处理的工作,更直观、更容易。
Global Control全局控制
当您首次创建控件时,您将看到gloabl_ctrl 也会创建在层次结构中。这是从所有控件的脚本得到执行的基础。关闭此脚本将禁用所有控件。你会想要在这个游戏物体上添加您的动画并移动它,移动你的角色。
Start Rotation Y –允许你改变你的角色的 y 轴平面
IK handles –此角色所有 Ik 句柄,(按执行顺序)
Parent Controls – all the Parent &Orient for this character (in execution order)
Control Visibility – Turns controlsvisibility ,打开和关闭
Bones Visibility -这将切换所有的骨头,这global_Ctrl(使确信你按你父骨的刷新按钮第一个时间)的父级的可见性
Combine Meshes –这结合成一个网格共享一个纹理,(所以 1次draw call)的所有网格
Flip翻转– use this to flipthe character in the x-axis
Auto Refresh – auto orders the executionorder of the controls
Refresh Global Control – click this whenyou change something in the rig – such as delete a control or change thehierarchy in some way.
通过使用flip翻转复选框,可以在 x 轴翻转角色。
IKControls(IK 管制)
是您需要为任何你的人物四肢 (IE 胳膊或腿) 的控件。这给你一个单端控制,您可以使用动画显示他们的肢体。这将意味着你的脚会停留在地面,当你移动它的身体。
若要创建 IK 控制,选择三个骨链的末端,然后单击“Create IK Control”按钮。例如,如果您有腿部的骨头,比如thighBone>kneeBone>footBone。选择这脚骨相吻合并单击按钮
通过单击检查器中的"翻转"复选框,可以翻转哪些方式膝盖“flip” 脸。这也可以进行动画处理。
如果你想你可以有“stretchy limbs”通过单击“Squash and Stretch”复选框。
Parent& Orient Controls
与直接对骨骼进行动画处理的一个问题是他们开始从尴尬的rotations和positions。这就意味着你不能迅速通过零位调整他们重置他们。Puppet2D 允许您创建控件更容易选择和起步在零的位置和旋转,所以可以轻松地重置。Parents控件影响的位置和旋转,orient的控制影响只旋转。
若要创建parent控件中选择一根骨头,控制,然后单击“Create Parent Control”
若要创建一个orient的控件选择一根骨头,控制,然后单击“Create Orient Control”
通过将滑块移动到所需的规模,可以调整控件大小在你的场景。
在下拉菜单底部的索具安装程序中,您可以选择哪些排序的层,以将控件放在上。它是一个好主意,有一个“Control”排序图层,所以你能直观地在字符和骨头。
Skinning
有三种方法得到的骨头来影响你的精灵;由parenting,parenting,或FFD。
Parenting
您可以手动parent你的精灵的骨头,但加快了Puppet2D 的这份工作有一个按钮,所有的你一次过的对象。选择所有的骨头和所有精灵或对象,然后单击“Parent Object to bones”.。这将父您最近的骨头的所有对象。
Skinning
Skinning允许单个的对象,将会受到更多于一根骨头。为了做到这一点的精灵需要转换为一个网格。
要做此选择您的精灵(确保它没有父级),然后单击“Convert Sprite To Mesh”。你可以选择如何细分你想要从“Typeof Mesh”下拉菜单中的网格。
您可以通过第一次将一个 polygon2Dcollider 组件添加到精灵更改的网格中顶点的数量。您可以使用此删除并添加之前将其转换为一个网格的顶点。
要将网格绑定到骨头,选择所有的骨头和皮肤,然后单击“Bind Smooth Skin”.。您可以选择您希望默认皮肤要绑定到使用“num Skin Bones”下拉菜单中的骨头的数量。您的网格现在应该对它有皮肤网格渲染器组件。~ 如果你移动骨骼网格应随之移动。
要绘制皮肤权重选择您的网格并单击“PaintSkin Weights”.。现在,您可以通过选择所需的骨绘制网格顶点上每个骨骼的强度,并单击鼠标左键绘制权重的那块骨头。
通过使用滑块来更改画笔大小和强度或持有 B 画笔大小和 N 的强度。
Left Click – Add Weights
Hold ALT – Subtract weights
Hold SHIFT – Smooth Weights
Hold B – change brush size
Hold N – Change brush strength
通过单击“Finish Edit Skin Weights”完成绘画权重
您还可以手动编辑皮肤权重通过单击“EditSkin Weights”按钮。你会看到一堆父级到网格的顶点物体。如果你选择你将看到的骨骼影响的顶点,紧接着他们的权重列表的顶点。若要编辑的权重值或影响,只需更改检查器中的值。如果您想要更改多个顶点一次,更改的值,然后单击检查器中的“Update Skin Weights”按钮
完成编辑权重单击Finish Edit Skin Weights”按钮和顶点将被删除。
通过将滑块移动到所需的规模,可以调整 vertexHandles 大小在你的场景。
FFD
这是最灵活的方法,因为它允许您以变形角色。以及动它的骨头。
若要创建 FFD,选择你的精灵并单击“CreateFFD Tool” .。你现在可以开始画在你的人物FFD。首先,你应该开始并条机的角色四周。之后,您可以添加任何内部的部件,如果你需要它。单击“Finish FFD”完成创建它并进行新的FFD Mesh。
Create FFD Tool – start creating FFDControls
Left Click – draw FFD Controls
Hold Shift or Ctrl – move selected FFDControl
Right Click – Close Current FFD loop andstart creating a new loop
Press Enter/Click “Finish FFD” - Finishescreating FFD
要获得FFD控件以动的骨头你可以parent他们,或者skin他们。(基本上你可以对待他们好像他们是一个网格。)
FFD Parenting
parent他们选择 FFD 控件和骨头,然后单击“ParentObject to bones”——FFD父母将父级的骨头。
FFD Skinning
要剥他们的皮,选择 FFD 控件和骨头,然后单击“BindSmooth Skin”。您也可以选择剥皮的值为 1 或 2 (不要使用 4(FFD),这需要另一个功能)。
Using the FFD on another Mesh
你也可以嵌入到同一 FFD 其他网格。做到这一点,您需要设置 Num 皮肤骨骼为 4(FFD)。请确保新的网格正好落在FFD。选择 FFD 控件和网格,然后单击“Bind Smooth Skin”。
必须要意识到,为了使这项工作上,你需要要创建与FFD可见原始网格。你应该把这周围为未来剥皮。
Animation:
要开始做动画只需在 global_Ctrl上创建动画剪辑,你可以移动/缩放旋转控件和在动画窗口中设置关键帧。
如果你想要通过移除所有的控制来优化动画脚本-你可以bakes到骨骼动画。
若要bake动画与有你想要bake的动画 global_ctrls 打开了一个场景。单击bake动画------这将使你所有的动画与重复bake里面的Puppet2d>Animation>Baked文件夹。这些将作为骨头而不是控件上的关键帧动画。您还将注意后,你这 Puppet2d 将禁用 globalCtrl 脚本。现在,您可以添加论文动画到您的动画控制器和他们可以替换所有控制动画。
你可以使用呈现动画和渲染的Alpha,使你的动画一个 png 序列。您可以使用 alpha 与composite的背景在外部编辑包中。
帮助动画你可以保存姿势并加载它们。
若要保存选择,选择在你的场景中的东西并单击“Save Selection”.。
要加载选择右键点击一个负载广场和悬停在“Select Objects”.
删除加载插槽右键单击并选择“Remove Selection”
添加到负载广场,选择您想要添加,然后选择"追加选择"
加载“Load Pose”一个姿势点击
要保存“Save Pose”一个姿势点击
Unity3d的2D骨骼动画插件Puppet2D的使用2