首页 > 其他分享 >游戏中模型动画的几种实现方式

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

时间:2023-11-29 11:34:47浏览次数:37  
标签:动画 游戏 骨骼 实现 模型 几种 动态效果 顶点

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

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

骨骼动画

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

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

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

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

游戏中模型动画的几种实现方式_性能提升

材质中的蒙皮数量共7个

游戏中模型动画的几种实现方式_骨骼动画_02

顶点动画

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

缺点:

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

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

材质动画

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

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

GPU蒙皮动画

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

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



标签:动画,游戏,骨骼,实现,模型,几种,动态效果,顶点
From: https://blog.51cto.com/zhaoqingqing/8612974

相关文章

  • 多开工具对网络游戏安全性的评估与加固
    多开工具对网络游戏安全性的评估与加固随着网络游戏的普及和发展,一些玩家为了方便或者获得不正当利益,开始使用多开工具同时登录多个游戏账号。然而,多开工具的使用可能会对网络游戏的安全性造成一定的威胁,因此有必要对其进行评估并采取相应的加固措施。首先,对于多开工具的评估需要......
  • 有向图求强连通分量的几种算法
    概要本文介绍了kosaraju,tarjan算法求强连通分量概念有一个有向图G,有几个概念强连通若图中有两个点u和v,他们能互相到达,则称他们强连通强连通图若是G中任意2个点都可以互相到达,则称G是一个强连通图强连通分量有向非强连通图的极大强连通子图(可以有很多个)完全......
  • 《游戏编程模式》笔记
    地址:https://gpp.tkchu.me/前言本文无参考价值,主要记录博主在学习本书时,觉得有用的东西不代表这些知识对你有用,也不代表没记录的东西对你没用,想学习请看上面的原文。设计模式状态机有限状态机层次状态机:部分状态可以通过继承,来处理通用的状态。比如在地面上按B,和在空中按B......
  • BOSHIDA DC电源模块的散热措施可以分为以下几种
    BOSHIDADC电源模块的散热措施可以分为以下几种DC电源模块的散热措施可以分为以下几种:1.增加散热器:在DC电源模块的电路板上增加散热片或散热器,通过增加散热面积和散热能力来提高散热效果。2.增加风扇:在散热器的基础上增加风扇,通过强制空气对散热器进行冷却来提高散热效果。3......
  • DC电源模块的散热措施可以分为以下几种
    BOSHIDADC电源模块的散热措施可以分为以下几种DC电源模块的散热措施可以分为以下几种:增加散热器:在DC电源模块的电路板上增加散热片或散热器,通过增加散热面积和散热能力来提高散热效果。增加风扇:在散热器的基础上增加风扇,通过强制空气对散热器进行冷却来提高散热效果。优化散热结构......
  • Map遍历删除元素的几种方法(转载)
    https://blog.csdn.net/kangbin825/article/details/134090875方法一:笨方法,遍历,找出key再删除遍历map,找出需要删除的key放在集合中,然后再删除,代码如下:publicstaticvoidmain(String[]args){Map<String,Integer>map=newHashMap<>();map.put("a"......
  • 简直不能相信!这款IDE仅插件10秒写出飞机大战游戏,太神奇了!
    一、写在前面昨天分享了一款可以帮我们写代码的插件CodeGeex,其实能帮我们解决大部分问题,讲道理已经很好了对不对?but,他就是最好的插件吗?肯定不是,这不又让我又发现了一款可以平替的插件TONGYILingma(阿里云出品智能编码助手通义灵码)。可能有同学会问了,那六哥这两个插件选哪个更好些呢......
  • AcwSpringbootke3--2,游戏界面下
    1进入同一个格子就会平局下面就要防止g[this.rows-1-r][this.cols-1-c]......
  • 2048 ,Android 休闲益智游戏开发
    A.项目描述《2048》是一款经典的益智小游戏,它的目标是通过合并相同数字来达到2048这个最高分。该游戏规则简单,玩家需要通过滑动屏幕来移动方块,相同数字的方块会合并成一个新的数字方块。这样的简单操作让人可以轻松上手。《2048》小游戏app的技术原理主要涉及游戏逻辑、用户界面和......
  • Flutter的动画框架简介
    今天接着说动画简介Flutter提供了强大而灵活的动画框架,允许你创建各种动画效果,从简单的补间动画到复杂的交互式动画。Flutter中的动画开发主要涉及到以下几个核心概念:各个概念介绍Animation(动画):Animation是一个抽象类,表示动画的值的变化。它定义了动画在某个范围内变化的......