【技术实现步骤摘要】
Unity中群集动画快速渲染的方法、存储介质
本专利技术涉及Unity动画领域,具体涉及Unity中群集动画快速渲染的方法、存储介质。
技术介绍
现有技术中,在Unity制作一个三维模型动画(比如一只鱼的游动),一般使用Unity的动画系统。该系统会通过Unity的SkinMeshRender组件计算模型的顶点变形,然后在表型后的模型进行渲染。但是顶点变形会有一定性能开销特别是在移动平台上这种开销就更明显了。如果需要成百上千的同种模型动画这种变形计算就会造成巨大性能瓶颈。因此,有必要提供一种Unity中群集动画快速渲染的方法、存储介质,能够实现在Unity中渲染大规模群集动画,如大规模的鱼群、鸟群、蜂群等的动画,且能够大大减少性能开销。
技术实现思路
本专利技术所要解决的技术问题是:提供一种Unity中群集动画快速渲染的方法、存储介质,能大量减少性能开销,确保系统性能稳定。为了解决上述技术问题,本专利技术采用的技术方案为:一种Unity中群集动画快速渲染的方法,包括:创建模 ...
【技术保护点】
1.一种Unity中群集动画快速渲染的方法,其特征在于,包括:/n创建模型动画的模型动画序列帧,通过Mesh数组存储所述模型动画序列帧的每一动画帧;/n创建一渲染对象数组,所述渲染对象数组内的各个元素对应存储待渲染的群集动画中各个单位的渲染对象数据;/n监听到对应群集动画的更新消息后,遍历所述渲染对象数组,依据所述Mesh数组对当前遍历到的模型动画的待渲染动画帧进行渲染。/n
【技术特征摘要】
1.一种Unity中群集动画快速渲染的方法,其特征在于,包括:
创建模型动画的模型动画序列帧,通过Mesh数组存储所述模型动画序列帧的每一动画帧;
创建一渲染对象数组,所述渲染对象数组内的各个元素对应存储待渲染的群集动画中各个单位的渲染对象数据;
监听到对应群集动画的更新消息后,遍历所述渲染对象数组,依据所述Mesh数组对当前遍历到的模型动画的待渲染动画帧进行渲染。
2.如权利要求1所述的一种Unity中群集动画快速渲染的方法,其特征在于,所述渲染对象数组中的各个元素对应存储各个模型动画包括位置、旋转和当前动画时间的帧信息;
所述方法还包括:
初始化所述渲染对象数组时,将所述渲染对象数组中的各个元素的当前动画时间在0至所述模型动画的帧计数范围内随机赋值。
3.如权利要求1所述的一种Unity中群集动画快速渲染的方法,其特征在于,所述依据所述渲染对象数据对当前遍历到的模型动画的待渲染动画帧进行渲染,具体为:
控制将当前遍历到的模型动画的当前动画时间设置为其下一个动画时间;
计算当前遍历到的模型动画对应所述当前动画时间时,对应所述Mesh数组的当前动画帧序号;
对所述当前动画帧序号对应的动画帧进行渲染,得到对应的动画。
4.如权利要求1所述的一种Unity中群集动画快速渲染的方法,其特征在于,所述方法还包括:
创建一个序列帧渲染类,且所述序列帧渲染类监听所述渲染对象数组的更新消息;
将所述渲染对象数组和所述Mesh数组分别添加到所述序列帧渲染类中;
在所述序列帧渲染类中设置模型动画的帧率。
5.如权利要求1所...
【专利技术属性】
技术研发人员:刘德建,谢曦,林琛,
申请(专利权)人:福建天晴数码有限公司,
类型:发明
国别省市:福建;35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。