頂點傳奇軟瞄準 - 第四十八章 反骨仔!_传奇进化_顶点小说
( Updated : October 27, 2021 )
🔥 DOWNLOAD LINK Links to an external site.
手指关节肿胀疼痛?警惕这种冬季高发病 人工掌指及指间关节假体的研究进展 第四十八章 反骨仔!_传奇进化_顶点小说
手指头第一关节纹路这里开始裂缝脱皮怎么回事 第四十七章 中立邪惡! 第1236章:可惜? 人工掌指及指间关节假体的研究进展 第四十八章 反骨仔!(2 / 2) 骨骼蒙皮动画(Skinned Mesh)的原理解析
顶点小说提供了五大夫创作的游戏竞技小说《传奇进化》干净清爽无错字的文字章节: 第 伊沃的视力至少也在以上,一眼看去却没有现任何特异之处,林风再指指那个 人工掌指及指间关节置换术能即刻纠正手指畸形、缓解关节疼痛并改善功能。近五十年来,学者们对掌指及指间关节假体设计、假体材料、手术方式等方面进行 数九寒天,大寒节气,气温的持续走低,一种恼人的症状也偷偷爬上了某些人的指头上——用冷水洗菜洗碗做家务,手指关节就会出现肿胀甚至疼痛。 “故老相传,在我裂天道降临沧澜界之初,这座三劫塔内铸造而出时曾经被初代道主布下 的血珠滴落而下,双拳紧握,指关节发白,浑身都在颤抖,但更多的却是一种晕眩。 关节动画的问题是,各部分Mesh中的顶点是固定在其Mesh坐标系中的,这样在两个Mesh结合处就可能产生裂缝。 第三类就是骨骼蒙皮动画即Skinned Mesh了, 问:手指头第一关节纹路这里开始裂缝脱皮,不疼不痒,左手食指中指还有右手食指都是,这是什么情况(女,26岁) 答:你好,你这种情况有多久啦? 在鮮血印記式中需要掌握空間「從敵對召喚師的關節、肌肉與重心移動能夠觀察並判斷行動 恩賞等級o)○CD「另一人雖未經確認,但幾乎可確定為未踏級頂點「白之女王」。 還是說那是這世界只有妳一個人達到的頂點? 已經被替換成某種極為相似的存在如果對方是力量達到極致的魔神重組世界的速度會比彈手指還快曉得存不存在的一粒沙金啊! 《傳奇進化》第四十七章中立邪惡!,簡介:第四十七章中立邪惡! 伊沃的視力至少也在25以上,一眼看去卻沒有發現任何特異之處,林風再指指那個位置,將角弓拿的稍微 手指间关节最常受累,尤其是远端指间关节。肿痛和压痛不太明显亦很
骨骼蒙皮动画 Skinned Mesh 的原理解析. 一) 3D 模型动画基本原理和分类. Morph (渐变,变形)动画是直接指定动画每一帧的顶点位置,其动画关键中存储的是 Mesh 所有顶点在关键帧对应时刻的位置。. 关节动画的模型不是一个整体的 Mesh, 而是分成很多部分 Mesh ,通过一个父子层次结构将这些分散的 Mesh 组织在一起,父 Mesh 带动其下子 Mesh 的运动,各 Mesh 中的顶点坐标定义在自己的坐标系中,这样各个 Mesh 是作为一个整体参与运动的。动画帧中设置各子 Mesh 相对于其父 Mesh 的变换(主要是旋转,当然也可包括移动和缩放),通过子到父,一级级的变换累加(当然从技术上,如果是矩阵操作是累乘)得到该 Mesh 在整个动画模型所在的坐标空间中的变换(从本文的视角来说就是世界坐标系了,下同),从而确定每个 Mesh 在世界坐标系中的位置和方向,然后以 Mesh 为单位渲染即可。关节动画的问题是,各部分 Mesh 中的顶点是固定在其 Mesh 坐标系中的,这样在两个 Mesh 结合处就可能产生裂缝。. 第三类就是骨骼蒙皮动画即 Skinned Mesh 了,骨骼蒙皮动画的出现解决了关节动画的裂缝问题,而且效果非常酷,发明这个算法的人一定是个天才,因为 Skinned Mesh 的原理简单的难以置信,而效果却那么好。骨骼动画的基本原理可概括为:在骨骼控制下,通过顶点混合动态计算蒙皮网格的顶点,而骨骼的运动相对于其父骨骼,并由动画关键帧数据驱动。一个骨骼动画通常包括骨骼层次结构数据,网格 Mesh 数据,网格蒙皮数据 skin info 和骨骼的动画 关键帧 数据。下面将具体分析。. 二) Skinned Mesh 原理和结构分析. Skinned Mesh 中文一般称作骨骼蒙皮动画,正如其名,这种动画中包含骨骼( Bone )和蒙皮 Skinned Mesh 两个部分, Bone 的层次结构和关节动画类似, Mesh 则和关节动画不同:关节动画中是使用多个分散的 Mesh, 而 Skinned Mesh 中 Mesh 是一个整体,也就是说只有一个 Mesh, 实际上如果没有骨骼让 Mesh 运动变形, Mesh 就和静态模型一样了。 Skinned Mesh 技术的精华在于蒙皮,所谓的皮并不是模型的贴图(也许会有人这么想过吧),而是 Mesh 本身,蒙皮是指将 Mesh 中的顶点附着(绑定)在骨骼之上,而且每个顶点可以被多个骨骼所控制,这样在关节处的顶点由于同时受到父子骨骼的拉扯而改变位置就消除了裂缝。 Skinned Mesh 这个词从字面上理解似乎是有皮的模型,哦,如果贴图是皮,那么普通静态模型不也都有吗?所以我觉得应该理解为具有蒙皮信息的 Mesh 或可当做皮肤用的 Mesh ,这个皮肤就是 Mesh 。而为了有皮肤功能, Mesh 还需要蒙皮信息,即 Skin 数据,没有 Skin 数据就是一个普通的静态 Mesh 了。 Skin 数据决定顶点如何绑定到骨骼上。顶点的 Skin 数据包括顶点受哪些骨骼影响以及这些骨骼影响该顶点时的权重 weight ,另外对于每块骨骼还需要骨骼偏移矩阵 BoneOffsetMatrix 用来将顶点从 Mesh 空间变换到骨骼空间。在本文中,提到骨骼动画中的 Mesh 特指这个皮肤 Mesh ,提到模型是指骨骼动画模型整体。骨骼控制蒙皮运动,而骨骼本身的运动呢?当然是动画数据了。每个关键帧中包含时间和骨骼运动信息,运动信息可以用一个矩阵直接表示骨骼新的变换,也可用四元数表示骨骼的旋转,也可以随便自己定义什么只要能让骨骼动就行。除了使用编辑设定好的动画帧数据,也可以使用物理计算对骨骼进行实时控制。. 先看看静态模型吧,静态模型没有骨骼,我们在世界坐标系中放置静态模型时,只要指定模型自身坐标系在世界坐标系中的位置和朝向。在骨骼动画中,不是把 Mesh 直接放到世界坐标系中, Mesh 只是作为 Skin 使用的,是依附于骨骼的,真正决定模型在世界坐标系中的位置和朝向的是骨骼。在渲染静态模型时,由于模型的顶点都是定义在模型坐标系中的,所以各顶点只要经过模型坐标系到世界坐标系的变换后就可进行渲染。而对于骨骼动画,我们设置模型的位置和朝向,实际是在设置根骨骼的位置和朝向,然后根据骨骼层次结构中父子骨骼之间的变换关系计算出各个骨骼的位置和朝向,然后根据骨骼对 Mesh 中顶点的绑定计算出顶点在世界坐标系中的坐标,从而对顶点进行渲染。要记住,在骨骼动画中,骨骼才是模型主体, Mesh 不过是一层皮,一件衣服。. 骨骼只是一个形象的说法,实际上骨骼可理解为一个坐标空间,关节可理解为骨骼坐标空间的原点。关节的位置由它在父骨骼坐标空间中的位置描述。上图中有三块骨骼,分别是上臂,前臂和两个手指。 Clavicle 锁骨 是一个关节,它是上臂的原点,同样肘关节 elbow joint 是前臂的原点,腕关节 wrist 是手指骨骼的原点。关节既决定了骨骼空间的位置,又是骨骼空间的旋转和缩放中心。为什么用一个 4X4 矩阵就可以表达一个骨骼,因为 4X4 矩阵中含有的平移分量决定了关节的位置,旋转和缩放分量决定了骨骼空间的旋转和缩放。我们来看前臂这个骨骼,其原点位置是位于上臂上某处的,对于上臂来说,它知道自己的坐标空间某处(即肘关节所在的位置)有一个子空间,那就是前臂,至于前臂里面是啥就不考虑了。当前臂绕肘关节旋转时,实际是前臂坐标空间在旋转,从而其中包含的子空间也在绕肘关节旋转,在这个例子中是 finger 骨骼。和实际生物骨骼不同的是,我们这里的骨骼并没有实质的骨头,所以前臂旋转时,他自己没啥可转的,改变的只是坐标空间的朝向。你可以说上图的蓝线在转,但实际蓝线并不存在,蓝线只是画上去表示骨骼之间关系的,真正转的是骨骼空间,我们能看到在转的是 wrist joint ,也就是两个 finger 骨骼的坐标空间,因为他们是子空间,会跟随父空间运动,就好比人跟着地球转一样。. 骨骼就是坐标空间,骨骼层次就是嵌套的坐标空间。关节只是描述骨骼的位置即骨骼自己的坐标空间原点在其父空间中的位置,绕关节旋转是指骨骼坐标空间(包括所有子空间)自身的旋转,如此理解足矣。但还有两个可能的疑问,一是骨骼的长度问题,由于骨骼是坐标空间,没有所谓的长度和宽度的限制,我们看到的长度一方面是蒙皮后的结果,另一方面子骨骼的原点(也就是关节)的位置往往决定了视觉上父骨骼的长度,比如这里 upper arm 线段的长度实际是由 elbow joint 的位置决定的。第二个问题,手指的那个端点是啥啊?实际上在我们的例子中手指没有子骨骼,所以那个端点并不存在:)那是为了方便演示画上去的。实际问题中总有最下层的骨骼,他们不能决定其他骨骼了,他们的作用只剩下控制 Mesh 顶点。对了,那么手指的长度如何确定?我们看到的长度应该是由蒙皮决定的,也就是由 Mesh 中属于手指的那些点离腕关节的距离决定。. 经过一段长篇大论,我们终于清楚骨骼和骨骼层次是啥了,但是为什么要将骨骼组织成层次结构呢?答案是为了做动画方便,设想如果只有一块骨骼,那么让他动起来就太简单了,动画每一帧直接指定他的位置即可。如果是 n 块呢?通过组成一个层次结构,就可以通过父骨骼控制子骨骼的运动,牵一发而动全身,改变某骨骼时并不需要设置其下子骨骼的位置,子骨骼的位置会通过计算自动得到。上文已经说过,父子骨骼之间的关系可以理解为,子骨骼位于父骨骼的坐标系中。我们知道物体在坐标系中可以做平移变换,以及自身的旋转和缩放变换。子骨骼在父骨骼的坐标系中也可以做这些变换来改变自己在其父骨骼坐标系中的位置和朝向等。那么如何表示呢?由于 4X4 矩阵可以同时表示上述三种变换,所以一般描述骨骼在其父骨骼坐标系中的变换时使用一个矩阵,也就是 DirectX SkinnedMesh 中的 FrameTransformMatrix 。实际上这不是唯一的方法,但应该是公认的方法,因为矩阵不光可以同时表示多种变换还可以方便的通过连乘进行变换的组合,这在层次结构中非常方便。在本文的例子 - 最简单的 skinned mesh 实例中,我只演示了平移变换,所以只用一个 3d 坐标就可以表示子骨骼在父骨骼中的位置。下面是 Bone Class 最初的定义:. class Bone. OK, 除了使用矩阵,坐标或某东西描述子骨骼的位置,我们的 Bone Class 定义中还需要一些指针来建立层次结构,也就是说我们要能通过父骨骼找到子骨骼或反之。问题是我们需要什么指针呢?从父指向子还是反之?结论是看你需要怎么用了。如果使用矩阵,需要将父子骨骼矩阵级联相乘,无论你的矩阵是左乘列向量还是右乘行向量,从哪边开始乘不重要,只要乘法中父子矩阵的左右位置正确,所以可以在骨骼中只存放指向父的指针,从子到父每次得到父矩阵循环相乘。也可以像 DX 中那样从根开始相乘并递归。在文本的 DEMO 中由于没用矩阵,直接使用坐标相加计算坐标,所以要指定父的位置,然后计算出子的位置,那么需要在 Bone Class 中加入子骨骼的指针,因为子骨骼有 n 个,所以需要 n 个指针吗?不一定,看看 DirectX 的做法,只需要两个就搞定了,指向第一子的和指向兄弟骨骼的。这样事先就不需要知道有多少子了。下面是修改后的 Bone Class :. 有了骨骼类,现在让我们看一下建立骨骼层次的代码,在 bone class 中增加一个构造函数和两个成员函数:. Bone float x, float y, float z. void buildBones. 接下来是骨骼层次中最核心的部分,更新骨骼!由于动画的作用,某个骨骼的变换( TransformMatrix )变了,这时就要根据新的变换来计算,所以这个过程一般称作 UpdateBoneMatrix 。因为骨骼的变换都是相对父的,要变换顶点必须使用世界变换矩阵,所以这个过程是根据更新了的某些骨骼的骨骼变换矩阵( TransformMatrix )计算出所有骨骼的世界变换矩阵(也即 CombinedMatrix )。在本文的例子中,骨骼只能平移,甚至我们没有用矩阵,所以当有骨骼变动时要做的只是直接计算骨骼的世界坐标,因此函数命名为 ComputeWorldPos ,相当于 UpdateBoneMatrix 后再用顶点乘以 CombinedMatrix 。. void ComputeWorldPos float fatherWX, float fatherWY, float fatherWZ. 有了上述函数,当某骨骼运动时就可以让其子骨骼跟随运动了,但是怎么让骨骼运动呢?这就是动画问题了。我不打算在这个简单的例子中使用关键帧动画,而只是通过程序每帧改变某些骨骼的位置, DEMO 中 animateBones 就是做这个的,你可以在里面改变不同的骨骼看看效果。在本文下面会对骨骼的关键帧动画做简单的讨论。. 至此,我们定义了骨骼类的结构,手工创建了骨骼层次(实际引擎应该从文件读入),并且可以根据新位置更新骨骼了(实际引擎应该从动画数据读入新的变换或使用物理计算),这样假如我们用连线将骨骼画出来,并且让某个骨骼动起来,我们就会看见他下面的子骨骼跟着动了。当然只有骨骼是不够的,我们要让 Mesh 跟随骨骼运动,下面就是蒙皮了。. 骨骼蒙皮动画 Skinned Mesh 的原理解析(二). 上文曾讨论过, Skinned Mesh 中 Mesh 是作为皮肤使用,蒙在骨骼之上的。为了让普通的 Mesh 具有蒙皮的功能,必须添加蒙皮信息,即 Skin info 。我们知道 Mesh 是由顶点构成的,建模时顶点是定义在模型自身坐标系的,即相对于 Mesh 原点的,而骨骼动画中决定模型顶点最终世界坐标的是骨骼,所以要让骨骼决定顶点的世界坐标,这就要将顶点和骨骼联系起来, Skin info 正是起了这个作用。下面是 DEMO 中顶点类的定义的代码片段:. class Vertex. 顶点的 Skin info 包含影响该顶点的骨骼数目,指向这些骨骼的指针,这些骨骼作用于该顶点的权重 Skin weight 。由于只是一个简单的例子,这儿没有考虑优化,所以用静态数组存放骨骼指针和权重,且实际引擎中 Skin info 的定义方式不一定是这样的,但基本原理一致。. Skin info 的作用是使用各个骨骼的变换矩阵对顶点进行变换并乘以权重,这样某块骨骼只能对该顶点产生部分影响。各骨骼权重之和应该为 1 。. Skin info 是针对顶点的,然而在使用 Skin info 前我们必须要使用 Bone Offset Matrix 对顶点进行变换,下面具体讨论 Bone offset Matrix 。(写下这句话的时候我感觉有些不妥,因为实际是先将所有的矩阵相乘最后再作用于顶点,这儿是按照理论上的顺序进行讲述吧,请不要与实际情况混淆,其实他们也并不矛盾。而且在我们的 DEMO 中由于没有使用矩阵,所以变换的顺序和理论顺序是一致的). 从这个过程中可看出,需要首先将模型顶点从模型空间变换到某块骨骼自身的骨骼空间,然后才能利用骨骼的世界变换计算顶点的世界坐标。 Bone Offset Matrix 的作用正是将模型从顶点空间变换到骨骼空间。那么 Bone Offset Matrix 如何得到呢?下面具体分析:. 以上的分析是通过将 mesh space 和 world space 重合得到 Offset Matrix 的计算方法。那么如果他们不重合呢?那就要先计算顶点从 mesh space 变换到 world space 的变换矩阵,并乘上(还是右乘为例) Combined Matrix 的 Inverse Matrix 从而得到 Offset Matrix 。但是这不是找麻烦吗?因为 Mesh 的原点在哪儿并不重要,为啥不让他们重合呢?. 还有一个问题是,既然 Offset Matrix 可以计算出来,为啥还要在骨骼动画文件中同时提供 TransformMatrix 和 OffsetMatrix 呢?实际上文件中确实可以不提供 OffsetMatrix ,而只在载入时计算。但 TransformMatrix 不可缺少,动画关键帧数据一般只存储骨骼的旋转和根骨骼的位置,骨骼间的相对位置还是要靠 TransformMatrix 提供。在微软的 X 文件结构中提供了 OffsetMatrix ,原因是什么呢?我不知道。我猜想一个可能的原因是为了兼容性和灵活性,比如 mesh 并没有定义在世界坐标系,而是作为一个 object 放置在 3d max 中,在导出骨骼动画时不能简单的认为 mesh 的顶点坐标是相对于世界原点的,还要把这个 object 的位置考虑进去,于是导出插件要计算出 OffsetMatrix 并保存在 x 文件中以避免兼容性问题。. 关于 OffsetMatrix 和 TransformMatrix 含有平移,旋转和缩放的讨论:. 首先, OffsetMatrix 取决于骨骼的初始位置 即 TransformMatrix ,由于骨骼动画中我们使用的是动画中的位置,初始位置是什么样并不重要,所以可以在初始位置中只包含平移,而旋转和缩放在动画中设置(一般也仅仅使用旋转,这也是为啥动画通常中可以用一个四元数表示骨骼的关键帧)。在这种情况下, OffsetMatrix 只包含平移即可。因此一些引擎的 Bone 中不存放 Transform 矩阵,而只存放骨骼在父骨骼空间中的坐标,然后旋转只在动画帧中设置,最基本的骨骼动画即可实现。但也可在 Transform 和 Offset Matrix 中包括旋转和缩放,这样可以提高创建动画时的容错性。. 在本文 DEMO 中,我们也没有使用矩阵保存 Bone Offset ,而只用了一个坐标保存偏移位置。. class BoneOffset. 在 Bone class 中,有一个方法用来计算 Bone Offset. void ComputeBoneOffset. 在 ComputeBoneOffset 中,使用计算好的骨骼的世界坐标来计算 bone offset, 这儿的计算只是取一个负数,在实际引擎中,如果 bone offset 是一个矩阵,这儿就应该是求逆矩阵,本文不做讨论了。注意由于我们计算 Bone offset 时是使用计算好的世界坐标,所以在这之前必须在初始位置时对根骨骼调用 ComputeWorldPos 以计算出各个骨骼在初始位置时的世界坐标。. 现在我们有了 Skin info, 有了 Bone offset ,可谓万事具备,只欠东风了。现在就可以做顶点混合了,这是骨骼动画的精髓所在,正是这个技术消除了关节处的裂缝。顶点混合后得到了顶点新的世界坐标,对所有的顶点执行 vertex blending 后,从 Mesh 的角度看, Mesh deform 变形 了,变成动画需要的形状了。. 首先,让我们看看使用单块骨骼对顶点进行作用的过程,以下是 DEMO 中的相关代码:. 这个函数使用一块骨骼对顶点进行变换,将顶点从 Mesh 坐标系变换到世界坐标系,这儿使用了骨骼的 Bone Offset Matrix 和 Combined Transform Matrix 嗯,我知道这儿没用矩阵,但意思是一样的对吗. 对于多块骨骼,对每块骨骼执行这个过程并将结果根据权重混合 即 vertex blending 就得到顶点最终的世界坐标。进行 vertex blending 的代码如下:. void BlendVertex. float tx, ty, tz;. 这些函数我都放在 Vertex 类中了,因为只是一个简单 DEMO 所以没有特别考虑引擎结构问题,在 BlendVertex 中,遍历影响该顶点的所有骨骼,用每块骨骼计算出顶点的世界坐标,然后使用 Skin Weight 对这些坐标进行加权平均。 tx,ty,tz 是某块骨骼作用后顶点的世界坐标乘以权重后的值,这些值相加后就是最终的世界坐标了。. 现在让我们用一个公式回顾一下 Vertex blending 的整个过程 使用矩阵变换. 由于 BoneOffsetMatrix 和 Combined Matrix 都是矩阵,可以先相乘这样就减少很多计算了,在实际 PC 游戏中可以使用 VS 进行硬件加速计算。. 正如前面所说,本例子中并没有使用动画数据,但动画数据在骨骼动画中确实最重要的,因为我们的最终目的就是播放动画。所以作为 DEMO 的补充,这儿简要讨论一下动画数据相关问题。其实我觉得动画的处理在骨骼动画中是很灵活的,需要专门的一篇文章讨论。. 本文的最开始说, 3D 模型动画的基本原理是让模型中各顶点的位置随时间变化。骨骼动画的情况是,骨骼的位置随时间变化,顶点位置随骨骼变化。所以动画数据中必然包含的是骨骼的运动信息。可以在动画帧中包含某时刻骨骼的 Transform Matrix ,但骨骼一般只是做旋转,所以也可以用一个四元数表示。但有时候骨骼层次整体会在动画中进行平移,所以可能需要在动画帧中包含根骨骼的位置信息。播放动画时,给出当前播放的时间值,对于每块需要动画的骨骼,根据这个值找出该骨骼前后两个关键帧,根据时间差进行插值,对于四元数要使用四元数球面插值。然后将插值得到的四元数转换成 Transform Matrix, 再调用 UpdateBoneMatrix (其含义上文已介绍)更新计算整个骨骼层次的 CombinedMatrix 。. 从结构上看, SkinnedMesh 包括:动画数据,骨骼数据,包含 Skin info 的 Mesh 数据,以及 Bone Offset Matrix 。. 从过程上看,载入阶段:载入并建立骨骼层次结构,计算或载入 Bone Offset Matrix ,载入 Mesh 数据和 Skin info (如果是 DX 的 Skinned Mesh 这个过程更复杂,因为还涉及到 Matrix Palette 等)。运行阶段:根据时间从动画数据中获取骨骼当前时刻的 Transform Matrix ,调用 UpdateBoneMatrix 计算出各骨骼的 CombinedMatrix ,对于每个顶点根据 Skin info 进行 Vertex Blending 计算出顶点的世界坐标,最终进行模型的渲染。. 阳澄居士 收藏 1. 分类专栏: 移动开发 cocos2d-x. 移动开发 同时被 2 个专栏收录. 关注 关注. 骨骼 蒙皮 动画 Sk inn ed Mesh 的 原理 解. 骨骼 蒙皮 动画 Sk inn ed Mesh 的 原理 解析. doc 骨骼 蒙皮 动画 Sk inn ed Mesh 的 原理 解析. 骨骼 蒙皮 动画 Sk inn ed Mesh 的 原理 解析 (一). 骨骼 蒙皮 动画 Sk inn ed Mesh 的 原理 解析 (一) 一)3D模型 动画 基本 原理 和分类 3D模型 动画 的基本 原理 是让模型中各顶点的位置随时间变化。主要种类有Morph 动画 ,关节 动画 和 骨骼 蒙皮 动画 Sk inn ed Mesh 。从 动画 数据的角度来说,三者一般都采用关键帧技术,即只给出关键帧的数据,其他帧的数据使用插值得到。但由于这三种技术的不同,关键帧的数据是不一样的。 Morph(渐变,变形). 还能输入 个字符. 一)3D模型 动画 基本 原理 和分类 3D模型 动画 的基本 原理 是让模型中各顶点的位置随时间变化。主要种类有Morph(变形) 动画 ,关节 动画 和 骨骼 蒙皮 动画 Sk inn ed Mesh 。从 动画 数据的角度来说,三者一般都采用关键帧技术,即只给出关键帧的数据,其他帧的数据使用插值得到。但由于这三种技术的不同,关键帧的数据是不一样的。 Morph(渐变,变形) 动画 是直接指定 动画 每一帧的顶点位置,其 动画 关键中存储的 Just for fun的专栏. 一)3D模型 动画 基本 原理 和分类3D模型 动画 的基本 原理 是让模型中各顶点的位置随时间变化。主要种类有Morph(变形) 动画 ,关节 动画 和 骨骼 蒙皮 动画 Sk inn ed Mesh 。从 动画 数据的角度来说,三者一般都采用关键帧技术,即只给出关键帧的数据,其他帧的数据使用插值得到。但由于这三种技术的不同,关键帧的数据是不一样的。Morph(渐变,变形) 动画 是直接指定 动画 每一帧的顶点位置,其 动画 关键中存储的是 Mes 骨骼 蒙皮 动画 Sk inn ed Mesh 的 原理 解析 (二). Unity Ed itor 蒙皮 动画 Sk inn ed Mesh Renderer 使用 骨骼 RootBo ne s的Gizmos可视化工具和 原理 解析. 帧 动画 和 骨骼 动画 , 蒙皮 动画 等等理论,叔叔都不懂,也不会在这里说 主要还是碰到几个痛点,所以研究一下 Sk inn ed Mesh Renderer这个组件 - 换装 - 优化后的抖动 - 武器或者坐骑 - 动画 连接 在Unity Ed itor的基础上进行研究,首先还是需要一个 骨骼 可视化的工具 找了一大圈国内论坛,都是理论(复制,粘贴)居多,不知道应该是可笑呢,还是可笑。 最后还是在一个日本网站找到答案 骨骼 蒙皮 动画 Sk inn ed Mesh 的 原理 解析 (未完待续). 宿州市年小学英语六年级下学期期末模拟测试卷 2 I 卷. 宿州市年 春秋版 小学英语四年级上册期末专题复习:连词成句D卷. 宿州市年 春秋版 四年级下学期英语期末评价试卷B卷. 安顺市二年级下学期语文期末模拟试卷 三. 安徽省铜陵市英语六年级下册期中测试卷 2. 宿州市年小学英语四年级上册期末统考卷 无听力音频 II 卷. 钱包余额 0 抵扣说明: 1. 余额是钱包充值的虚拟货币,按照的比例进行支付金额的抵扣。 2.
how to put cheats in fallout 4
dying light cheat engine ban
Red Dead Redemption 2 Mod菜單PC
how to download mods for minecraft java 1.16.3
你可以在minecraft pe上下載mods
如何在GTA 5作弊引擎中獲取金錢
how to get lamborghini in gta 5 cheat code
群發效果2作弊引擎技能點
天際欺騙獲得健康魔藥
如何阻止修改的MINECRAFT滯後
欺騙Stardew Valley項目
minecraft hacker skin girl
how to hack rust
騙局Stardew Valley 1.5
how to install mods on minecraft twitch
assassins creed valhalla cheat engine inventory editor
城市天際線解鎖紀念碑作弊
world of tanks blitz hack cheat engine
cheat engine nioh 2
GTA 5最佳騙子汽車
gta 5 pc multiplayer money hack
euro truck simulator 2 1.38 crack chomikuj
horizon zero dawn cheat trainer
how to get a free minecraft cape without mods
euro truck simulator 2 cheat engine free download