本篇主要记录了在《星之交响》游戏项目制作过程中遇到的Unity3D引擎中调用Spine动画时遇到的性能相关优化。 在Spine加载过程存在卡帧的情况,于是使用 profiler 对游戏初始化的过程进行帧逻辑分析,发现 spine 资源的加载耗时巨大,故对 spine 资源的加载进行了全面的优化,整体思路上包括下几个方向: 预处理 > 动画资源用...
Humanoid:人型骨骼动画会生成一份骨骼绑点,增加内存,非必要可以不使用。 每个角色尽量使用一个Skinned Mesh Renderer,因为当角色仅有一个Skinned Mesh Renderer 时,Unity会使用可见性裁剪和包围体更新的方法来优化角色的运动,而这种优化只有在角色仅含有一个Skinned Mesh Renderer 时才会启动 人型动画根据需求可以进行节点...
因为spine贴图中的各个顶点深度都是一致的 这里ZSpacing默认是0 若手动修改其值可以改变各顶点的Z值 进而可使用深度写入/深度测试 但spine的表现会受到较大影响,不可取 2.双通道使用模板测试 这个方式相对更接近我们的目标(虽然比起RenderTexture效果逊色) 思路如下 spine渲染各个骨骼按从底部到顶部的顺序,最高层级的...
据制作人说spine制作效率比live2d更高,虽然有些没有Live2d那么好 cpu消耗和渲染消耗也比live2d小 为什么要兼容Unity动画系统,不直接使用spine动画系统? 因为我们同一个模块为同时出现live2d制作的角色和spine制作的角色,我不想后续所有业务相关的动画逻辑都写两套。 为什么不使用spine官方的Baking Skeleton,或者使用官方...
unity 模型骨骼动画优化 unity控制骨骼动画 在本人撰写的《Unity中使用动画状态机控制Spine动画》中介绍了在Unity中使用Animator来控制Spine动画的播放、切换等基本操作,接下来介绍Spine动画在Unity中控制Spine骨骼。 生成骨骼物体 Spine动画资源导入到Unity中后生成了一个物体,此物体不带任何骨骼信息,为了控制骨骼,需进行...
Spine骨骼动画在游戏制作中广泛应用。在《星之交响》项目中,面对Unity引擎中Spine动画加载过程中的性能问题,我们进行了深度优化,以提升游戏体验。优化策略包括预处理、增加缓存池、按需加载动画数据及改进文件读取方式。在初始优化阶段,我们使用Profiler工具定位问题,发现Spine资源加载耗时过长,导致游戏卡顿。
如果出现从图集读取的图片中含有旁边图片的一部分,那就选择该图集的Tight Packing取消勾选。如果读取的图片不是正的,那就选择该图集的Allow Rotation取消勾选。如果项目中需要使用到Spine,那么Spine的图集不要打到SpriteAltas,因为内存会变成两份,因为Spine是直接读取图集的png,不会自动关联到SpriteAltas里的图片 ...
Spine效率低 Unity项目加载spine动画,经常会出现卡顿的情况,如游戏中瞬间播放一个动画,打开一个带spine动画的界面。尤其是SkeletonRenderer.Awake时,会瞬间出现大量的GC Alloc,造成瞬间的卡顿,像我们游戏一个角色动画的时间在100~200ms 原因分析 原来导出的spine数据是.json格式,加载、分析数据慢 ...
如果出现从图集读取的图片中含有旁边图片的一部分,那就选择该图集的Tight Packing取消勾选。 如果读取的图片不是正的,那就选择该图集的Allow Rotation取消勾选。 如果项目中需要使用到Spine,那么Spine的图集不要打到SpriteAltas,因为内存会变成两份,因为Spine是直接读取图集的png,不会自动关联到SpriteAltas里的图片...
Spine是一个轻量级的2D骨骼动画编辑工具,广泛应用于游戏开发中。它允许开发者以骨骼和皮肤的方式创建和导出动画,这些动画可以在Unity等游戏引擎中轻松集成和使用。 Unity Shader基础 Shader是控制渲染过程中像素或顶点行为的小程序。在Unity中,通过修改Shader代码或使用内置的Shader特性,可以实现对物体材质属性的精细控制,包...