如何看待骨骼动画编辑器cocostudio粒子编辑器与spine

6984人阅读
要看懂本文,你需要了解骨骼动画(或称关节动画)是什么,以及DragonBones是什么。下面提供了一些资料:
To flash veteran: do you remember the ‘Moho’?
不要使用官方版本的DragonBones
在写这篇文章的时候,DragonBones的官方版本为v2.3。cocos2d-x的稳定版本为2.1.5。
为了使用cocos2d-x,我们需要选择 Zip(XML and PNGs) 的方式,将图像文件导出为独立的图像帧加上XML格式的元数据文件。官方版本的DragonBones,会将元数据分成texture.xml和skeleton.xml两个文件,而cocos2d-x目前不支持这种情况。
因此,我们需要使用修改过的DragonBones插件。在,版本是2.0。但这个插件有一个bug,我在2.2的基础上重新打包了插件,并修复了bug。详情看这里:&。
使用这个版本的插件,在导出图像文件的时候,会将texture.xml和skeleton.xml文件合并成1个,同时会修改元数据中的部分格式,使其满足cocos2d-x的解析库要求。
注意:下面提到DragonBones的时候,均指这个修改过的插件。
DragonBones输出的图像数据可以导入CocoStudio Action编辑器
可以使用CocoStudio的Action编辑器将DragonBones输出的图片导入,然后重新输出成Cocos2d-x支持的格式。这种格式包含一个把碎图拼接好的png文件,一个plist文件和一个json文件。
如何进行上面的导入操作?可以看这个视频:
使用CocoStudio的Action编辑器导出的格式有什么优势呢?
DragonBones输出的png是碎图,而CocoStudio Action编辑器将碎图拼接成大图了;
plist文件是png碎图拼接的metadata;
json文件是骨骼和动画信息。
但是,使用CocoStudio Action编辑器有几个问题:
莫名其妙的崩溃。在导入的DragonBones文件中包含空格、中文等内容的时候,编辑器经常直接退出,让人较难判断原因;
不支持DragonBones的层级关系。如果在DragonBones中设计了层级关系,那么CocoStudio无法识别,骨骼会发生很大的错位;
CocoStudio Action编辑器不稳定。我在0.3.0.0版本中,可以导入DragonBones格式,但使用0.3.2.0,又不能导入同样的格式了,编辑器直接退出。
为什么不用CocoStudio
既然导入有这样那样的问题,那么直接用CocoStudio做骨骼动画好了,干吗还要用DragonBones?
DragonBones有如下优势:
DragonBones的骨骼动画实现起来非常非常容易;
大多数做动画的同学都熟悉Flash,但极少知道CocoStudio,谁都愿意用自己熟悉的软件;
Flash和DragonBones的操作体验优于CocoStudio太多。
加上上面提到的不稳定原因,我也无法说服自己使用CocoStudio Action编辑器,更别说把它交给美术MM了。
更何况,我们根本不必把DragonBones生成的文件导入CocoStudio!cocos2d-x能直接支持DragonBones生成的文件!
如果你还是希望用CocoStudo来做骨骼动画,可以参考这篇文章:。
update&CocoStudio升级到1.0之后,已经支持导入fla文件,但这个导入是有限制的:
需要将 想要导入到动画编辑器的元件放入到主场景中
暂时不支持导入矢量图形,可以右键矢量图形 装换为位图
暂不支持嵌套元件的元件作为骨骼部件
&,也有允许导入的文件范例。
生成cocos2d-x支持的文件格式
上面已经提到,使用DragonBones可以生成一堆碎图文件和一个xml文件。我们首先要做的,就是把这堆碎图文件拼成一张大图。cocos2d-x支持plist格式(基于XML)的元数据。
当然,如果你使用我修改过的&, 就不必进行下面的拼合工作,它会自动帮你生成png/xml/plist文件。
你也可以选择&&或者&&来做拼合碎图以及生成plist文件的工作。&正在准备支持cocos2d的plist文件格式。
拼合成功后,可以将碎图删除,现在我们有3个文件(为了方便描述,这里假设主文件名均为skeleton):
拼合后的大的png文件 skeleton.png;
plist元数据文件 skeleton.plist;
xml骨骼动画数据文件 skeleton.xml。
再次强调,这里让主文件相同只是为了方便描述,实际使用的时候,主文件不必相同。
但是(为什么非要有但是呢?),你不认为文件名相同更方便人类阅读么?
我先来说一下 skeleton.xml 的内部结构吧。下面是我用 DragonBones 官方提供的 Dragon.fla 生成的xml文件……呃……的一部分。
&skeleton version=&2.1& frameRate=&24& name=&Dragon&&
&armatures&
&armature name=&Dragon&&
&!-- 这里是一坨b 那啥~ b标签(表想不正……) --&
&/armature&
&/armatures&
&animations&
&animation name=&Dragon&&
&!-- 这里是一坨mov --&
&/animation&
&/animations&
&TextureAtlas name=&Dragon& height=&512& width=&512&&
&!-- 这里是一坨SubTexture --&
&/TextureAtlas&
&/skeleton&
好了,1和2不必再检查了。但 skeleton.xml 必须检查。如果你不希望和我一样耗费一下午来猜谜的话,就记住下面几点吧:
最新的测试标明,armatures是允许有多个子标签的,只要与animations中的子标签对应即可。armature标签只允许有一个。你生成的xml文件中,可能由于FLA制作的问题,在armatures下面有多个armature,这是绝对不行DI。cocos2d-x碰到这种情况会直接异常没商量。所以,留一个最终正确的吧!
armature和animation的name属性必须完全相同,这个名称将是cocos2d-x中最终使用的名称。
TextureAtlas的name属性和skeleton的name属性就无所谓啦,可以随便填了。
还是有必要再罗嗦一遍,各种name不要用中文,不要加空格,不要用特殊字符……grumble,grumble……
话说,为什么生成的xml文件中会有多个armature呢?借势淫威……你的FLA库中的某个MovieClip中的第一层中包含label!
我们知道(我不知道你知不知道,你知道你就是我们知道中的我们,你不知道你就不是我们知道中的我们),DragonBones会将MovieClip第一层的label当作骨骼动画中的不同动作。如果你某个不开眼的MovieClip中莫名其妙的加了一个不知所谓的label,而且你这个MovieClip又被制作动画的那个主MovieClip使用了,那么这个带有label的MovieClip也会被作为armature输出。
使用CCArmature包实现骨骼动画
终于特码嘚进入代码阶段了,我快要累死了。
CCArmature并不是cocos2d-x核心包的内容,你可以在 cocos2d-x/extensions 中找到它。
在头文件中,需要include CCArmature包的所有内容。我不明白为什么 cocos2d-x 开发组不把这些包含文件都放到 cocos-ext.h 中去。毕竟 spine 都被放进去了啊。难道是不稳定?不敢再往下想了,一定有阴谋,借势个阴谋……
#include &cocos2d.h&
#include &cocos-ext.h&
#include &VisibleRect.h&
#include &CCArmature/CCArmature.h&
#include &CCArmature/CCBone.h&
#include &CCArmature/animation/CCArmatureAnimation.h&
#include &CCArmature/datas/CCDatas.h&
#include &CCArmature/display/CCBatchNode.h&
#include &CCArmature/display/CCDecorativeDisplay.h&
#include &CCArmature/display/CCDisplayManager.h&
#include &CCArmature/display/CCSkin.h&
#include &CCArmature/physics/CCColliderDetector.h&
#include &CCArmature/physics/CCPhysicsWorld.h&
#include &CCArmature/utils/CCArmatureDataManager.h&
#include &CCArmature/utils/CCConstValue.h&
#include &CCArmature/utils/CCDataReaderHelper.h&
#include &CCArmature/utils/CCTweenFunction.h&
#include &CCArmature/external_tool/sigslot.h&
update&现在阴谋终于展现了,原来cocos2d-x 2.2.0 把 CCArmature 整合进入了extensions/CocoStudio&包。下面的内容出现在&cocos-ext.h&中:
#include &CocoStudio/Armature/CCArmature.h&
#include &CocoStudio/Armature/CCBone.h&
#include &CocoStudio/Armature/animation/CCArmatureAnimation.h&
#include &CocoStudio/Armature/datas/CCDatas.h&
#include &CocoStudio/Armature/display/CCBatchNode.h&
#include &CocoStudio/Armature/display/CCDecorativeDisplay.h&
#include &CocoStudio/Armature/display/CCDisplayManager.h&
#include &CocoStudio/Armature/display/CCSkin.h&
#include &CocoStudio/Armature/physics/CCColliderDetector.h&
#include &CocoStudio/Armature/utils/CCArmatureDataManager.h&
#include &CocoStudio/Armature/utils/CCDataReaderHelper.h&
#include &CocoStudio/Armature/utils/CCTweenFunction.h&
#include &CocoStudio/Armature/external_tool/sigslot.h&
那么,如果你使用cocos2d-x 2.2.0(或以上),只需要&#include &cocos-ext.h&&即可了。
载入资源、创建动画、播放第一个动画。
VisibleRect这个类可以在 TestCpp 范例中找到。
我写得简单,是因为我只说重点和易错的地方。
埋怨我写的简单的,可以直接查看 TestCpp/ExtensionsTest/ArmatureTest 范例,那个详细得令人发指。
update&在 cocos2d-x 2.2.0 中,应该查看 ExtensionsTest/CocoStudioArmatureTest 范例。
CCArmatureDataManager::sharedArmatureDataManager()-&addArmatureFileInfo(&skeleton.png&, &skeleton.plist&, &skeleton.xml&);
CCArmature* __armature = CCArmature::create(&Dragon&);
__armature-&getAnimation()-&playByIndex(0);
__armature-&setPosition(VisibleRect::center().x, VisibleRect::center().y*0.3f);
addChild(__armature)
Cocos2d-x 2.2.0 在 CCArmature 上的BUG
比较 Cocos2d-x 2.1.5 和 Cocos2d-2.2.0,它们的CCArmature播放效果不同。
原本在2.1.5上非常流畅的Armature的骨骼动画,在2.2.0上会出现卡顿,以及动作不协调等情况。这不是帧率的问题,应该是在修改的过程中,Armature的Tween出了问题。
我分析出现这个BUG的原因应该是这样的:
CCArmature其实是基于DragonBones2.1的库移植而来,就是用C++把ActionScript3代码库重写了一遍;
现在触控传媒希望大力推进CocoStudio的使用(目前是lite版,可能以后会出收费版),让CocoStudio去支持CCArmature骨骼动画,因此不断对CCArmature进行改进以支持CocoStudio生成的JSON文件格式;
在改进的过程中,可能因为某些失误,导致对原来的DragonBones格式的支持出现了问题;
由于这次改进仅针对CocoStudio导出的JSON格式,而没有测试DragonBones生成的格式,导致这个BUG在2.2.0发布的时候也没有得到解决;
cocos2d-x在各种大会上说支持Flash,让Flash成为cocos2d-x的编辑器,其实团队内并不是真正重视Flash,或者并没有安排Flash的相关测试;
对于Cocos2d-x的使用者来说,深入了解Flash的可能比较少,更少人知道CCArmature其实是来自DragonBones,使用DragonBones的就少得可怜。再加上网上的资源匮乏,旧的、被转帖的教程泛滥,描述正确且准确的教程缺失,这个BUG就很难发现;
以上全是我的猜测。
但即使是官方的TestCPP,如果测试DragonBones导出的Dragon那个Armature动画,也是能看出问题的。下面是动画,请注意尾部顶端、右臂以及腿的动作区别(这两个gif文件很大,要稍微等一会儿才会播放流畅):
For v2.2.0 testcpp/ExtensionsTest/CocoStudioArmatureTest
For v2.1.5 testcpp/ExtensionsTest/ArmatureTest
这个BUG我已经在&&,不过开发团队似乎只测试了CocoStudio导出的格式情况,并且认为并无问题。我补发了TestCpp的测试视频,官方并未回复。
update&根据开发团队的最新回复,此BUG已经被确认,并指定目标版本为3.0alpha-1。看来要等一段时间了。在官方解决这个BUG之前,我只能使用2.1.5版本。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:133165次
积分:2029
积分:2029
排名:第12000名
原创:57篇
转载:64篇
评论:24条
(1)(2)(1)(2)(3)(2)(3)(1)(2)(1)(2)(1)(2)(3)(10)(5)(1)(1)(4)(2)(1)(6)(5)(1)(6)(2)(12)(6)(16)(8)(3)(7)【干货】Unity3d的2D骨骼动画插件Puppet2D的使用
开发Cocos2D的程序员都知道,Cocostudio其中一个动画编辑组件中的。骨骼动画对于游戏开发的性能上是很好的,有些时候和序列帧动画相比。强大的unity3d虽然也可以开发2D游戏,可以序列帧实现动画。 还是没有2d的骨骼动画编辑功能。最近开发了一个第三方的插件,专门对unity实现这个功能。
那就是Puppet2D。Walkthrough演练Introduction:这是一个快速的演练,如何使用Puppet2D设置一个角色的动画。首先打开一个新的场景,在Scene视图中的 2D 按钮上单击。可以在窗口顶部的菜单中找到window-& Puppet2DCreatethe Character:在Project面板中你会发现在Puppet2D/Textures/PuppetMan文件夹中的puppet2d角色精灵。展开它,将每个身体部位拖动到场景视图排列它们,所以它看起来像图像bellow。(移动的 z 分量以使胳膊和腿出现在正确的绘制顺序)CreateLayers:现在我们想要将角色放到锁定的图层上,所以,我们不要无意中选择他当我们画的骨头。要选择层屏幕右顶部下拉选择,去编辑图层和自由层插槽中键入Character。锁定该图层,然后选择所有精灵在你的场景中,并从在检查器中的层下拉列表中选择该Character。现在我们可以制作bones骨骼和control sortinglayer控制排序图层。在屏幕顶上Layer中下拉,添加两个排序图层----叫一个Bones和一个Controls。现在,我们已准备好去取出骨头的功能。BoneCreation:
首先骨层到Puppet2D窗口中的Bones设置。单击&Create Bone
Tool&按钮可启动该工具。现在,您可以单击到Scene视图开始绘图骨头。1、从hip臀部开始和spine脊柱骨骼和head头部的骨头,2、然后
右键单击以结束当前的骨。3、点击顶部的spine脊柱joint和开始绘制的左的手臂leftarm、
手肘elbow,然后手hand,4、右键单击要结束的骨。5、现在做相同的right
arm右手臂。6、hip骨单击鼠标左键,开始画thigh大腿、knee膝盖,然后foot脚,7、右键单击并重复另一条leg腿。现在要退出骨创作单
击&Finish Bone&按钮。
现在我们应该命名所有的骨头,让事情清楚。您的层次结构如下所示。RiggingSetup:操纵设置现在我们要创建的控制,我们可以用来制作角色动画。首先选择控制在下拉中,因此控制在排序图层上创建& Controls &。选择 handL 骨,然后单击“CreateIK Control”。这将创建要进行动画处理,将容易的手动控制。对于 handR,footL,footR,重复此操作。接下来我们需要创建身体控制----选择臀部,然后单击“CreateParent Control”。这将使一个control来移动和旋转臀部。若要创建spine
controls脊柱控制,选择spine脊柱,然后单击“CreateOrient Control”。如果你注意到在我们的 heierachy
我们有全局的控制-----这是所有控制的父级。选择 spine_CTRL_GRP,并将它拖到
hip_CTRL。下一步选择头部骨骼并单击“Create Orient Control”。选择
head_CTRL_GRP,并将它拖到spine_CTRL。Skinning:控制已设置我们需要加入到角色的骨头。有两种方法做到这一点------父精灵关节和皮肤:Parenting:hierarchy中选择PuppetMan_armBottom,PuppetMan_armTopand,和 PuppetMan_gunTop,以及所有的骨头。现在单击&Parent Objects to bones&。Skin Binding:皮肤的身体部位的骨头,我们首先需要将它们转换为可更换皮肤的网格。要做到这一点选择其余的网格,然后单击“Convert Sprites to Mesh”.。选择它们并将它们添加到Character层。Now select legL,kneeL,footL,hip, spine and PuppetMan_body_GEO and click “Bind smooth Skin”.Selecthip,legR,kneeR,footR and PuppetMan_leg_GEO and click “Bind smooth Skin”.Select Spine,armR, elbowR,handR and PuppetMan_armR_GEO and click “Bind smooth Skin”.Select Spine ,head and PuppetMan_head_GEO and click “Bind smooth Skin”.FinalSetup它差不多准备好了要进行动画处理。但首先,我们需要清理scene和修复一些skin weights皮肤权重。hierarchy中将臀部和所有的网格拖动到Global_CTRL。现在,选择全局控制,把它打开和关闭来刷新它。现在,您可以将可见性的骨头-------因为你不需要看到他们要进行动画处理的character。尝试移动圆形控件------那里也许加权的几个问题喜
欢footarea。要修复选择PuppetMan_leg_GEO 和 PuppetMan_body_GEO,然后单击& Edit skin
&。您应该注意出现的小顶点手柄。选择它们,你会看到您可以更改inspector中的权重。如果你想要一次更新多个重量-单击inspector中的
“Update Skin Weights”按钮。一旦你已经调整了他们让您满意,请单击“FinishEdit Skin Weights”要删除的顶点手柄。现在的v应该是准备要进行动画处理。Animating:动画 Puppet2D character在一切动画在 Unity 中以同样的方式工作。选择Global_CTRL,在动画窗口中创建一个新的剪辑clip。移动控制并设置关键帧,随便哪里只要你喜欢----快乐动画!Introduction:Puppet2D 是一种工具允许您快速设置你的 2D 角色动画的。使用此工具可以创建 2D 骨骼、皮肤你的人物的骨头,并创建真的很容易使用的控件,使动画角色一阵微风。要打开 Puppet2D 窗口,选择Puppet2D 菜单,转到Window&Puppet2DWindow。在此窗口中包含所有创作工具。若
要开始创建你的被操纵东西,你要准备好你的角色被“rigged”。在unity进入场景视图并单击 2D 的按钮,在视图的顶部。在你的 2D
角色精灵中拖动并放入锁定的图层。这是有用的所以你不要到头来不小心点击它当你试着画骨头或控制。现在你准备好开始创建骨骼。Bone& Control Layers and scale:你就能够更改控制和骨头顶部的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-axisAuto Refresh – auto orders the executionorder of the controlsRefresh
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。这就意味着你不能迅速通过零位调整他们重置他们。
允许您创建控件更容易选择和起步在零的位置和旋转,所以可以轻松地重置。Parents控件影响的位置和旋转,orient的控制影响只旋转。若要创建parent控件中选择一根骨头,控制,然后单击“Create Parent Control”若要创建一个orient的控件选择一根骨头,控制,然后单击“Create Orient Control”通过将滑块移动到所需的规模,可以调整控件大小在你的场景。在下拉菜单底部的索具安装程序中,您可以选择哪些排序的层,以将控件放在上。它是一个好主意,有一个“Control”排序图层,所以你能直观地在字符和骨头。Skinning有三种方法得到的骨头来影响你的精灵;由parenting,parenting,或FFD。Parenting您可以手动parent你的精灵的骨头,但加快了Puppet2D 的这份工作有一个按钮,所有的你一次过的对象。选择所有的骨头和所有精灵或对象,然后单击“Parent Object to bones”.。这将父您最近的骨头的所有对象。SkinningSkinning允许单个的对象,将会受到更多于一根骨头。为了做到这一点的精灵需要转换为一个网格。要做此选择您的精灵(确保它没有父级),然后单击“Convert Sprite To Mesh”。你可以选择如何细分你想要从“Typeof Mesh”下拉菜单中的网格。您可以通过第一次将一个 polygon2Dcollider 组件添加到精灵更改的网格中顶点的数量。您可以使用此删除并添加之前将其转换为一个网格的顶点。要
将网格绑定到骨头,选择所有的骨头和皮肤,然后单击“Bind Smooth Skin”.。您可以选择您希望默认皮肤要绑定到使用“num Skin
Bones”下拉菜单中的骨头的数量。您的网格现在应该对它有皮肤网格渲染器组件。~ 如果你移动骨骼网格应随之移动。要绘制皮肤权重选择您的网格并单击“PaintSkin Weights”.。现在,您可以通过选择所需的骨绘制网格顶点上每个骨骼的强度,并单击鼠标左键绘制权重的那块骨头。通过使用滑块来更改画笔大小和强度或持有 B 画笔大小和 N 的强度。Left Click – Add WeightsHold ALT – Subtract weightsHold SHIFT – Smooth WeightsHold B – change brush sizeHold 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 FFDControlsLeft Click – draw FFD ControlsHold Shift or Ctrl – move selected FFDControlRight Click – Close Current FFD loop andstart creating a new loopPress Enter/Click “Finish FFD” - Finishescreating FFD要获得FFD控件以动的骨头你可以parent他们,或者skin他们。(基本上你可以对待他们好像他们是一个网格。)FFD Parentingparent他们选择 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”一个姿势点击更多文章内容点击阅读原文
微信号:myweiblog
扫描并关注抽取红包、50元话费与圈内人交流、分享
游戏资讯哪家强?就这里(⊙v⊙)
我要分享:
你可能知道用UMG控件不能直接渲染3D模型/蓝图/网格(因为UE4.7.4还在更新)。最根本的是把3D模型转化为能在UMG控件中使用的2D图片。听起来不错,但细节更精彩!在UE4中用UMG控件/HUD渲染3D模型
Cookpad是日本最大的在线菜谱分享公司、上市企业,也是日本将Rails用到了极致的公司。本文则分享了他们从1年前开始微服务化到现在的经验总结。日本最大菜谱网站Cookpad微服务经验总结
在大中型项目中,在数据库设计的时候,考虑到数据库最大承受数据量,通常会把数据库或者数据表水平切分,以降低单个库,单个表的压力。我这里介绍两个我们项目中常用的数据表切分方法。当然这些方法都是在程序中使用一定的技巧来路由到具体的表的。数据库水平切分方法
什么情况下数据库和缓存中的数据会不一致,如何保证一致,“串行化”是个优化思路。缓存与数据库一致性保证
1.小团队人力协调会比较麻烦,如果有一个人请假或者离职,整个团队工作量和任务安排就要出很大变化。小团队灵活,[]小型团队的各种瓶颈在哪里
本次分享主题:电商网站架构案例。从电商网站的需求,到单机架构,逐步演变为常用的,可供参考的分布式架构的原型。除具备功能需求外,还具备一定的高性能,高可用,可伸缩,可扩展等非功能质量需求(架构目标)。大型网站架构系列:电商网站架构案例
欢迎来到如何在Unity中制作塔防游戏的第二部分。现在正在Unity中创建一个塔防游戏,而且在第一部分可以放置并升级怪兽了。还有一个敌人来袭击曲奇。然而,敌人不知道该面向哪个方向!本篇将添加一波波敌人并武装怪兽以便他们可以保护珍贵的曲奇。如何在Unity中制作塔防游戏(Part II-1)
理想情况下,一个&API&撰写完成,应该能够自动生成文档和测试用例,而&API&系统也应该提供一整套统计的&API&用于生成&metrics。再谈 API 的撰写&- 总览
为什么要列这一个书单?我认为某一领域的技术人,在他的职业生涯中,一定有一些绕不过去的技术和非技术的知识。这些知识大多已经有了非常棒的书籍作为总结。看了这些书,脚下的路就要平一些。这个书单,就是为了找到移动领域的这些书。移动开发必读书单
如何从菜鸟成长为(伪)高手第二篇如何从菜鸟成长为(伪)架构师
刚加入nice就接到一个挑战任务:重构服务端整体架构,以解决在成长过程中积累的技术债务。nice服务端架构重构与演进
无论是&IM&消息通信系统还是客户消息系统,其本质都是一套消息发送与投递系统,或者说是一套网络通信系统,其本质两个词:存储与转发。一套简洁的即时通信 (IM) 系统
塔防游戏非常流行,毫无疑问——没有什么比看着自己的防御消灭讨厌的侵略者更让人满足!下面就来介绍如何在Unity中制作塔防游戏。如何在Unity中制作塔防游戏(Part I-2)
对于大部分密码加密,我们可以采用md5、sha1等方法。可以有效防止数据泄露,但是这些方法仅适用于无需还原的数据加密。PHP可逆加密解密算法
分布式文件系统用于解决海量数据存储的问题,腾讯大数据采用HDFS(Hadoop分布式文件系统)作为数据存储的基础设施,并在其上构建如Hive、HBase、Spark等计算服务。Hadoop Raid-实战经验总结
以前做过一个评论项目,把敏感关键词存入redis,然后通过php提供api,再把提交的评论内容拆分词组去请求[]敏感关键词过滤
开放源代码已经成为一些大型网站的基本原则。而在这些网站成长的过程中,一些优秀的实践经验和规则也出现在他们的结构中。本文旨在介绍一些在大型网站结构设计的过程中需要注意的关键问题以及实现目标的基础工作。可扩展&Web 架构与分布式系统
作为&CTO&的你需要想个方案。不仅仅要扩容,而且要用理论证明一下扩多少是最佳的,钱花得漂亮。排队论在架构的应用:对服务延迟、稳定性的影响
无论是&IM&消息通信系统还是客户消息系统,其本质都是一套消息发送与投递系统,或者说是一套网络通信系统,其本质两个词:存储与转发。一套简洁的即时通信 (IM) 系统
在开发人员开发Hadoop以克服大数据带来的挑战之后的10年间,这些技术的生态系统在不断发展壮大。Apache软件基金会下面有众多的开源大数据技术项目。本文介绍一些重要项目,并顺便了解几个新兴项目。壮大的Hadoop生态系统:十大炫酷项目简介
天使投资: QQ:
求手游: QQ:
音乐外包: QQ:
游戏合作: QQ:692695
12345678910}

我要回帖

更多关于 cocostudio spine 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信