当前位置: 首页 > news >正文

【Unity】骨骼动画

【Unity】骨骼动画

蒙皮模型

蒙皮模型的结构

直接将蒙皮模型拖进场景中并观察其子节点,最简单的蒙皮模型中由骨架和蒙皮网格两部分组成。

  • 骨架

    由一堆空物体组成,每个空物体代表一根骨骼。

  • 蒙皮网格

    蒙皮网格相比普通网格多了一些数据:

    1. 一组模型空间转骨骼空间矩阵,每个矩阵对应一个骨骼。
    2. 每个顶点所要跟随的骨骼矩阵索引。
    3. 每个顶点所要跟随的骨骼矩阵权重。

    为了支持这些新属性,蒙皮网格需要使用专门的 SkinnedMeshRenderer 组件。

顶点与骨骼的关联

蒙皮网格的顶点会跟随骨骼,效果就好比把该顶点挂为该骨骼的子物体,因此当骨骼发生变换时,顶点也会跟着变换,从而实现了提线木偶版的效果。

具体实现是 Unity 通过在计算着色器中用矩阵变换实现的,其通过矩阵计算新顶点位置的方式如下:

新顶点位置 =(世界空间到模型空间 * 骨骼空间到世界空间 * 初始模型空间到骨骼空间)* 初始顶点位置
  • 骨骼空间到世界空间:随着骨骼的变换而改变,这就是带动顶点的关键。
  • 初始模型空间到骨骼空间:一般由模型文件提供,或者也可以用世界空间桥接计算。

网格和骨架的关联

蒙皮网格仅记录对一组骨骼的索引,但具体这些骨骼对应哪些 Transform,则是由蒙皮网格渲染器完成的。实际上模型文件里有对骨架进行描述,Unity也是因此才能用空物体生成骨架,而蒙皮网格不过是通过指定根骨骼的方式,连接骨架和网格。

骨架共用的原理

由上文可见,网格和骨骼并不是一个强绑定关系,而且蒙皮网格渲染器(下面简称渲染器)关联网格和骨骼这一操作也只在渲染器启动时发生,所以只要在渲染器启动前准备好符合条件的空物体,渲染器也会将其识别为骨骼。实际上渲染器中也有提供修改根骨骼这一操作,便是起实现骨架共用的作用。

骨骼动画

动画即控制一个或多个属性,使其在时间的流逝中发生变化。而骨骼动画字如其名,即控制骨骼的动画。骨骼只是一个空物体,挂在它上面的只有 Transform 组件,因此能修改的也只有位置,旋转,缩放信息。通过调整这些属性来使特定的骨骼空间发生变动,从而导致蒙皮网格中的顶点相对世界的位置发生变化,便营造出来模型动了的感觉。

http://www.gsyq.cn/news/143400.html

相关文章:

  • 年底多跑跑前端面试就会发现…
  • 10366_基于Springboot的课程管理系统
  • 计算机毕业设计springboot基于JAVA的渝行旅游热点推荐系统 基于Spring Boot框架的重庆旅游热点智能推荐系统设计与实现 利用Java技术构建重庆旅游热点推荐平台的Spring Boo
  • 【Unity】光照解决方案笔记
  • Java毕设项目推荐-基于springboot的二手物品交易系统的设计与实现基于SpringBoot的闲置物品循环交易保障系统的设计与实现【附源码+文档,调试定制服务】
  • 别再被忽悠了!看完这篇文章,学会正确应对儿童近视的方法
  • 重要内容表述
  • C#易错点解析
  • 创新!高级!【日前、日内非滚动、日内滚动调度以及实时修正】考虑需求侧响应的智慧楼宇多时间尺度调度策略附Matlab代码
  • 【Linux】Linux使用笔记
  • 大模型打分机制揭秘:为何需要多次更换位置进行评分?
  • 中望3D2026曲面建模技巧:利用「缠绕到面」功能将平面特征精准移植到曲面
  • SRC 漏洞挖掘全流程攻略:小白→挖洞达人,学习路线 + 配套工具全曝光
  • 基于微信小程序的零工市场服务系统计算机毕业设计项目源码文档
  • vscode使用vs环境运行程序
  • java基础-HashMap
  • 【Unity】各种操作触发GC情况
  • 2026金三银四必备国内大厂Java面试高频题库整理!
  • Mercado Libre(美客多)拉美市场研究指南:十款实用工具助力跨境运营分析
  • 茶颜悦色X北森|如何用AI面试官帮HR工作量直降90%!
  • 【负荷预测】基于变分模态分解(VMD-CNN-LSTM)的短期电力负荷预测Python代码
  • 【技术美术】TRS矩阵
  • 最大数max(x,y,z)(信息学奥赛一本通- P1152)
  • 基于Spring框架社区老年人健康杂志阅读分享管理系统
  • 2025年珠海可靠的门窗源头厂家有哪些,门窗/慕莎尼奥门窗/断桥铝门窗/侧压平移推拉窗/铝门窗/安全门窗实力厂家推荐排行榜 - 品牌推荐师
  • 【软件开发】Windows 开发笔记
  • DDD领域驱动设计原理
  • 量子优越性为什么采用玻色采样问题,而不采用N皇后问题呢?
  • 【技术美术】视差贴图
  • 详细介绍:Sciter之c++与前端交互(五)