unity播放动画出现切线如何关闭?

性能优化是游戏项目开发过程中一个永恒的话题。项目的性能优化主要围绕CPU、GPU和内存三大方面进行。但是如此的总结我感觉太繁杂不能成系统,例如:影响内存的主要三个部分pareTag("MyTag");

使用哈希值而不是字符串参数

Unity 不使用字符串名称对 Animator、Material 和 Shader 属性进行内部寻址。为了加快速度,所有属性名称都经过哈希处理为属性 ID,实际上是这些 ID 用于寻址属性。

每当在 Animator、Material 或 Shader 上使用 Set 或 Get 方法时,请使用整数值方法而非字符串值方法。字符串方法只执行字符串哈希处理,然后将经过哈希处理的 ID 转发给整数值方法。

在涉及到垃圾分配的时候,字符串要特别注意。即使是基本的字符串操作,也可能产生大量垃圾。这是为什么呢?

因为字符串是无法改变的数组。这意味着,如果要把两个字符串连接起来,我们会创建新数组,而旧数组会成为垃圾。所以我们可以使用StringBuilder避免或最小化这类垃圾分配。

尽可能不要使用LINQ。也就是说,不要在任何经常执行的代码中使用LINQ。

虽然使用LINQ可以使代码更容易阅读,但在很多情况下,这类代码的性能和内存分配都非常糟糕。

装箱过程会生成垃圾。什么是装箱过程呢?

最常见的装箱过程是将数值类型,例如int,float,bool等传递到需要Object类型参数的函数时,所发生的过程。

确保外部代码库不产生垃圾

如果发现部分垃圾由Asset Store资源商店下载的代码产生,我们有多个解决方法。但在我们进行逆向工程并调试前,请再次查看Asset Store资源商店的相应页面,代码库是否有进行更新。

在我们的项目中,我们使用的所有资源一直由资源的开发者进行维护,他们一直在进行性能更新,从而解决了我们的所有问题。

所以,一定要让项目使用的依赖保持更新。如果遇到没有维护的代码库,建议放弃这类代码库。

建议通过使用C#事件实现观察者设计模式。

在代码中,我们发现大多数列表有固定的长度,或是可以计算出最大成员数量。因此我们使用数组重新实现了这些列表,在特定情况下,可以在迭代数据的时候得到原先2倍的速度。

在某些情况下,我们无法避免使用列表或其它复杂的数据结构。常见的情况是:需要经常添加或移除元素的时候,使用列表的效果更好的时候。通常来说,我们会对固定大小的列表使用数组。

在堆内存上进行链表的分配的时候,如果该链表需要多次反复的分配,我们可以采用链表的clear函数来清空链表从而替代反复多次的创建分配链表。

Float运算和Vector运算的区别不是很明显,除非像我们一样进行上千次运算,因此对我们来说,这项改动的性能提升效果非常明显。

这样的原因是:每次Transform.Position调用的背后,都会有更多操作要执行,包括在调用获取函数时计算全局位置,或是在调用设置函数时从全局位置计算出本地位置。

对象池用于减少内存开销,其原理就是把可能用到到的对象,先存在一个地方(池),要用的时候就调出来,不用就放回去。而不是要用的时候创建,不用的时候销毁。

调用 StartCoroutine()会产生少量的内存垃圾,因为unity会生成实体来管理协程。所以在游戏的关键时刻应该限制该函数的调用。基于此,任何在游戏关键时刻调用的协程都需要特别的注意,特别是包含延迟回调的协程,另外还要注意不要同时开启多个携程,必要的时候可以手动关闭协程StopCoroutine();

在运行时调用 AddComponent 需要一些开销。每当在运行时添加组件时,Unity 都必须检查是否有重复项或是否需要其他组件。

日志语句(尤其是在 Update、LateUpdate 或 FixedUpdate 中)可能会降低性能。在进行构建之前,请禁用日志语句。

在 ScriptableObject 中而不是 MonoBehaviour 中存储不变的值或设置。ScriptableObject 这种资源只需设置一次就可以在项目中一直使用。它不能直接附加到游戏对象。

对于特定Unity函数,我们可以找到不分配任何内存的替代函数。在我们的项目中,这些函数都和物理功能有关。我们在碰撞检测使用的函数如下。

对于该函数,我们可以找到不分配任何内存的版本。

许多其它函数都有类似的替代函数,因此请记得查看文档,了解函数是否有相应的NonAlloc版本。

重构代码来减小GC的影响

即使我们减小了代码在堆内存上的分配操作,代码也会增加GC的工作量。最常见的增加GC工作量的方式是让其检查它不必检查的对象。struct是值类型的变量,但是如果struct中包含有引用类型的变量,那么GC就必须检测整个struct。如果这样的操作很多,那么GC的工作量就大大增加。在下面的例子中struct包含一个string,那么整个struct都必须在GC中被检查:

如果我们知道堆内存在被分配后并没有被使用,我们希望可以主动地调用GC操作,或者在GC操作并不影响游戏体验的时候(例如场景切换的时候),我们可以主动的调用GC操作:

总之代码的优化还有很多,平时要多注意这些细节养成良好的书写代码的习惯。


项目中各种资源组件的配置

这一块的内容主要是开发者对Unity引擎的熟悉程度,如果你工作时间长经历的项目多自然会知道这些组件的优化点。

UGUI)常常是性能问题的来源。Canvas 组件生成和更新 UI 组件的网格并向 GPU 发出绘制调用。它的运行开销很大,因此,在使用 UGUI 时,请注意以下因素。

隐藏不可见的UI 元素

可能有些 UI 元素(如仅当角色收到伤害时才出现的生命值血条)只偶尔在游戏中出现。如果不可见的 UI 元素是活动的,它仍然可能使用绘制调用。显式禁用所有不可见的 UI 组件,在需要时再重新启用。

如果只需要关闭画布的可见性,请禁用 Canvas 组件而不是游戏对象。这样就不必重新构建网格和顶点。

输入事件(如屏上触摸或单击)需要 GraphicRaycaster 组件。它只是循环处理屏幕上的每个输入点,检查它是否在 UI 的 RectTransform 之内。

从层级视图的顶层画布中移除默认的 GraphicRaycaster。只向需要交互的各元素(按钮、滚动矩形等)添加 GraphicRaycaster。

 另外,在所有不需要 Raycast Target 的 UI 文本和图像上将其禁用。如果是包含很多元素的复杂 UI,所有这些小更改都可以减少不必要的计算。

 避免使用布局组

布局组的更新很低效,应少量使用。如果内容是动态的,应完全避免不用,而是使用锚点进行比例布局。或者,创建自定义代码,在Layout Group 组件设置 UI 之后,将该组件禁用。

如果动态元素确实需要使用布局组(水平、垂直、网格),应避免嵌套它们,从而改善性能。

使用全屏UI 时,隐藏其他全部内容

如果暂停屏幕或者启动屏幕遮住场景中的其他全部内容,则禁用摄像机对 3D 场景的渲染。同样,禁用隐藏在顶层画布之后的所有背景画布元素。

减少DrawCall,多张图片需要多次DrawCall,合并成一张大图只需要调用一次DrawCall

 尽管音频通常不会造成性能瓶颈,还是可以进行优化以节省内存。

尽量使用单声道声音剪辑

如果要使用 3D 空间音频, 请以单声道 (single channel) 的形式创作声音剪辑,或者启用 Force To Mono 设置。在运行时定位使用的多声道声音会扁平化为单声道源,因此会增加 CPU 开销和浪费内存。

尽可能使用原始未压缩WAV 文件作为源资源

如果使用任何压缩格式(如 MP3 或 Vorbis),Unity 会将其解压并在构建时重新压缩。这样会导致两个有损通道,从而降低最终质量。

压缩剪辑并降低压缩比特率

通过压缩减小剪辑的大小和内存使用量 :

  • 对大多数声音使用 Vorbis(或者对不循环的声音使用 MP3)。

  • 对常用的短声音使用 ADPCM(如脚步声、枪声)。相比于未压缩的 PCM,这样可以减小文件大小,在播放时又可以很快解码。

移动设备上的音效最高为 22,050 Hz。使用较低设置通常对最终质量影响很小,当然,请使用您自己的耳朵来判断

 选择正确的加载类型

每个剪辑大小的设置都不同。

  • 大文件(背景音乐)应设置为 Streaming。否则,整个资源会一次性加载到内存中。

实现静音按钮时,不要只是将音量设置为 0。可以销毁 AudioSource 组件,从而将其从内存中卸载,这样,播放器不需要过于频繁地切换开关。

Unity的动画相当复杂。尽可能限制在移动设备上使用下面的设置。

默认情况下,Unity 通过通用骨架导入动画模型,但在动画化角色时,开发人员常常切换为人形骨架。

人形骨架每一帧(即使未使用)都计算反向动力学和动画重定向,占用的 CPU 时间比等效的通用骨架多 30-50%。如果不需要这些特定人形骨架功能,请使用通用骨架。

Animator 主要用于人形角色,但也常用于动画化单个值(如 UI 元素的 Alpha 通道)。避免过多使用 Animator,尤其是与 UI 元素结合使用。只要可能,对移动设备使用旧版 Animation 组件。

考虑创建补间函数或者使用第三方库来实现简单动画(如 DOTween)。

Unity 的内置物理系统 (Nvidia PhysX) 在移动设备上开销较大。下面的提示可以帮助您每秒减少更多帧。

网格碰撞体开销较大。用简单的原始碰撞体或网格碰撞体代替更复杂的网格碰撞体来近似原始形状。

使用类方法(如 MovePosition 或 AddForce)来移动 Rigidbody 对象。直接转换其 Transform 组件可能导致重新计算物理世界,在复杂场景中,这样需要较大开销。

否则,如果帧率在运行时下降,也就是说 Unity 每帧都多次调用 FixedUpdate,可能会因物理内容过多而造成 CPU 性能问题。

Maximum Allowed Timestep 对帧率下降时物理计算和 FixedUpdate 事件可以使用的时间进行限制。降低该值意味着在性能顿挫过程中,物理系统和动画会缓慢下来,但也会减小其对帧率的影响。

性能优化是一个广泛的话题。理解移动硬件的运行方式及其限制。要找到符合您的设计要求的有效解决方案,您需要掌握 Unity 的类和组件、算法和数据结构,以及平台的性能分析工具。

}

  Creature Animation是一款功能强大且非常专业的动画制作软件,该软件内置有项目创建、项目打开、抢跑时间、样本查看、导读文件资料等功能,用户可以根据情况自由选择功能进行操作,让用户可以自由进行项目创建或者快速打开已有项目先进编辑,同时可以打开特定资料进行浏览,是一款非常方便实用的动画制作软件;Creature Animation功能丰富且简单实用,内置有齐全完备的动画制作工具,可以帮助用户快速便捷的构建出各种动画形象,通过骨骼和动作设定,用户可以设置更加逼真细腻的动画效果,是一款非常优秀的动画制作工具,是动画设计师必备的设计神器

  单个图像的惊人动画

  在Creature中制作动画只需要一张图像。使用Creature强大的骨架索具和动画工具来构造,摆放,扭曲并最终使您的艺术品栩栩如生!这种动画方法简化了您的工作流程,减少了资产流失,使您能够产生高质量的结果,同时大大减少了时间和成本。

  高级体积保留形状/蒙皮

  大多数骨骼动画软件都使用LBS(线性混合蒙皮)作为在不同骨骼的影响形状之间进行融合的机制。除LBS外,Creature还采用了双四元数蒙皮技术,可在经受更多的极端弯曲时产生体积损失明显减少的形状。与LBS相比,此功能可为您提供更平滑,更高质量的形状。

  通过Bone Motors可以实现自动过程骨骼动画。骨电机是执行动画任务的组件。以最简单的形式,您可以通过安装FK电机在单个骨骼上执行传统的FK动画。您可以在骨骼链上安装IK电机,以IK方式定向和摆放骨骼。当然,就可能而言,FK和IK方法只是冰山一角。想轻松地做一个松软的尾巴吗?安装弯曲物理电动机,该电动机将自动流畅地移动并响应其余骨架的动作。有些Bone Motors会按照程序生成自动步行周期。还有一些模拟定向绳索的骨骼电机,使其适合于需要动画弯曲形状(例如动物的脖子)的任何类型的运动。这项无比强大的功能将节省时间和成本,同时释放动画艺术家的真正创造潜力。

  有些形状和动作不能仅通过骨骼动画适当地表达。在这种情况下,Creature允许您在角色的身体部位安装网格变形电机。这些强大的组件可提供一些非常高级的动画效果。其中包括自由形式变形(FFD),角色上肉肉/肌肉的软体模拟,鸟的拍打翅膀,怪物眼睛的眨眼,扭曲和转动,身体内部区域的复杂翘曲呼吸型动作的一部分等等。

  使用Creature轻松定义描述运动弧的样条曲线。使用功能强大的样条路径运动工具绘制一条曲线,可以将动画转移到该曲线中。创建曲线以动画化复杂的运动路径,从而使此类任务变得快速,轻松和高效。

  安装力场电机,以在角色的骨骼和网格物体上施加复杂的“风”型力。这使您可以非常轻松地创作和设置动画效果,例如布料效果。

  使用Creature强大的Sprite Frame Manager管理和交换大量自定义绘制的Sprite Frame动画。最重要的是,替换为Creature的Sprite会变形,并对下面的骨骼和网格马达产生反应。这意味着您可以使用Sprite动画实现一些非常复杂的效果,例如响应物理或程序网格变形的闪烁火焰。

  图像和视频旋转范围

  动画师需要参考图像和运动图像以帮助生成高质量的动画。生物可以导入外部图像和电影,从而可以使用图像辅助和旋转摄影进行动画处理。

  Mocap Transfer Studio允许您导入包含3D Motion Capture数据的Biovision BVH文件,然后将该运动传输到2D角色上。使用此功能,3D运动捕捉数据成为在Creature中对2D角色进行动画处理的一种输入形式,使您可以在很短的时间内产生引人注目的高质量结果。

  2D运动捕捉和传输

  提取导入的电影文件,并通过Creature强大的2D运动捕捉和传输过程运行它!运动捕捉标记点将作为过程的一部分自动生成,并且可以从输入视频中提取动画曲线以用于动画角色。

  强大的动画结和样条线编辑

  Creature提供了一个类似于电子表格的界面来编辑动画数据。使用“动画结”模式可以剪切,复制和粘贴多个动画结。在Creature中,可以慢下来,加快速度,向左/向右移动以及轻松进行其他形式的动画重定时。切换到“动画样条线”模式以获得对动画曲线的完全控制!使用“动画样条线”编辑器可以轻松地随时间拖动和操纵曲线切线。

  深度AI行走是Creature Pro Windows的一项尖端功能,可利用深度AI的功能基于3个输入姿势生成逼真的人类行走周期。使用此功能可以快速生成快速,高质量的自定义步行周期。Deep AI Walk的结果将写入动画关键帧中,以进行进一步的调整和定向。

  使用数学函数脚本对整个动画数据系列执行复杂的操作。此功能适合希望使用数学功能过滤/修改现有动画数据的高级用户。将简单曲线变成振荡正弦波。借助此强大功能,可以翻转,增加或减少现有曲线的偏移量。

  预览动画使用“重影/洋葱皮”功能在时间上前后移动。这使动画师可以轻松参考当前动画帧的下一个和上一个动画帧。

  自动网格生成,蒙皮和权重

  生物会自动从包含角色身体部位的图像图册生成动画网格物体。大量的选项可用于雕刻,细化,细分和抽取各种身体网格。除此之外,骨骼影响权重既可以通过直观的绘画工具手动完成,也可以通过非常复杂的智能权重算法自动完成。使用网格生成和骨骼加权工具轻松有效地对动画角色进行网格划分和绑定。

  项目版本控制和备份

  动画是一个涉及处理大量数据的过程。每次保存动画项目时,都会将一个版本存档到项目目录中。这使您可以轻松快速地还原到以前的版本。使用此强大功能,绝不会失去您以前的工作成果。用户指定此功能备份的项目版本数。

  Creature的一项强大功能是可以让艺术家在高分辨率网格中创作动画,然后将结果导出为较低分辨率。这对于针对具有各种性能规格的不同设备/硬件非常有用。Creature中的分辨率降低算法在保持高质量的同时,还提高了动画导出过程中的播放速度。

  使用Creature的Face Warp功能拍摄正面2D图像并进行3D变形!面变形可让您动画化正面角色的轻微旋转和倾斜。此强大功能可以与Creature的电机系统结合使用,以制作具有动态头发和表情的正面旋转面部动画。

  这样,您就可以将带有骨骼运动动画的外部装备导入到当前设置中。当您要将另一个角色的骨骼/装备结构转移到结构相似但外观不同的新目标上时,此功能很有用。需要在生产流程中快速编写多个字符时节省大量时间

  采取您喜欢的角色姿势并将其保存到“姿势捕获库”中。构造新的动画剪辑时,将此姿势库用作单独的关键帧。此功能使您可以使用自己的自定义姿势库快速遮挡关键姿势,从而提高动画效率并简化工作流程。

  使用手写笔滑动进行动画处理

  这使您可以使用手写笔(笔和平板电脑)或鼠标在一个动作中摆放FK骨骼链。选择一个FK骨骼链,按Shift +拖动以绘制曲线和姿势骨骼。手动设置复杂骨骼动画的一项非常强大的功能。

  GPU加速高质量超级采样导出

  借助超级采样,可以在Creature中导出高质量的结果。这样可以减少导出图像或视频时出现的锯齿线,闪烁和其他锯齿现象。该功能在可用的硬件平台上已通过GPU加速,可为您提供出色的性能和出色的图像质量。

  通过口型同步让您的角色说话!Creature通过支持由开源Papagayo工具生成的.dat文件格式,包括一个强大的口型同步框架。此功能使您可以在角色中添加说话动画,从而可以创建视觉小说和需要任何形式对话动作的内容。

  像素艺术和其他视频效果

  利用Creature的GPU加速后期处理效果框架,您可以将各种滤镜效果应用于动画的最终输出视频,包括Pixel Art,Shimmer等滤镜。可以将最终视频导出为一系列图像,Gif或Movie文件。

  运动增强器使关键帧栩栩如生

  运动增强器功能可让您手动设置所需姿势的关键帧,并让Creature处理将额外的弹跳和动画添加到动画中的工作!运动增强器可以分析和处理当前输入的动画,使您可以轻松添加物理效果,放大和缩小效果。

  在动画画布上直接绘制和绘制轮廓或注释!此功能对在Team Studio类型环境中工作的人员很有用。在动画画布上绘制笔触,以作为在同一Creature Project上工作的动画师的注释或指导。

  法线贴图和照明预览

  Creature中的法线贴图和光照预览工具使您可以可视化如何使用输入法线贴图来点亮Creature中的角色,从而为角色提供3D类型的光照,深度和凹凸效果。

  图像打包器和本机PSD导入

  导入多个图像,然后使用内置的Image Packer将它们打包在一起,形成一个方便的Texture Atlas。Creature还对绘制Photoshop PSD格式的字符提供了本机支持。原生PSD管道将自动为您创建,命名和放置您的各个身体部位图层,从而节省了宝贵的时间。

  装备模板可让您从“生物装备”文件中将预制的骨骼装备安装到当前角色上。它还使您可以将骨骼分组为零件,从而使“骨骼权重区域”的分配更加有效和容易。

  皮肤服装和物品交换

  轻松为角色动画编写可互换的服装,武器和不同外观!每个可交换项目集可以具有其自己的自定义动画集,并支持完全可变形网格的所有属性。在Creature Game Engine运行时中,可以出于自定义游戏目的控制皮肤交换。

  使用深度学习的力量来帮助自动绑定人形角色! 智能AI装备是Creature Pro Windows中的最先进功能,可利用现代AI的强大功能,只需按一下按钮即可对角色进行装备和加重。只需提供您的角色姿势,然后让AI装备来处理其余部分即可!

  来自3D网格的2D动画

  使用此先进功能,从3D网格创建2D动画角色!拿一个现有的3D网格,将其导入生物中,以创建可以通过3D照明进行照明的完全动画的2D角色!这样就可以使2D角色看起来好像实际上是3维动画!自动为您生成3D法线贴图,以达到惊人的效果。

  动画控制器+变形目标

  利用动画控制器的强大功能,对复杂的效果进行动画处理,例如3D人脸旋转/跟踪“变形姿势”定位,“肌肉姿势激活”等。可以导出变形目标并在游戏引擎中实时运行。

  流程:高级粒子效果器

  Flow是Creature Pro的功能强大的基于过程节点的粒子模拟创作工具。它使您可以对复杂的基于粒子的效果进行动画处理,例如火,烟,液体,激光流等等!

  生成精美复杂的动画只需要一个角色身体部位图集。这减少了所需的技术量,这意味着减少了生成数字内容的时间和成本。

  通过自动程序动画节省时间

  Creature中的骨骼和网格电动机允许自动生成高度复杂的动作,例如步行周期,机翼拍打和眨眼。这样可以节省大量时间,减少了逐帧移动骨骼的繁琐过程,从而获得了预期的效果。

  生物通过骨骼/骨骼和网格变形方法生成动画。与传统动画相比,这可以减少导出的动画数据的大小,传统动画可以逐帧保存多个图像。

  Creature是为传统和复杂的技术动画师而设计的。传统的动画师会喜欢Creature的旋转摄影和洋葱皮功能。技术动画师可以使用复杂的变形电机,运动捕捉和数学函数脚本来动画制作高度复杂的角色装备。

  1、完成软件下载双击软件弹出软件安装协议弹框,点击勾选我接受协议方可继续进行软件安装

  2、完成软件安装后点击finish按钮即可关闭弹框并启动软件

  3、进入软件项目创建选择界面,该界面可以进行项目创建、打开项目等操作

  4、点击创建项目进入项目创建类型选择界面,该界面可以进行图像创建和动画创建等类型

  5、点击图像创建按钮即可进入图像创建准备界面

  6、点击选择项目文件按钮弹出文件管理弹框,点击选择文件夹和输入文件名即可进行文件保存路径设置

  7、点击勾选使用图像协议后点击create创建按钮即可完成项目创建

  8、进入项目编辑界面,该界面可以添加图片到软件上进行编辑

  9、点击图像导入按钮弹出图像导入弹框,点击选择图片文件即将图片添加到软件上

  10、将图片添加到软件上后点击对应编辑按钮可以对图片进行编辑

  11、点击软件左上角的文件按钮弹出项目保存、打开、导出等功能列表,点击即可进行使用

  所有角色项目都存储在目录中。在启动器屏幕中单击创建项目。然后,您将提供一个新的Project Folder和一个PNG格式的Character Atlas图像以开始该过程:

  一个性格阿特拉斯形象就是你的性格的身体部位都处于非交叉的方式进行布局的图像文件。我们还应该选择方形图像,以便于布局和加载。这是此类图像的示例:

  单击创建,将创建新项目。

  我们将需要角色的网格,以便在屏幕上进行数字动画处理。首次初始化项目时,角色将自动通过网格创建过程进入。该应用程序将根据开始的网格分辨率尽最大努力为每个身体部位创建单独的网格。在这种情况下,您会注意到已经为您创建了网格区域,这些区域在窗口的右侧列出:

  网格化模式下有许多可用选项。如果遇到需要分开网格的问题(由于主体图像太近),为了各种目的增大/减小网格分辨率或想要在网格区域上雕刻/去除其他三角形,请阅读有关深度的文档在该站点的其他部分进行网格划分。在进入下一个阶段之前,我们想提一下您可能会发现相当有用的一个工具是边界重网格工具。该工具允许您在两个独立的身体部位合并了网格的情况下分离出网格区域,因为它们在图集图像中的布局过于紧密。

  2.1网格区域的创建

  创建网格区域后,我们将切换到“索具”模式。在这种模式下,我们将首先切换Region子模式。单击添加区域按钮以将我们的网格区域添加到装备中:

  在添加了网格区域之后,进入并使用鼠标拖动操作将区域移动/旋转/缩放到适当位置:

  具有网格区域的最终字符如下所示:

  切换“骨骼”子模式并开始骨骼创建过程。在“骨骼”子模式下切换“创建”模式。按住并在屏幕上拖动以开始为角色创建骨骼:

  骨骼是按层次结构创建的。每个新创建的骨骼都是先前创建的骨骼的子代。如果要创建另一个父级的骨骼,请切换到“选择”子模式,单击所需的父级,然后切换回“创建”以创建新的骨骼。

  最终的骨骼装备如下所示:

  这是装配过程的最后一步。我们需要在每个骨骼和每个网格之间分配点权重值。这些值确定了在动画期间骨骼变形时网格上的点如何变形。

  我们要做的第一件事是确定在加权操作期间哪些网格受到哪些骨骼的影响。我们通过切换“权重”子模式来实现。单击“受影响的区域”按钮,然后为当前选定的骨骼选择受影响的网格:

  默认情况下,将选中所有网格。这适用于大多数身体部位,除了需要在网格区域之间有明显区别的地方(例如,您有两条重叠的腿,并且您只希望对腿骨的加权操作影响大腿而不影响小腿)。

  有两种分配权重的方法:手动和自动。自动加权是获得分配给网格区域的分配好的权重的最快,最简单的方法:

  作为快速入门,您可以最大化“迭代”滑块和“影响”滑块,以获得一些合理的结果。接下来,点击全部应用。这将运行自动加权算法,将骨骼权重分配给所有相关的网格区域。

  在进入动画之前,测试一下装备总是一个好主意。切换“测试”子模式:

  该模式允许您交互式地变换装备中的各个骨骼,并观察网格如何反应/变形。这是调试任何可能存在的骨骼权重问题或网格布局问题的好方法。继续并拖动骨骼手柄以查看装备的行为。对结果满意后,就可以进入角色动画了。

  首次进入“动画”模式时,已经将角色绑定设置为执行基本FK动画。这意味着您已经可以以FK方式进入并拖动/旋转骨骼,并像其他任何动画程序一样以传统方式执行动画:

  当然,该软件的真正功能是使用内置的过程物理引擎来释放电动机的功能。我们将通过做一些腿部动画来演示部署和制作此概念的动画有多么容易。

  请注意,整个装备已经可以手动设置动画。如果要为步行周期设置动画,则可以通过在整个动画中设置骨骼关键帧来相当繁琐地完成腿部动画。这是耗时的并且不是非常有效。进入过程物理动画世界!

  3.1使用过程物理方式进行腿部动画

  首先,选择一条腿的3条骨头。然后点击Install Motor:

  在整个步行周期中,腿部动作实质上会卷入腿部尖端,从而跟踪某种半圆弧。腿的其余骨骼应根据目标尖端位置自动摆好姿势。我们拥有适合该工作的合适电机!选择“平滑IK旋转电机”。这会将“平滑IK旋转电机”安装到角色的3根骨骼上。

  如果现在按播放,您将看到腿部像时尚一样在步行周期中移动。这一切都是为我们自动完成的,无需任何实际的努力!当然,结果并不完美,因此我们将开始对电动机的属性进行一些调整,以获得所需的腿部运动效果。请注意,所有马达上的属性都可以设置为键,因此您可以随时随地为马达属性设置动画/设置关键帧。

  我们要做的第一件事是改变运动的弧度。我们要模拟腿在平面上行走。这意味着圆弧的底部应该是平坦的。我们将把scaleBottom属性设置为0。这将使弧的下部平坦。我们还将高度属性设置为3,以使腿在飞机顶部时更加抬高:

  设置好这些属性后,我们得到以下结果:

  如果现在按播放,您将获得不错的单腿步行运动。凉!请注意,为完成此相当复杂的动画设置了几个键!麻烦的是,这只是一条步行腿。我们也需要另一条腿走路!

  继续,为另一条腿的其他3根骨骼安装“平滑IK旋转电机”。应用与上一个案例相同的属性值,可以得到以下内容:

  糟糕!2英尺在移动,但它们同时在移动!我们不想要那样。行走的双腿应彼此相对移动。此类运动相对于彼此是异相的。我们可以通过简单的设定完成这样一个任务阶段的属性平滑IK旋转电机的一条腿到1:

  这样就完成了如何开始动画过程的快速入门。请记住,行走的马达只是冰山一角。您可以将Bend Physics Motors安装到生物的尾部以免费获得软盘的尾部运动,将Control Point Motors放置在生物的头部以使眨眼的眼睛动起来甚至使其变形,甚至可以使用Region Physics Motors模拟一些相当看中的肌肉/肉体收缩效果!请阅读Motors上的文档,以深入了解使用此非常强大的功能可以完成的工作。

  动画的每一帧都可以导出为PNG图像序列。

  动画的每一帧都渲染为大的PNG图像文件。

  您的动画将导出到GIF动画文件中。

  根据平台,您的动画将导出到MP4(Windows)或Quicktime影片(Mac)文件中。

  角色网格,绑定和动画数据将导出为Autodesk的FBX文件格式。可以在支持FBX文件格式的第三方程序(如Maya或Unity)中打开此文件。当前,FBX导出仅支持Bone Motor动画。

  生物游戏工具包运行时支持

  Creature通过提供的源代码运行时来支持主要的Game Tooklits。使用运行时,可以播放用Creature编写的角色动画,同时减小文件大小和内存。网格,骨骼装备和动画数据将保存为Creature的自定义JSON文件格式。然后,用户将在源代码运行时中调用方法/函数来解析,加载和回放创作的动画。 此处

  提供了 有关如何使用运行时的完整文档。

  您也可以从此处获取信息库中的完整运行时列表。

  当前支持以下运行时:

}

我要回帖

更多关于 unity停止播放动画 的文章

更多推荐

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

点击添加站长微信