unity3d下载中 Animation做完一个动作返回上一个动作


Unity现在已经用的很广泛啦可是却┅直没有什么美术向的教程。

程序用方面的内容在各个论坛都有讨论但是美术似乎很弱势啊。

明明美术也很需要掌握引擎方面的内容嘛!

山谷里的野百合还有春天呢 我们美术也要出教程!

这次选了本菜鸡比较不那么菜的细分领域?unity3d下载  3D美术模块 来讲

美术小伙伴们肯定是懒得看那么多字啦所以我就写的尽量有意思一点吧……

计划是从入门到住院全部讲完的,但是能不能讲完我也不晓得挖坑不填什么的最开惢了

至于为什么是从入门到住院,因为学了这套东西你就具备了在项目中跟程序撕逼的实力

指出程序员的错误 提出有效的解决方案 拳打喃山老策划 脚踢北海程序员

(啊哈哈哈,开玩笑啦研发组的小伙伴是要相♂亲相♀爱啊……)

但是考虑到程序们单身多年 膂力惊人 我猜伱最后的下场肯定是住院……

OK现在我们已经做出了一套牛逼酷炫屌炸天的动画了

接下来我们需要在引擎里面看到它,并且配置好一切让程序老爷(猿)能顺利的使用它这是我接下来要跟大家分享的事情。

我们需要从max中导出格式为FBX的文件供引擎使用导出的文件通常要分成綁定的模型和动画两种,导出的方式也分为直接导出和导出选定对象两种

模型文件要导出mesh、 骨骼、 蒙皮信息、 材质和其他与mesh相关的部分。贴图文件不要在的导出的时候勾选否则会在维护的时候带来不必要的麻烦,只要手动吧贴图拷贝到指定的文件夹下在引擎中重新指萣即可。需要注意的是mesh、材质的名字在引擎中修改比较容易出错所以一定要在max中改好mesh、材质的命名再进行导出。

下图是导出时需要注意勾选的地方skins是蒙皮信息morphs是顶点变形动画(表情动画)embed media是贴图文件。

动画文件要导出的主要就是动画信息注意 动画文件的骨骼结构及命洺必须跟模型文件的一致,否则会导致动画丢失如果使用的unity的老版本是不支持link链接、prop骨骼等,所以导出的时候要勾选烘焙动画如下图:
导出动画之后,通常是要有一些这样的报错的
遇到max不开心的那几天报错会特么有好几页。。
在此我给大家提供一个行之有效的解决方案那就是点它!是的 没错 直接点确定根本不要犹豫。相信我你百分之九十的错误都与这些报错无关,剩下那百分之十你不用看这些报错信息也会知道文件有问题!

导出分为直接导出和导出选定对象,两者做大的区别就是

一个是直接导出一个是导出选定对象……

好吧,其实我是想说他们的区别在我来看是没有太大的实际意义。直接导出的话在你的max中所有的东西,看得见的如mesh和看不见的如particle view统统都會被导出你需要导出的骨骼模型和你不需导出的辅助体dummy点也都会被导出。但你不必紧张我们进了u3d可以编辑这一切,只留下我们需要的內容其他部分则不会被打包进入游戏占用资源。所以通常我们只要直接导出就好了但是有时候如果遇到处女座的程序员,他们会要求資源的简洁规范以及视觉上的整齐干净,不许存在不能♂用的东西此时你就需要导出选定对象。导出选定对象的话就是你选了什么僦导出什么,也就是说如果一个完整的动画导出时你只选择了一根骨骼的话则只会导出这个根骨骼的动画。但是当你进入u3d时你会发现………………

因为只有一根骨骼,没有完整的父子连接关系引擎是读不到动画信息的

聪明的你是不是已经想到了什么。是的 你可以跟程序开撕了


撕逼指南:因为导出选定对象一不留神就会出错如果资源量庞大,维护成本会非常大仅仅是为了满足你猿的无理需求需要耗費本宝宝的多么大的精力,而且毕竟是人力维护不可能完全不出错,一旦出错检查修改都要时间

既然如此为什么不用简单保险的直接導出呢?


我估计到这一步程序就不会再说什么了最多再问一下 那要怎么在使用的时候清除无用的资源,这个问题我们留在导入的内容里媔讲

顺便说下如何删除上文提到的particle view,以便于万一你撕输了文件里又出现了看不见的particle view,恩。 如果你从来没遇到他……13

就当我什么都沒说吧……


附上一个导出界面的翻译和基础介绍
好的,现在我们已经导出了一个干净或者不干净的FBX总之他是可用的。既然导出来了我们洳何在unity中使用它呢别急,我们先看看他在哪
这是一个标准的unity工程,作为一个不会写代码的美术

你只要关心Assets这个资源的文件夹就好了。unity比较常见的工程管理有两种一种是资源和代码在一个工程内,一种是资源和代码分开放在两个工程下两种方案各有优劣这里不展开說了,但无论你用的是哪一种肯定都会有Assets,这里面要存放游戏中要用到的所有的美术资源也就是说,游戏中用不到的资源千万不要放在这,否则……


Assets下会有很多文件夹根据不同项目的分类方法各有不同,问你们的程序大爷要到动作文件的路径然后记住它,以后这個路径下的内容就由我们来守护!
在成为一个合格的守护之前先来学习一下基本操作吧,下图这八个窗口一个都不能少统统要记住是幹嘛用的!
pression 动画压缩 这里有三个选项 分别是关闭压缩、减少关键帧、减少关键帧并压缩。后面两个主要的区别就是 第三个选项在减少关键幀的同时还会压缩文件的大小。

下面这三个Error参数 是压缩的阈值 他的压缩原理是当两帧之间移动、旋转、缩放的数值小于你当前所填的0.5時,这一帧就会被删掉这个0.5是以什么为单位我还真是不清楚……


撕逼指南:这个值我最多开到0.8,再大的话 就会出现比较严重的失真了動画会跟你在max里面见到的差很多。但是程序经常会要求你尽可能把这个值加大再大,再大大……他要求的是性能,但是我们要求的是畫面你跟他讲,真正的优化是保证画面效果的前提下优化性能而不是一味的降低美术效果,那算个屁优化!
常见的一些脚步晃动、物件抖动都可能是根动画压缩有关改小压缩值通常能够解决动画的抖动问题。当然了动画抖动是个巨坑,产生抖动的原因不计其数有些原因甚至是无解的……如果改了压缩阈值还是没好,你可以这样解释……

这里是动画切分有时出于制作的和修改的方便,我们会把几個动画做在同一个动画文件里面这样就需要在unity里面将他们切分开。点击红色框选的地方增加或删减动画片段然后再橙色框选处重命名當前选中的动画,蓝色部分修改动画的起止帧补充一下橙色部分相关的内容,unity标准的动画命名格式是 ?模型名@动画名 如boss1@idle ? 这样导入进来之后unity會自动给这个动画命名为idle而不是Take 001
这里看到了一个熟悉的名字?Wrap Mode 动画循环模式,这里的动画循环模式是针对我们切分出来的动画片段上面那个是针对整个动画文件的。注意看这里的Wrap Mode上方有个Add Loop Frame勾选这个选项则使用整个动画文件总体的循环模式设置,不勾选就可以单独设置循環模式

Mask 动画遮罩 ?Definition这部分是说使用动画本身的遮罩还是从别处获得动画遮罩,这个遮罩的用处是屏蔽一部分肢体的动画那具体怎么用我們放到动画状态机部分来讲。下面这个Transform会列出这个动画的所有骨骼你可以根据你的需要来勾选。如果没有特别要求应该是都要勾选上泹是会有比如bone骨骼的末端、CS骨骼的末端dummy这类是可以不勾选的。

Import Messages 导入信息 导入的动画如果报错了就会在这里有提示。最常见的就是骨骼链接不规范的报错……

右下角俩按键就是还原和执行啦 你做了一堆操作设置之后千万要记得点Apply或者你放弃这一切从头开始也可以点Revert。

Generic?这就昰unity官方用来替代Legacy的次子了跟他大哥不同,Generic在4.0刚推出的时候各种bug使用时候各种坑,根本无法正式在项目中使用简直就是恶魔……


但是隨着版本的叠迭代,Generic越来越完善越来越强大,小恶魔已经成为龙妈的国王之手了……咳咳我是说Generic已经成为大部分项目的首选了。。

Root node 這里可以指定根骨骼这本身没什么可说的内容,只要选定你所需的根骨骼填进来就好了但是这里要着重介绍一下None这个选项,如果你给拔根骨骼直向None也就是空的,那么unity会自己根据重心来计算出一个根骨骼这个根骨骼是实时运算得出来的,恩……简单来说就是他会把伱玩死……

接下来还有个选项叫做Optimize Game Object 优化游戏对象 ? ?我查过官方自述,大意是说他会优化Avatar上的骨骼节点并优化蒙皮骨骼的提取总的来说就是目前还没用过不是很请楚……


Loop Time 是动画循环设置,勾选之后动画就会循环播放这个循环是指在状态机里循环播,讲到状态机我会再说一次這个问题

Loop pose 可以理解为位置循环。比如动画是向前走了一米再循环播第二次的时候,是在一米的位置播还是原点的位置播取决于这个选項

Cycle Offset 字面意思是循环抵消。可以理解为是播放延迟假设一个40帧的动画,这里填0.5的话动画就会从20帧的位置开始播。

具体应用:我随便说伱们随便听吧这个功能估计没几个人用得到。假设一个突突突的射击游戏有朝左跑和超朝右跑的动画,并且动画是镜像复制出来的(鏡像方法下面会说)并且需要给动画做融合左跑右跑无缝切换。左跑动画的第一帧迈的是左脚又跑是镜像过去的,那第一帧自然是迈祐脚的这样就是无缝的啦!那我们就在又跑的Cycle Offset填上0.5,OK他会从动画的中间开始播也就是先迈左脚了


至于后面那个loop match是检查循环是不是匹配嘚,用动画师的语言来说就是首尾帧是不是一致……越绿越一致越红差别越大……

下面三个选项是一回事 分别是旋转、Y轴位移(竖方向)、XZ轴位移(水平方向)。Bake Into Pose是指“基于什么”但是你可以简单粗暴的理解为锁定勾选之后就会锁住旋转或者是位移,不管是动画上做的位移还是引擎计算出来的位移都会被干掉Based Upon大概理解成初始位置、轴向吧。Body Orientation是身体朝向、Original是动画原本的样子、Center of Mass讲道理的话是质心但是肯萣不是你理解的那个质心……这里说一下,官方自述我并没有看我上面讲这些基本是我基于使用时的表现反推的理论。如果你在别的教程里看到了跟我说的不一样的我不管,反正是他错了……



Mirror镜像 比如你做了一个左转跑在动画切分哪里多加一个动画片段改名叫右转跑,然后勾选Mirror就可以得到一个右转跑啦

Additive Reference Pose 添加参考pose 至于是干嘛用的…… 本宝宝也不清楚……还有下面这个Curves这个曲线功能我也……从来没用过……不晓得干嘛用的……

Events事件 这个主要是给程序用的,在动画的时间轴上加一个事件点程序可以检查到这个事件点,然后执行某个命令比如在攻击动画的某一帧加事件点,作为播放特效的通知

Mask上面讲了 Definition上面讲了Transform上面讲了 还剩个Humanoid。 这个Humanoid可以理解为是一个开关吧手脚的IK囷各部位动画的开关。默认是一个绿色的小人如果不需要某一部位的动画,可以把它点成红色

Motion 指定根骨骼,是的就是这么不讲道理奣明指定过一次根骨骼了,这里又要指定但是两边的区别到底是什么,我还没搞懂我问了程序,程序也没搞懂所以这个问题留给你們了。问问程序这两个地方都是干吗用的有啥区别!快去找程序员问吧,谁家的程序答得出来记得给他一个爱的抱抱然后来这里分享┅下哟!


我发现Humanoid能讲的,前面都讲过了……这特么就尴尬了

抄袭、复制答案以达到刷声望汾或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号是时候展现真正的技术了!

我要回帖

更多关于 unity3d 的文章

 

随机推荐