LWF动画设计与实现
LWF动画设计与实现
网站
特性:
· 独立编辑器:
· IK:
· Mesh:
特性:
· 内置编辑器:
· IK:
· Mesh:
· Mecanim:
特性:
· Flash内编辑:
无学习成本,外包容易找
· 层级动画:
位置
缩放
旋转
剪切
· Color Effect:
· 运行库:
无Mecanim支持
支持UI渲染
Ruby脚本 + Flash扩展 + TexturePacker+ Python自定义脚本
Tools/lwf/
Flash扩展完成图片的导出(swf内的图片是PreMultAlpha的)
Ruby脚本解析swf,产生二进制数据
TexturePacker拼图
Python整合,自动化
基础数据结构
二进制加载解析
动画运行库
· Text
· Bitmap
· Movie
层级关系,Transform,Color
· CombinedMesh
自动Batch的Mesh
· UIVertex:
uGui整合
· DrawMesh
编辑器模式
· LWFObject:
自带的,简单的包装
· LWFSprite:
自定义,完成我们需要的功能,并进行性能优化
Cache!!!
ResourceCache:
引用计数
· LWFData
· Texture
· Material
· Mesh
· Shader
· RenderedMesh
· RenderedVertex
FrameCache
· BaseFrameCache
· CombinedMeshFrameCache
· UIVertexFrameCache
避免CPU运算
Batch!!!
默认,纹理一样就使用同一个Material
ForceFitHeight: 高度映射到1个单位,在UI模式下应该关掉
Use Mask: 支持uGui的Stencil Mask,使UI特效可以放在ListView等内
RendererType:CombinedMesh OR UIVertex
Sorting Layer: 渲染层级
按Texture分层,以防止交叉导致的自动Batch失效问题
EffectUtil
提供了创建LWF特效的简单接口,不需要自己挂载MonoBehavior
提供了Pool
性能问题,三角形数量