xw1995327www 发表于 2022-2-26 04:47:39

[教程]修复位移形式UV动态贴图的方法. 完美克服绿苹果保存后动态贴图失效的问题

本帖最后由 xw1995327www 于 2023-5-3 03:41 编辑


前辈研究分享,这个问题很早之前GA就有分享做法,不过之前没搜到





这个问题折磨我非常久了,我很多模型计划的动态贴图部分都在绿苹果保存之后失效。初步怀疑是绿苹果无法正确保存模型动态贴图设置。


经过我的研究分析,证明我的猜测是正确的,并且成功手动通过输入参数制作了动态贴图模型。这与绿苹果1.05还是1.07等版本的问题无关(我只有这两个版本的结论,如果谁是能成功用某版本绿苹果保存动态UV,请在回帖指出)
如果有朋友在绿苹果里制作动态位移型UVmap形贴图,那么一定要看这个方法。


本帖子以我自己制作的一个蛋刀为基础的动态效果为例,来解决这个问题。结尾会发出这个模型
同时贴心地包括了一个比较简单易学的关于UVmap变化型动态贴图制作小教程。

-------------------------------------------------------------------------渣渣排版分割线------------------------------------------------------------------------------------------

Step1.
确定要设置为动态材质的贴图,图中例:warglaive-effect.blp,是一张正确带有alpha通道的贴图(非必要,任何贴图都行,根据你实现效果需求就行)
确保在贴图设置里勾选笼罩高度or笼罩宽度(取决于你想随时间如何位移贴图,最好全勾)


Step2.
打开全局动作管理器,新建全局动作。设置持续时间 此处设置随意地设置了1600,这里持续时间我认为是UVmap位移的周期。越短,所需移动的花纹变化率越快,反之亦反。


Step3.
打开贴图动画管理器--新建贴图动画。 如图所示设置,勾选位移动态化,打开设定菜单,如我所示的格式设置位移系数。
0 {0,0,0}
1600 {0,1,0}
如何理解系数?(个人理解,帮助新人初步理解系数意义,可能存小差错,但一般来说只会影响实现出的视觉效果)
第一行0 {0,0,0} 代表了始态时贴图位移量。0,0即原点(x=0 y=0)无位移 大括号内第三个零我不清楚意义,因为贴图是二维的。通常,我不会改变他的值。
第二行1600 {0,1,0}, 1600呼应了之前设置全局动画的时间1600,大括号内{0,1,0}理解为: 从0到1600,经过1600时间单元后,贴图向上(y向)位移1单元?
底部选项选择刚刚设置的全局动画,数值类型选择linear



Step4.
打开材质管理器,找到warglaive-effect.blp的材质,贴图动画ID选择刚刚建立的选项。单击确定。



此时,设置完毕后,你已经可以在绿苹果里看见动态贴图效果了:



然而令大多数新人尝试者沮丧的是,如果你保存以后,再次打开模型,你会发现动态贴图并不生效,
再次打开后,在贴图材质的选项里,你会发现动态贴图ID为none. 同样进入游戏也不会有效果。

下来则是解决方法,重点来了!
-------------------------------------------------------------------------渣渣排版分割线------------------------------------------------------------------------------------------

Step5.
有用MDLVIS打开模型,另存为MDL格式,转化成可读语言结构




Step6,
用记事本打开mdl文件。


Step7.
搜索关键词:texture


找到贴图列表,图中显示贴图有两个,此处注意,顺序上此处第一张贴图为是0不是1, 因此记为: TextureID 0,
(简而言之,从上往下数,第n张贴图是你要的那张,则记此张为TextureID n-1)
而此处我们需要的流动贴图warglaive-effect.blp 对应为第二张贴图,则记为 TextureID 1,





Step7.
搜索关键词 Textureanim


我们在之前只设置过一个贴图动画,顺理成章地,这个也按刚刚的计数规则, 记为 TvertexAnimID 0
(重要,这一段字段格式在记事本里查不到,你需要手动打出或者复制这一段,我也是比对正确动态贴图的模型得出的)







Step8.
搜索关键词:material



找到对应TextureID 1的material.


在绿色划线处此下方 空格键创建新一行



于此行,并对齐上一段文字,不要破坏格式,输入刚刚所记的字符串(建议在这里直接复制,进入记事本粘贴):    TvertexAnimID 0,   **不要忘记后面结尾英文半角逗号**
(如果模型中有多个动态化贴图设置,还是按照一贯的计数原则,第n个则为TvertexAnimID n-1, 具体你要用哪个,根据记事本里面设置的时间轴相关的参数来进行区分)



至此完毕,保存文本文档。

Step9.
打开mdlvis,存为MDX.


至此,动态贴图ID就正确地填入材质中,并且不会因为绿苹果改动造成丢失了!!

-------------------------------------------------------------------------渣渣排版分割线------------------------------------------------------------------------------------------
游戏中预览:


案例蛋刀下载:
**** Hidden Message *****













丽丽 发表于 2022-3-2 16:44:17

我喜欢在材质 透明度那个位置加一个0.99
这样方便找

xw1995327www 发表于 2022-2-26 04:52:55

@秦晋唐明

秦晋唐明 发表于 2022-2-26 05:16:24

整挺好,不过第一步的俩勾我做的时候不勾,因为感觉没什么实际变化。
第三步的数值可以填负数,就是反方向流动,绝对值越大,流速越快。当然你用全局动作的帧数决定速度也是可以的。
论坛里有个火乌鸦
https://bbs.islga.org/forum.php?mod=viewthread&tid=2152167&highlight=%BB%F0%CE%DA%D1%BB
这个动态贴图就很可以了,属于是多张贴图拼合一张,然后用流动来确定位置,造成序列帧的效果。这个就不能用linear了。

xw1995327www 发表于 2022-2-26 05:39:37

本帖最后由 xw1995327www 于 2022-2-26 06:50 编辑

秦晋唐明 发表于 2022-2-26 05:16
整挺好,不过第一步的俩勾我做的时候不勾,因为感觉没什么实际变化。
第三步的数值可以填负数,就是反方向 ...
笼罩的意思我觉得可能是决定贴图在UVmap时是不是一张张重复地堆叠拼接的状态,亦即UV网格范围如果取超过原来贴图一比一的区域,UV仍然能读取得到范围外贴图。我猜的
比如我移植模型时候都懒得勾笼罩,然后还要回头移动UV位置。
我做这个例子时候没勾笼罩,流贴到边缘就取不到图案了。
写着写着我觉着应该就这意思。

xw1995327www 发表于 2022-2-26 05:41:30

本帖最后由 xw1995327www 于 2022-2-26 06:47 编辑

秦晋唐明 发表于 2022-2-26 05:16
整挺好,不过第一步的俩勾我做的时候不勾,因为感觉没什么实际变化。
第三步的数值可以填负数,就是反方向 ...
嗯对 linear 和其他系数差别就是视觉上期待作出的动态效果的问题了。这个的话有点数学向,感觉是关于图像幅度变化率的变化(没在绕口令)的问题,不过我是不会的。因为我才刚刚靠自己让他动起来。。。。。。

霍霍小猫 发表于 2022-2-26 06:35:41

大佬威武666

32165 发表于 2022-2-26 10:22:46


大佬威武666

爆炒火车头 发表于 2022-2-26 11:29:16

大佬威武,膜拜

3139245141 发表于 2022-2-26 12:48:45


大佬威武666

16421472 发表于 2022-2-26 12:55:41

大佬很强悍,必须要支持

魔剑霜之哀伤 发表于 2022-2-27 15:59:56

大佬很强悍,必须要支持

未知目标 发表于 2022-3-2 11:37:22

大佬威武666

luiscarlosapeu 发表于 2022-3-3 20:16:33

very well explanatory, thnks!

123456edf 发表于 2022-3-5 13:16:22

66666666666666

skybig 发表于 2022-5-4 19:50:27


大佬威武666

1520484961 发表于 2022-5-8 23:48:47

22152516565+9484

2949314 发表于 2022-7-27 21:49:33

         谢谢

d2844040 发表于 2022-7-28 03:46:56

大佬66666666

454848836 发表于 2022-8-20 19:16:31

太好了。正在找这个教程呢
页: [1] 2 3
查看完整版本: [教程]修复位移形式UV动态贴图的方法. 完美克服绿苹果保存后动态贴图失效的问题