| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> Unity3D插件 Puppet3D的使用 -> 正文阅读 |
|
[游戏开发]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? 注意:当你在制作动画的时候,建议你先将角色脱离预制体prefab,这将会让你选择控制器的时候更加方便。 IK/FK Arms&LegsIK(反向运动学)是指你移动控制器的时候,肢体也会随之移动; 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? 你可以把身体和四肢混合在一起, 如果以上属性值都设置为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状态。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 19:41:49- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |