H5游戏论坛

 找回密码
 入驻H5
查看: 2045|回复: 4

[心得] MOD制作上的一些小心得(笔记)

[复制链接]

叫兽 - 叫兽

发表于 2015-6-12 11:00:12 | 显示全部楼层 |阅读模式
本帖最后由 csid 于 2015-6-12 22:41 编辑

两三年前,我就在搞CM3D的MOD了,但玩了一阵子后就没碰了,因为CM3DTools
自带的模型转换工具Anz2Mqo存在一些Bug导致有些问题无法解决,而该工具又一直没更新。

最近,Anz2Mqo又继续更新了,目前最新版好像是0.4.2.7,
出自tenpen大的帖子:
[十一区搬运]2685-8Anz2Mqo+CM3Dcats uplmt310 323节分用鬼+棒子

我试用了一下,发现旧版存在的问题大致上是解决了,所以重操旧业的同时,顺便发一下心得当作笔记。

Anz2Mqo的旧版本(0.4.1.0),对法线(normal)的处理设置基本上是没有任何参考,
而水杉这套软件也不能编辑法线(4.0之后的版本的我不确定)

这导致使用水杉制作出来的模型转回ANZ文件之后,模型的法线是错误的,
最典型的例子是,在CM3D,身体和胸 部的模型是分开的,为了去码时in部好看点(原始模型只是平面),
会修改Body000_000身体模型加入自己的in部模型。

透过水杉修改模型,使用旧版Anz2Mqo状况下,你会发现胸 部和身体会有很明显的接缝,
这就是因为身体和胸 部的法线不一致导致的。

原图:
snap.jpg

水杉+旧版Anz2Mqo修改后:
snap0006.jpg


而新版的Anz2Mqo(0.4.2.7)总算是给出了很多方法设置模型的法线,
如下图:
Anz2Mqo.jpg

可以发现,这次Anz2Mqo在制作anz的模型,可以参考其taanz模型的法线设置到我们修改的模型
如果我们的模型是从A模型修改而来,自然地,我们的模型法线就要以A模型为参考。

而下面的针对法线的设置方式,经过我的测试,我认为同一顶点平均化,最近顶点平均化这两个选项效果好些。
不过这两个选项仍然要看使用时机而定。

如果,针对原模型的修改较小,则可以使用最近顶点平均化,
这个选项在设置法线时,参考模型内没有的顶点,他也会一并计算设置。

但是,若对原模型的修改较大,使用最近顶点平均化会导致修改部分的顶点法线不正确(因为是拿原模型其ta顶点做参考),
这时就要用同一顶点平均化,也就是原模型不存在的顶点不参考任何模型,使用默认法线值。

下图是我使用Anz2Mqo(0.4.2.7)最近顶点平均化修改in部的模型,以原始Body000_000模型为参考:
snap0005.jpg

可以看到胸 部接缝消失了,和原图几乎没差多少。

不过,Anz2Mqo(0.4.2.7)仍然有不完美之处,若是有修改模型贴图的板众们要特别注意,
一般来说,Anz2Mqo在转换成mqo模型时,会把贴图文件dds转换成png文件,
想当然,要修改贴图当然是直接改png文件,再透过Anz2Mqo转回dds打包成anz文件,
但是Anz2Mqo在转换png成的dds文件存在问题,会使半透明模型无法覆盖在贴图上,如下图:
snap0000.jpg

可以看到,使用Anz2Mqo修改过的Body000_000文件不会被灯光覆盖,但胸 部会,同样的问题也出现在泳池背景,
身体不会被水覆盖:
snap0001.jpg

而正常的状况应该要如下图,身体会被灯光覆盖:
snap0003.jpg

所以,dds文件的制作不能依赖Anz2mqo,要自己产生,nVidia有提供PS制作和修改dds的外挂(免费的),
在PS使用nv的外挂制作dds文件时,记得储存的类型要选DXT1,如下图:
dds.jpg

产生的dds文件放回原本的文件夹,Anz2Mqo不要选dds变换,而是选择使用原本的dds,
这样就不会产生上述的问题了。

而从我上面的截图也看到,很多其ta职人的mod贴图也是被Anz2Mqo影响而不会被半透明物件覆盖,
不过要修正的话会是个大工程了。

以上是心得报告,不完全正确,欢迎讨论。

有爱就有H5~

叫兽 - 叫兽

发表于 2015-6-12 18:05:12 | 显示全部楼层
很好的技术文
有爱就有H5~
回复 支持 反对

使用道具 举报

Lv.2 - 菜鸟

发表于 2015-6-13 11:29:25 | 显示全部楼层
有一点你搞错了,0.4.1.0其实有两个版本
作者(非原作者)忘记更新了版本号,这个版本的版本号还是0.4.1.0[upkiss2574]
这个版本首次增加了法线设置项,但是法线数据只能从参照Anz内复制
随后,该作者又发布了对应的anz2blend 0.4.1[upkiss2581]
不过这个版本的插件只能读取原版Anz
一段时间后,该作者又发布了Anz2Mqo 0.4.2[upkiss2671]和anz2blend 0.4.2[upkiss2672]
这两个版本也是目前所用版本的初始,代码全部都是重构的
Anz2Mqo 0.4.2首次为法线功能增加了参数选项及专门的法线参照指定
后来发布的版本都只是调整一些面的修正量及解析难易度,法线相关并没有重大更新
目前,最新的版本分别是Anz2Mqo 0.4.2.15[upkiss2765]和anz2blend 0.4.2.16[upkiss2766]

另外提一点,可能你没注意到,从0.4.1.0[新]开始,Anz2Mqo存在一个重大的bug
如果有一个含两张以上贴图的Mqo模型
要把这个Mqo封装成Anz,生成的Anz文件只能调用第一张贴图,其实所有的贴图都是封装进去的
这个问题我也有和雷大讨论过,你可以试试,所有的新版本都有这个Bug
有爱就有H5~
回复 支持 反对

使用道具 举报

叫兽 - 叫兽

 楼主| 发表于 2015-6-13 13:01:10 | 显示全部楼层
本帖最后由 csid 于 2015-6-13 13:15 编辑

恩,这个我就不确定,因为我手边CM3DTools的Anz2Mqo没有法线参考设置,也许就如你所说的我的版本是[旧]的。

另外,只能调用第一张贴图的问题,坦白说我有遇到,但是我一直以为是操 作错误造成的所以没提,看来不是如此,
不过,既然是bug的话,那么两张以上的贴图只能用旧版的 Anz2mqo?如此果这样的话,那旧版的Anz2mqo还是有必要保留。
有爱就有H5~
回复 支持 反对

使用道具 举报

Lv.2 - 菜鸟

发表于 2015-6-13 18:52:32 | 显示全部楼层
csid 发表于 2015-6-13 13:01
恩,这个我就不确定,因为我手边CM3DTools的Anz2Mqo没有法线参考设置,也许就如你所说的我的版本是[旧]的 ...

关于贴图的问题其实也不是非要使用旧版来解决
毕竟旧版不支持法线
当初发现这个问题时就有考虑过解决方案
有空我会发一些教程

有爱就有H5~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 入驻H5

本版积分规则

Archiver|手机版|小黑屋|免责声明|H5Gal游戏论坛 |网站地图|网站地图

GMT+8, 2024-6-11 11:26 , Processed in 0.030742 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表