站内已有的物理教程参考:
1.【MHWS物理教程】https://www.caimogu.cc/post/1912860.html
2.MHWs ReChain碰撞flag解析以及碰撞常见问题https://www.caimogu.cc/post/1929506.html
3.【MOD教程】从零开始的手搓物理-Chain2 https://www.caimogu.cc/post/1950773.html
贴图详细解析参考:
https://www.caimogu.cc/post/1921753.html (强烈推荐)
本教程仅作为以上教程的一些简单操作讲解和个人实操经验补充
如果你已经对速通或者插件一键处理形成路径依赖,那建议你等其他人哪天制作发布插件给你用,本教程旨在用尽可能好理解的方法让你理解并学会各个设置之间的相互影响和实际体现效果
不过多赘述贴图相关知识
一般你从网上下载模型时,得到的模型都会带有一张法线图,将正常的法线图在PS中打开我们正常会得到类似这样的一张图
如果你把这张法线图直接替换NRRO贴图并且确认没有任何detail贴图影响,你在游戏里会得到这样的结果,武器上面出现很奇怪的一层模糊
看贴图解析我们可以知道这是因为NRRO贴图的通道影响和正常的法线图不同,接下来按照一下步骤操作把他做成一张正常的NRRO贴图
首先在通道中复制你的红色通道,改成Alpha1
然后根据你需要的反光程度,按照 反光度高→更黑,反光度低→更白 的逻辑把你的红色通道直接Alt+delete覆盖纯色,比如灰色
然后再将你的蓝色通道覆盖成白色
这个时候我们不打开Alpha通道的情况下是这样的
打开Alpha 通道后
具体颜色会根据你的红色通道灰度变化,确认后导出设置如下
这样就得到了一张正常的NRRO贴图,效果正常如下
引用评论区Harry Fang的补充:当你按照上述步骤无效时可参考以下方法
最保险的操作是在ps通道栏里面把先把原uv贴图文件“分离通道”然后再“合并通道”选择多通道模式,按照绿蓝红A的顺序,然后再把二通道刷白。
具体就是因为怪猎贴图tex实际上用的是一个四通道图片,不完全rgba形式。正常法线贴图是一个双通道贴图,顺序是通道一粗糙度,通道二存储法线y。荒野的ALBD贴图是通道一存储法线Y,通道三存储环境光遮蔽(涂黑会导致完全遮蔽然后模型很黑),通道四存储法线X。
本段面向已经知道权重骨骼等等MOD基本操作的作者
在制作物理的时候你需要在以下基础认知下进行
骨骼权重,物理链,物理组,物理碰撞,这些属性是互相交互的,最终的物理体现极大可能需要自己反复测试调整,这里我只举例简单的应用,不涉及复杂参数
当你对完角色的基础骨骼之后,一般角色还会有剩下的一堆头发,服装,配件等骨骼,那我们想让他在游戏里动起来,就需要给他上物理。
不赘述RE Chain插件安装等废话,如果你是一个需要做物理的人我相信你不需要我介绍
首先在物体模式下,创建header和你的setting组设置,如果你的这个组需要被风影响,就把他们chain组父级设置成Wind,图为不设置风影响的情况
选中你的骨骼组,然后进入姿态模式
选择你生成链的骨骼起点,选择后将他们的轴向转向Z轴,也就是立正
选择你要生成的骨骼点,在这段骨骼里,选择你想要开始产生物理的这一节,一般是最头端的父级,按照图示的情况,点击生成链,生成后你的骨骼会变成绿色。
你可以把组按照分类重命名方便管理
现在你得到了一根正常的物理链,接下来回到物体模式,选中你想要更改的组,直接应用预设,目前测试下最通用的预设是long tail fur。
如果你只需要最最最最最简单的物理,那到这里已经结束,导出你的Chain2文件并放在你MOD的对应位置更改对应命名就可以进游戏看实际效果了
本段面向预设物理效果需要进一步调整的情况,如碰撞问题等
进行之前我们先按照https://www.caimogu.cc/post/1929506.html 中的内容,将header设置成以下参数
然后再开始进行物理的调参
首先我们把物理简单分成三个部分,1组,2链,3点
他们的参数影响也等于组>链>点,除了本身的参数外,由上一级的参数完全控制
这里直接用实例讲解,大部分情况下组的内容不需要怎么调整,如果你的物理包含尾巴/披风/长裙等容易拖地板穿模的部位,打开组设置内打开vground碰撞即可改善地板穿模情况
我们直接看2和3的链和点的参数,一样只举例大部分情况下最常见的问题和通用的情况
链设置:1、碰撞设置 2、与哪个碰撞物产生碰撞关系
点开1的attribute flag右侧的小箭头,你可以看到这条链的碰撞设置,一般我们打开与角色碰撞,也就是Collision Character这一行
然后是2的碰撞体,这段需要一点冗长的文字讲解,直接实操的请直接跳过这段说明
参考站内另一篇物理碰撞教程,FlagsA值就是你需要产生碰撞的那个物体的值,B值可以不用管。那如果我的裙子需要和两条腿都碰撞怎么办,很简单,把两条大腿的FlagA值相加并填入A值就可以,16384+32768=49152,填入49152就可以让你的链和两条腿一起碰撞
关于A值的计算原理详解
我们可以看到A值都是2的整数次幂,1,2,4,16,转换成二进制看,我们可以看成2的n次方=二进制的n位数,那也就对应了那个帖子中讲到的二进制,我们把这个十进制值直接相加就等于在二进制上打开他们的开关。
比如两条腿一起生效就是16384+32768=49152
双腿+hip+spine1就是16384+32768+1+2=49155
以下Flag A值摘抄自原帖
BitFLag A值
身体 2 spine_0 > spine_0 2 spine_1 > spine_1 4 spine_2 > spine_2 8
Neck_0 > L_UpperArm 16 Neck_0 > R_UpperArm 32
L_UpperArm > L_Forearm 64 R_UpperArm > R_Forearm 128
L_Forearm > L_Hand 256 R_Forearm > R_Hand 512
SPHERE Spine_2 67108864 注意这里是球形 Spine_2 > Spine_2 67108864
手腕 1 L_UpperArm > L_Forearm 64 R_UpperArm > R_Forearm 128
L_Forearm > L_Hand 256 R_Forearm > R_Hand 512
L_Hand > L_MiddleF1 1024 R_Hand > R_MiddleF1 2048
头部 3 Neck_0 > Head 4096 Head > Head 8192
腿部 4 L_Thigh > L_Knee 16384 R_Thigh > R_Knee 32768
L_Shin > L_Foot 65536 R_Shin > R_Foot 131072
L_Foot > L_Toe 262144 R_Foot > R_Toe 524288
腰部 5 Hip_HJ_00 > Hip_HJ_00 1 Hip_HJ_00 > Hip_HJ_00 8388608
默认情况下,Flag A值都是-1,-1代表的是与全部物体碰撞,也就是这条链,会与你所有角色的身体部位产生碰撞,不管是手腿还是身体都会碰撞它
如果你制作物理的是 宽松的裙子/大衣,那有可能出现角色静置时,左右两侧的模型因为手和身体的碰撞挤压导致的抽搐,这时需要更改Flags A值的设置来修改碰撞关系,比如我现在只需要裙子和双腿碰撞,那就在裙子对应的链上填上上面说的49152即可,我右手小臂的袖子需要和手臂碰撞,那一样在袖子对应的物理链上填上对应的512就可以,那如果是大臂小臂都要,那就512+128=640
效果如图,我得到了一个可以和腿碰撞的裙子和袖子
那么链设置完了,我们可能会发现我们绑定的头发/尾巴/飘带等物体可能会以一个特别夸张的角度乱飞,这时我们就需要设置来到点的约束角度
我们把点根据需要设置一个他能活动的最大范围角度,设置后你可以看到这样一个圆锥
它就是你这个点的最大活动范围,根据需求我们修改最大角度和旋转初始角度后即可,那我如果想要把下面的每一个节都只用这个角度就可以,那我们选中后复制,然后选择整个链的层级再点粘贴就可以
粘贴后你就可以看到你的链上所有的点都是一个约束角度了
易错点!我设置后发现我的物理直接朝天疯狂旋转是怎么回事,检查你的约束圆锥是不是变成朝上了,如果是的话就会变成下图的情况
最好用的办法就是把你的这条链直接删掉,回到姿态模式选择骨骼重新创建一条新的链再设置角度碰撞等参数
至此你如果按步骤调整,应该已经可以获得一个相对正常的碰撞物理
在设置完基础碰撞后如果你想要更进一步完善物理的“布料效果”,那么图中的几个参数影响比较明显
1.阻尼——链的缓冲效果,数值越大,缓冲效果越强,反之同理。
数值为0时像下垂速度极快,数值为1时下垂速度极慢
2.阻尼力——阻尼受力度,数值越大,阻尼受力影响越强,反之同理。
举例:将阻尼设置为1,阻尼力设置为-5,你可以得到一个运动后几乎飘在空中以极慢速度回正的裙摆
3.回正速率——模型回到初始状态(mesh模型的默认姿势)的速率,数值越大,回复速度越快,反之同理。
一般不需要变动,全为0时跟随运动后不会回正,为1时模型会时刻保持初始姿势。
4.动作牵引力——跟随人物状态的牵引力,数值越大牵引幅度越大,必须为参考数值才生效。
如图所示,如果我的裙子/袖子等模型因为碰撞被腿撑起来了怎么办,或者我需要他碰撞范围更大一点怎么办
很简单,导入你对应的部位的clsp文件,用腿举例,这里看到你的腿部碰撞球
那接下来有两种办法,第一个是去调整你的点碰撞体积
修改物理链上的点碰撞大小
或者第二个办法,调整你的身体部位碰撞大小或角度
按需求自己调整一下半径和角度等参数,然后自己进游戏实测!
如图我调整各项碰撞后得到了一个又有物理碰撞效果又不会被虚空顶起来的裙子
到这里为止全部都是我的个人经验,如果中途有什么补充说明请联系我指正!
