写在开头:想想第一个mod罗塞塔的制作已经快1年了,去年刚开始做物理的时候很是头疼,对四元数的理解根本达不到大佬的水平,因此拿起了这个chain editor插件来捯饬,然后发现还挺好用,所以写这篇教程着重介绍一下这个插件对骨骼制作,教大家如何手搓物理。
先简单介绍一下物理:游戏里想要除了人物本身以外部位要想有物理需要3个东西;
首先这个模型必须要有权重来控制这个物体某一部位运动的范围和最大程度;
然后需要与这个权重相同名字的骨骼让物体跟随骨骼运动;
最后需要一个Chain.48文件控制这个骨骼的运动幅度。
三者缺一不可,没有权重或者骨骼人物会把模型拉到地板以下,缺少Chain.48文件会让模型骨骼跟着上级目录的骨骼一起固定运动
有了这些基础知识以后我们开始折腾权重,首先我们要得到一个骨骼摆好,Root骨骼已经命名完毕的模型。
以上操作的详细教程可以看这个视频:https://www.bilibili.com/video/BV1X14y1j736/?vd_source=5038a4f63b87655882a8df43052bd8a8,因为本教程重点是物理制作不涉及其他内容
按材质或是按选中项分离我们认为做起来比较方便的模型部位就可以开始物理的制作了
首先我们可以看到MMD百花缭乱的骨骼,这种复杂程度的骨骼直接拿来做是不可能的一个部位的骨骼上限是246根(来自大贤者实际制作的结论,没错他试过!),而且后续修穿模根本无法修理,因此这种复杂程度的需要重新刷涂,
当然假如你拿到的模型本身权重复杂度并不高,比如说这个猫猫头的前半部分,此时就可以直接重命名即可,
具体刷涂B站教程还是蛮多的,仁者见仁智者见智即可,此处推荐几个权重参考(必要时也可以直接拿来传递权重)冰牙龙x的马尾、241蝴蝶套翅膀(做大埔蛾子)、383巴尔巴尼亚的披风、424蒸汽裙(复杂裙摆)、366裙子飘带、374博爱裙(紧身偏长)和376学士裙(宽松偏短)。(by:诸葛大佬)
命名逻辑:xx_00, xx_01, xx_02, xx_end, 在权重命名中开头的00必须要有,在骨骼中除开头的00外最后必须要有end,中间数字必须连续,否则chain.48文件会读不出来导致整个骨骼都不动
当然命名的xx可以根据自己的习惯来进行,写拼音、写缩写、写英文单词什么的只要不是中文就行,假如是中文在noesis文件-rewrite时会报错召唤出古神。
首先随便找一个物理骨骼,
无论是别人的mod,还是游戏自带的,必须要保证是这样放置,因为在之后生成骨骼时插件的X轴朝向与骨骼角度有关
找好之后按照自己刷的权重位置或者原模型的骨骼位置像对齐Root骨骼那样对好,如果是自己刷涂的可以参考一些MMD骨骼绑定教程,这方面也是仁者见仁智者见智,当然也可以像我这样编辑模式调整位置然后姿态模式随便扭扭看自然不自然(工作量堆起来!)
对齐骨骼以后我们会得到一个这样的骨骼组:
这时候就要注意了,
崛起骨骼和模型的缩放大小是0.01而有些骨骼的大小是1,这时候你需要将外加的骨骼合并到Root上去
反过来的话想象一下0.01倍的模型搓到1倍大小的骨骼上会发生什么,有些人说模型导出后不见了,就是这个原因,不是找不到了,而是缩小了100倍,可能放大看中心点就是你的模型
最后得到一个这样的骨骼这部分就结束了
首先说明:Chain.48文件更详细的内容请移步亮佬的这篇帖子:
https://www.caimogu.cc/post/261738.html
本教程不涉及更多无关内容,之后的进阶篇也主要为案例分析而不是基础教学
这时候就终于可以打开RE-Chain-Editor-main插件了:
1. 先用Create Chain Header创建一个Chain文件
2. 然后Create Wind Settings创建风力目录(对应Chain.48中的struct windsetting wind)
3. 接下来点击Create Chain Settings创建骨骼控制文件(对应Chain.48中的struct chainsettings)
4. 最后将CHAIN SETTINGS_00,01拖拽到WIND SETTINGS中
这样我们就得到了一个这样的目录:
5. 下一步将做物理的骨骼调整到姿态模式,此时这个插件会变成这个样子
6. 选中目标骨骼的第一节骨骼如图中的F_Skirt_00,然后用RE-Chain-Editor-main选择Create Chain Frome
The Bone创建出骨骼控制组CHAIN_GROUP_00_F_Skirt,然后将其拖入到CHAIN_SETTINGS_0X下面就会得到下图
7. 然后我们调整回物体模式,接下来我们开始用这个插件最重要的两个功能;在这之前建议看完亮佬对chain.48文件的说明特别是关于四元数和骨骼角度的说明,毕竟生成的这个X,Y,Z轴非常重要,用Chain.48文件控制的骨骼角度的四元数就可以通过这个东西在blender里进行旋转来调整。
然后就是这个圆圆的球球
在blender里进行Angle Limit Radius调整
最新版本的插件已经能将物理角度限制可视化。
如果有需要的话还有Create Collision From Bone, 这个功能需要选中Root骨骼的其一生成物理碰撞,可以选择球形、胶囊和平面;球形懂的都懂,胶囊一般放在大腿来避免裙子前摆的穿模,而平面目前我还并没有发掘如何立起来。
通过对XYZ轴的转动调整四元数骨骼的朝向,然后调整这个模型的限制角度我们就会得到这样的东西:
一个骨骼角度调整好的可视化Chain.48
8. 这就可以导出这个Chain文件了,记得选择Chain.48
以上就是基础部分的全部内容,现在应该已经可以通过这个插件随意控制骨骼的添加以及角度的调整,再配合诸葛不太亮大佬对Chain.48的解析应该能做出不错的物理来了。
本篇中使用的插件:
https://github.com/NSACloud/RE-Chain-Editor
https://github.com/alphazolam/EMV-Engine
写在前面:其实利用前面的知识,从知识层面上已经完全能够自己进行物理制作并且控制骨骼想要达到的效果,因此进阶篇主要还是分享制作过程中总结的一些规律和理解,帮大家打开思路,少进行一些很花时间的试错。
案例1:先拿在做的这个开刀
首先我们先回看看这个骨骼后的模型在游戏里的效果
然后就会看见一个再正常不过的尴尬事情,它…..穿模了。、
造成这情况其实还是非常好理解的,用EMV-Engine可以看见我们的人物其实是开腿站立的,而我们的骨骼又是自然下垂,因此这个姿势几乎直接秒杀了所有高开腿的旗袍,所以在做裙子贴腿的mod时要注意。
此时之前说的球球Angle Limit Radius就有用了,
我们可以看到这个模型的骨骼在L_Tape_00和01处的骨骼实际上角度限制是有点大的,如果左边带子向右偏会直接穿模到腿上,这就导致上面的效果,而实际上我们并不需要这么大的控制角度去实现运动,因此就可以简单粗暴的将x轴向外移动一点这样既能保证了骨骼看起来自然运动的角度,又能直接杜绝穿模
然后就是另一个问题,Chain的四元数作用
假如说极端情况下弹性直接拉满,x轴朝向改成120°放飞自我,但实际上在极高弹性下它还是保持着原本的骨骼角度,和原本T-pose时的模型动作一样,
所以structchainsettings其实本身是模型运动的角度限制,其中的四元数朝向只是为了控制角度限制的参考,并不会直接控制骨骼方向(当然你要把角度限制调成0.1°另说),反过来说只要骨骼大方向上没错其实一个好一点朝向的骨骼能通用。
案例2:多个模型但都做骨骼后叠加
之前做的狂猎-霜舞盛典的身后裙子就是这种,不过这个还算比较好做,因为外侧的骨骼上面有一个腰部固定的物件所以下层的骨骼运动幅度本就够不到上面的带子,因此直接减小角度就好了。
同样这里也引出一个问题,XX_00这跟骨骼是直接连接上级Root骨骼的所以这个骨骼是不会挪动的,只能固定位置转动,那么我想要单个权重部位移动而不是转动咋办捏?
案例3:漂浮模型
照抄祸铠那两把刀就行了!
写在开头:
先简单了解一下权重是啥:刷了它就会跟着骨骼走,颜色越红幅度越大,嗯,就酱,没了;
这就引出可以简单引出下面的问题了:
Q1: 我要是只有一个权重,它怎么动?
Q1: 刷3组会怎么样?
Q1: 佬~我玩太刀的时候裙子穿模了,有空吗?修一下
Question 1:
我现在整个模型上只有一个权重Test_00,大小是0.5我们来转一下
完美的90°,模型完全跟随骨骼转动。
好的,问题1解决,不管刷多少(0.5),只要仅有一个顶点组有权重那么骨骼就会100%跟着这根骨骼走
Question 2:
我们在Test_00这个地方新建一个Test2_00,然后把权重也刷成0.5
然后Test2_00固定不变Test_00还是90°,就会变成这个样子
差不多就是45°的样子,所以骨骼和权重的关系就是这样,思路打开~
这就是为什么刷权重的时候再简单为什么都有互相重叠一部分。
这时候就可以拿出无敌的424蒸汽裙了,先看身后的裙子,按照裙子层次来刷的权重,然后互相存在重叠部分
这样才能动起来自然。
Question 3:
猎人裙子前面长基本都会穿模,所以这个做起来还是挺繁的,这时候就可以拿出伟大的蒸汽套前摆,这个裙子前面完全跟着腿部骨骼走,一点不摆的
但我想裙子摆怎么办?那就刷权重吧~
或者也可以把骨骼绑在大腿上,就像我做的这个弱音的裙子,它的前面那根是直接绑在大腿上的,靠腰部的权重扩散来维持接缝处的自然,用角度限制来控制下一节骨骼的运动幅度,让他差不多能盖到腿但不至于穿(中间会遇到大量的试错),毕竟修mod嘛~都是试错
以上就是我做物理的心得,基本就是这种操作,如何做出好点的物理还是要多拆拆原游戏的那几个权重,还有熟悉Chain Editor的那些功能,相信大家做出来的物理要比我的好~