<commit_before>---
layout: post_latex
title: 蒙皮矩阵
tags: ['matrix','linear algebra','math']
published: true
---

《Game Engine Architecture》这本书里最让我欣喜的就是动画相关的章节了，非常详细，比中文搜索引擎能搜到的资料都要系统、全面。据说作者以前就是做动画的。其他章节相对的只是抛砖引玉，例如阴影，只写了几页。

通过这本书并结合github上的ozz-animation源码，基本搞懂了骨骼蒙皮动画的核心原理。下面将简单做一份笔记。

<!--more-->


### Bind Poses (绑定姿势)

3D美术人员制作一个带骨骼动画的模型时，主要要分2个步骤，一是建模（可能包括画贴图），二是给模型加上骨骼并制作骨骼动画。

给一个模型加上骨骼前，一般要求这个模型摆成T字型，才方便动作师加骨骼和做动作。此时，**加骨骼**操作被称为**骨骼绑定(Skeleton Binding)**；或者从模型角度讲叫做，模型**蒙皮(Model Skinning)**到骨骼。<commit_msg>no message<commit_after>---
layout: post_latex
title: 矩阵和四元数的运用：骨骼动画与蒙皮矩阵
tags: ['matrix','linear algebra','math']
published: true
---

《Game Engine Architecture》这本书里最让我欣喜的就是动画相关的章节了，非常详细，比中文搜索引擎能搜到的资料都要系统、全面。据说作者以前就是做动画的。其他章节相对的只是抛砖引玉，例如阴影，只写了几页。

通过这本书并结合github上的ozz-animation源码，基本搞懂了骨骼蒙皮动画的核心原理。下面将简单做一份笔记。

<!--more-->


### Bind Poses (绑定姿势)

3D美术人员制作一个带骨骼动画的模型时，主要要分2个步骤，一是建模（可能包括画贴图），二是给模型加上骨骼并制作骨骼动画。

给一个模型加上骨骼前，一般要求这个模型摆成T字型，才方便动作师加骨骼和做动作。此时，**加骨骼**操作被称为**骨骼绑定(Skeleton Binding)**；或者从模型角度讲叫做，模型**蒙皮(Model Skinning)**到骨骼。
{'fraction_non_alphanumeric': 0.14980916030534353, 'fraction_numerical': 0.003816793893129771, 'mean_word_length': 11.488095238095237, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6255581', 'n_tokens_mistral': 799, 'n_tokens_neox': 920, 'n_words': 44}