第 3 课,移植小物件之特定于妹抖的东西
所谓移植,就是把其他地方的模型搬到妹抖里来。
因为做一个完整的模型是很复杂的,所以我们先从移植学起
特定于妹抖的东西的意思是移植到这个游戏需要注意的地方。
注意事项
如果你不确定要移植什么,导入多个模型参考后
决定要移植时,需要不保存工程,重开 blender
否则你删除模型时只是删除了网格,并没有删除贴图
以后你要处理贴图时会非常难受
如果需要微调骨骼,最好导出 .model 后,新建项目,再重新导入 .model
首页的错误处理插件是必装的,否则缺贴图什么的会报错。
骨骼类型
在 COM3D2 的 MOD 中,大致有 2 种骨骼,我把它们称为(不知道别人怎么叫的)
全身骨骼,意思就是这个物品有完整的全身骨骼
物件骨骼,意思就是这个物体只有基础骨骼和自己的一些骨骼
全身骨骼
我们第一课修改的袜子就是全身骨骼,导入后可以看到有完整的身体骨骼
你可以把这个隐藏,然后点左上角的 添加-CM3D2-body001 来添加一个身体,你会发现骨架是一模一样的,除了这个袜子的丝带上面有额外骨骼
注意,插件自带的 body001 是从游戏内提取的,这个 body001 就是游戏的默认身体,只不过添加到了插件内方便你直接添加。
在上节课提到的 SybarisArcEditor 中一样能提取到
物件骨骼
本人网盘里面有个 改造_可以上下移动和左右摇动的vibe_proj3_COM専用_動くバイブMOD_240806.zip
这个就是物件骨骼,你可以导入看一下
可以看到只有 X 轴(红色)的基础骨骼,和 Y 轴(绿色)的物体自己个骨骼。
基础骨骼是必须有的,物体自己的骨骼不一定要有
移植一个 MMD 模型之全身骨骼模式
这次我们移植这里面的翅膀
https://bowlroll.net/file/87122
我们在移植时,要先查看作者写的条款:
这个模型说了是 OK 的
当然还有 KISS 条款,发布时请把这段话也放在 MOD 内
下载后注意解压时要使用语言编码,不然是乱码
导入模型
解压后我们会看到一些 .pmx 格式的 MMD 模型
要导入这个格式的模型,我们需要安装 MMD 插件,链接在首页,
安装后就有导入按钮了
选择 蝶_butterfly.pmx
导入
导入后把空物体,骨架什么的全部删掉(保留骨骼什么的我可能不会教)
只留下网格
物体模式把顶点组全部删掉
然后我们添加一个body001
调整大小
你会发现身体比翅膀大多了
点击右上角可以切换正交视图
我们用 G 键 和 S 键来调整大小和位置
按下 G 或 S 后,可以按轴向来限制位置,比如你只想在 X 轴移动,就按一下 X
调整好大小后,需要应用变换,否则你导入游戏内,会发现怎么还是小号的
绑定骨架
物体模式,在这里点击物体,然后按住shift,把它拖到 body001 骨架上(设置父级)
转换材质
你现在可以忘掉你学习的 blender 材质教程了,除了 UV。
因为妹抖内的材质和 blender 没有半毛钱关系。
我们的游戏使用的是 Unity 引擎,如何渲染,如何着色都是由 Unity 和游戏自定义代码决定的。而不是 Blender 中的渲染。
就像着色器只能使用游戏自带的着色器和使用插件额外加载(ShaderServant)的着色器一样。
选择材质(这个模型只有一个材质),这里有个更改为 COM3D2,点它
注意看下面 MMD 的纹理信息显示的是哪张图
种类就是着色器,直接确定就行了,我建议直接在游戏内用 AccEX 改,因为可以实时查看
材料(材质)名称,包括 MOD 名称,文件名等,建议改成“作者名_模组名_部位名”或者“作者名_部位名”什么的,以免和别人冲突(别忘了文件名是全局的),总之就是要加上自己的独特标识,分隔符请使用下划线_。
虽然材料名称不是全局的,不会和别人冲突,但是下面的贴图会
下面的贴图名建议和材质名称一样,这里为了让你在后续有所区分,加了贴图二字
还记得刚刚 MMD 的纹理信息显示的是哪张图片吗?
我们这里只需要 toumei.png
,至于 to_00.bmp
我这里不教
改成你刚刚设置的贴图名,然后转成 .tex
_ShadowTex 第一课有稍微说一下,如果你不想要阴影效果,可以设置成一样的,否则其实一般就是调暗一点的主贴图。
重复的会变成 .001 但是不用管,实际上读的是同一张图
_ToonRamp 和 _ShadowRateToon 默认指向的是游戏自带的,可以使用 SybarisArcEditor 来找到游戏里面有哪些贴图,或者你也可以自己做。
物体跟随原理
我先不解释,你先跟着做一下
切换到编辑模式,全选翅膀的网格
(选择技巧,右上角有个透视模式,在复杂的模型用透视模式选择可以直接选到对面的东西,不需要来回拖视角)
新建一个顶点组,改名为 Bip01 R Hand
,然后在全选顶点的情况下点击指定
导出
然后切换回物体模式,选择翅膀,导出 .model,我们这里导出到 learn_class3.model
把它放进你的 MOD 文件夹,还记得吗,我们还缺一个 .menu
从别的地方找一个 .menu 来,用第一课的也行,改名为 learn_class3.menu
把 マテリアル変更 (材质变更)删掉,因为我们这次不用单独的 .mate 文件
然后指定我们刚刚做的文件。
icons 这栏,我们没有做图标(并没有 learn_class3_i_.tex 的文件),所以等下会显示为条纹格子
或者你想做也行,图标大小 80x80
然后启动游戏
在袜子那里可以找到我们的 MOD(因为没改分类)
装备上后,你会发现,它并不在背上,而且在跟随右手移动
切换姿势可以看出来,或者你可以在工作室模式移动右手查看
这是为什么呢?
物体跟随原理
还记得刚刚的 Bip01 R Hand
顶点组吗?
就是它导致的
在 Blender 中,顶点组不仅仅是一组顶点的名字
在绑定骨骼的情况下,如果它和某个骨骼重名,那么它就代表了这个顶点组同名的骨骼,对这些顶点的权重(影响程度)
我们刚刚给所有顶点都分配给了 Bip01 R Hand
顶点组,且权重是 1(指定时下面可以选,切换到权重编辑模式也可以看见)
因此,在游戏内它就会完全跟着这个骨骼移动,因为权重是 1。
也就是说,权重决定了骨骼会在多大程度上影响这些顶点组,当然不同骨骼间的权重是要有一个过度的,如果都设为 1,很容易出现断成几段的情况。
从名字可以看出它是右手
在物体模式选中骨架,然后在这里开启名称显示,就可以知道每个骨骼都叫什么了
你可以切换到姿态模式,转动骨骼看看每个骨骼都会影响什么
根据经验,你只能使用 Bip01 里面的骨骼,不信你可以把顶点组改成 ArmL,你会发现导出不了
提示 ウェイトが割り当てられていない頂点が見つかりました、中止します
说明你用了无效的骨骼
提示 オブジェクトのカスタムプロパティにボーン情報がありません
说明你没有正确设置骨架为父级
接下来我们把刚刚的顶点组改名为 Bip01 Spine
可以看到它是我们的脊椎骨头的一部分
导出后到游戏内查看,发现它就在背部了
(直接在顶点组处指定的顶点,权重默认都是 1,可以在那里调整,或者切换到权重编辑模式进行刷选)
你可能想问,为什么物体有一套完整的骨架呢?
实际上在游戏内会被合并到角色骨架上,只有额外添加的骨头被单独作为物品自己的骨头
所以是不会出现 2 套骨架的哟
所以你也不能去修改属于身体的骨架,不然会出问题捏
当然,做衣服也是同理,只不过需要跟随的骨骼更多,顶点组也就越多。
自动转移权重
移植小物件还好,但是衣服涉及到的骨骼很多,一个个手动刷权重估计会累死
幸好我们的 Blender 插件提供了自动权重转移。
在物体模式选中转移来源(橙色),然后按住 shift 选中转移目标(黄色)
然后点击插件提供的这个选项,就能自动转移顶点组和权重了。
插件不是英文的请看附录。
翅膀只是演示,不是所有物件都是适合自动权重转移的,你可以看看转移后效果会变成什么样子。
材质修正之面朝向
然后你发现后面是黑的,而且怎么边缘颜色会影响它的颜色?
而且你尝试更换了阴影贴图,发现没有用
(下面画起来的选项你可以调整看看会发生什么)
回到 blender 在物体模式勾上面朝向,你会发现两边的颜色不一样
蓝色代表外表面,而红色代表内表面
把视角移动到 body001 里面你也会发现全是红的
为了节省资源,游戏里内表面一般是不渲染的,看起来就直接是透明的,或者是黑的。
所以我们需要把它改成外表面
但是呢,这是个一维平面,2 个面不能都是外表面,虽然 blender 里面可以选择双面渲染
但是我前面也说了,你可以忘掉学到的 blender 材质了,游戏内的渲染是由游戏决定的,你在 blender 调的渲染方式什么用都没有
所以我们只好给这个模型加一个厚度,让他不再是一维平面
切换到编辑模式,(按 1 2 3 可以切换 点、线、面 模式)
切换到面模式,选择一个翅膀,右键,然后选择延法线挤出面
稍微挤出一点就行了
如果你发现外表面变成红色了,选择一个面,然后按 ctrl + (就是加号)扩展选择 (多按+),直到选择所有
然后按 alt+n 选择反转,就发现外面变成蓝色了,对其他 3 个翅膀做同样的操作
(日后你进行镜像操作后,也要注意检查面朝向)
再导出,就会发现两边都有颜色了
恭喜你已经学会了,如何用全身骨骼模式移植基础模型。
移植一个 MMD 模型之物件骨骼模式
物件骨骼模式我们移植一个震动棒
https://bowlroll.net/file/78169
也是可以移植和分发的
提取一个物品作为样本
妹抖的骨骼很复杂,如果你自己从头创建,将会是一场噩梦。
所以我们还是从官方拿一个,用 SybarisArcEditor 导出 accxxx006
具体方法在第一课。
导入 blender 后如图
accxxx 是这个物体独有的骨骼
Bone_center 是所有物件骨骼都有的骨骼
然后你会发现官方这个物品只有一个 Bone_center 顶点组,所以对于静态物品,我们也只要一个 Bone_center 顶点组就够了。
对齐
观察官方物品,在编辑器内和在游戏内的样子,你会发现它是往 -Y 方向延伸的
所以我们也调整方向
材质
和全身骨骼一样的方式
但是呢你会发现, MMD 纹理那里,并没有纹理
而且直接在 MMD 材质那里选择的颜色
先不管,和之前一样,我们都选择转换成 COM3D2 材质
顶点组
我们删除原有顶点组,然后新建 Bone_center 并赋权重
和之前一样的方式
导出
导出 .model 后
打开我们提取的 .menu 文件,你会发现和之前的略有不同
additem 这里多了几行
先跟着我做,等下再告诉你为什么
把 アタッチ body クリトリス 都删了
我们不用单独的 .mate,所以把 マテリアル変更 也删了
然后我们进游戏,装备上
你会发现它在脚下,而且很小一个,而不是和 accxxx006 一样在阴蒂上
(没有就把胖次脱了,有的胖次会隐藏 accXXX,就是第一课没腿的那个原理)
我没完整移植贴图,所以有些贴图显示为紫色条纹。
附着点的秘密
那么为什么 accxxx006 会在阴蒂上呢
秘诀在 .menu 中 additem 多出来的那几行上
你可以翻译一下那个日语是什么意思
这就是为什么,明明没有全身骨骼,这个物件却会固定到某个地方。
我们把加回去
可以看到它就在阴蒂上了
所有附着点可以在这里找到
https://seesaawiki.jp/com3d2mod_wiki/d/menu#content_1_25
(additem 可以添加多个,你可以打开一个乳头配饰看一下,一个附着到左乳头,一个附着到右乳头)
现在我们把 menu 改成这样试试(附到小穴)
然后我们根据自己的喜好调整一下大小和位置,就可以看到效果了
没有图
也可以附着到部分任意 IK 骨骼和身体骨骼(比如 Bip01 Spine、Bip01 L Hand),我们改成这样试试
附着到骨头需要写 ボーンにアタッチ
(附着在骨头上)
可以看到就在手上了
恭喜你已经学会了,如何用物体骨骼模式移植基础模型。
作业
作业 1
在全身骨骼里的那个包内有很多种类的翅膀,移植一个其他的
我移植了 ペガサス_pegasus.pmx
预期效果如图
作业 2
更改成透明着色器后,为什么如何颜色如此暗淡,即便透明度是 0
尝试把它变得不透明一些
作业 3
把翅膀的分类改成背部
menu 的组成请参考附录
最后更新于