游戏中模型动画的几种实现方式

本文为作者原创,转载请注明出处:https://www.cnblogs.com/zhaoqingqing/p/17818673.html



游戏内动画的实现方式一般有这几种:

  1. 骨骼动画
  2. 顶点动画
  3. 材质动画
  4. CPU蒙皮动画

骨骼动画#

骨骼动画是一种基于骨骼系统的动画技术,它通过对骨骼进行变换来控制模型的姿态和动作。

在骨骼动画中,模型通常被分解成多个部分,每个部分都与一个或多个骨骼相连,通过对骨骼进行旋转、平移、缩放等变换,可以控制模型的姿态和动作。

骨骼动画的优点是可以实现复杂的动态效果,如人物的行走、奔跑、跳跃等。

游戏内的树的飘动,也通过骨骼动画来实现,一颗树的骨骼如下:

image-20230920112235954

材质中的蒙皮数量共7个

image-20230920112257837

顶点动画#

顶点动画是一种基于顶点的动画技术,它通过对模型的顶点进行变换来实现动态效果。在顶点动画中,每个顶点都可以被单独控制,通过对顶点进行平移、旋转、缩放等变换,可以实现模型的动态效果。顶点动画的优点是可以实现非常细致的动态效果,如水面的波动、草丛的摇曳等。

缺点:

顶点动画需要为每一帧动画存储一组新的顶点运动信息,而骨骼动画只存储骨骼的旋转和平移信息以及顶点附着在骨骼上的信息,这样可以节省巨大的存储空间

顶点动画太消耗内存了,包体也很大

材质动画#

shader来实现,但是美术对这项技术偏弱,所以偏向于使用骨骼动画来实现

【技术美术随手记01】-shader顶点动画相关 - 哔哩哔哩 (bilibili.com)

GPU蒙皮动画#

把计算量放在GPU侧,对于大量相同模型的情况下性能提升非常明显。

也是有一些限制才能最大化地合批,使用unity制作的手游中,已经有大量项目使用上了此技术。

作者:赵青青   一名在【网易游戏】做游戏开发的程序员,擅长Unity3D,游戏开发,.NET等领域。
本文版权归作者和博客园共有,欢迎转载,转载之后请务必在文章明显位置标出原文链接和作者,谢谢。
如果本文对您有帮助,请点击【推荐】您的赞赏将鼓励我继续创作!想跟我一起进步么?那就【关注】我吧。
posted @   赵青青  阅读(352)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 易语言 —— 开山篇
· Trae初体验
历史上的今天:
2019-11-08 使用ghpage(github服务)搭建文档网站几种方式
CONTENTS
点击右上角即可分享
微信分享提示