欢迎光临散文网 会员登陆 & 注册

如何制作GTASA的动态贴图

2019-09-11 21:19 作者:-爱啃梨-  | 我要投稿

感谢Bobfromreboot和他的原教程,看了之后真的感觉很有用!

教程地址:https://gtaforums.com/topic/854384-sacreating-animated-textures-with-rw-animator/


首先我们需要的一般是四个软件:

RW animator  http://www.gtagarage.com/mods/show.php?id=21978

IMG编辑工具,如alci's img editor   https://www.gtagarage.com/mods/show.php?id=17269

TXD编辑工具如magic TXD  https://gtaforums.com/topic/851436-relopensrc-magictxd/

编辑图像的工具如Photoshop


:首先将要编辑动画效果的模型dff和其所用到的txd文件从gta3.IMG中导出

我们以这个广告牌为例子:

这个广告牌的dff名字为vgwestbillbrd12.dff,它用到的材质在vgwstbboard.txd中.
就是这个广告牌



:选择自己要使用的动画样式:

RW animator可以让我们使用多种不同的动画样式,我们可以制作几个图片按顺序滚动的简单动画.也可以制作逐帧动画.(此次教程就以滚动动画为例子)


:选择要使用的图片文件,并把它们合成在一起.图片文件必须都为相同格式,最好都是jpg或者png

A:首先将所有用到的图片文件放在同一个文件夹里


B:将图片按播放顺序,从序号0开始进行重命名

C:打开Frames combining.exe


D:点击Project→option

Multiframe dimensions:指我们将用到的图片合并成一个图片后,合并后的图片的分辨率大小.horizontal是水平像素大小,vertical是垂直像素大小.

*我们最好根据单个图片文件的分辨率和合并的方式,将Multiframe dimensions大小设置成与多个图片的分辨率相加后的大小一样

举个例子:

我们用到的两张图片的分辨率都是宽度256,高度128

那么如果我们要让它们按垂直方向滚动,我们就要把他们按垂直方向合并在一起,那么合并后的图片的宽度不变是256,高度就是两个128=256,所以我们就需要把Multiframe dimensions设置成,宽度(水平horizontal)256,高度(垂直vertical)256

Slots for frames:指合并后的图片能提供多少帧.基本上合并前的一个图片文件就是一帧(frame),我们有两张图片,所以我们就需要将其设置为2

但是我们不能直接设置它,我们需要通过Multiframe divisors进行设置.


Multiframe divisors:指我们在合并时如何分段.


我们要让两张图片按垂直顺序滚动播放的话,就需要让图片按垂直方向合并在一起,并且因为是两张图片,所以垂直方向上要分成2段,那么vertical就填2,水平方向上不用分段,那么horizontal就填1

*size of frames指每一帧(也就是每个图片)的分辨率大小,

所以分段后,我们最好让size of frames大小与合并前的单个图片文件的分辨率大小相同,实在没办法就尽量让合并后frame的宽高比与合并前的单个图片文件的宽高比相同

可以看到,slots for frames正好是2,并且size of frames正好是256x128

E:设置好了后点击OK,然后拖动图片文件所在的文件夹到frames combining.exe的窗口中

F:拖动之后窗口中就会显示合并后的效果,然后我们点击Project→Save

G:此时被你拖动的文件夹里就会自动生成一个合并后的图片文件

为了更加熟练我们可以再举个例子:

如果我们有4张分辨率为宽度256,高度128的图片文件

要让它们按垂直方向滚动播放的话,那么首先Multiframe dimensions就设置为宽度256,高度为128x4=512,Multiframe divisors就设置为水平划分1,垂直划分为4


:用Magic.TXD将合并后的图片替换原先存放在txd文件中的要被赋予动画效果的材质图片,并导出它们的tga格式材质

A:用Magic.TXD打开dff模型对应的txd文件

B:用合并后的图片替换要被赋予动画效果的原材质图片,vgwestbillbrd12.dff用到的广告牌的材质在vgwstbboard.txd中名称为"heat_02"

1:先选中heat_02:


2:点击"修改"→"替换",选中要替换的文件

3:进行替换时的设置,设置好后点击"替换"

C:我们还需要将dff用到的并且要被赋予动画效果的材质图片文件导出为tga格式,并且导出目标地址为dff模型文件所在的文件夹

1:

2:选择dff所在的文件夹,确认后点击"保存"

3:此时可以看到导出后的tga文件:


:RW animator 界面:

左上角图标(从左到右顺序):

1:Save changes to current opened DFF file:保存正在编辑的DFF文件并且一起保存动画效果到DFF文件里

2:Save changes to selected animation:保存对正在编辑的动画所做的修改(*注意点击这个之前不要先点击左下角列表中的动画名字,不然所有修改都会被清除!想要保存对动画的修改直接先点击这个就行)

3:Save current animation to datached file:保存动画效果为一个扩展名是.anim的文件,保存路径为正在编辑的dff文件所在的文件夹 (将.anim文件像拖动dff一样拖动进RW animator可以快速导入动画)

4:Create TV screen animation:快速创建一套逐帧动画

Horizontal division 与 Vertical division:这个也是分段效果,设置应该与frames combinning.exe里的Multiframe divisors相同

Duration:这个是指创建的动画中每一个图片(frame)的持续时间,单位为"秒"

5:create a bouncing ball animation:快速创建一套"弹跳球"动画,这个我还没搞懂是什么意思...

关键帧时间线:

选择一个关键帧后:

左右方向键切换到相邻关键帧.

键盘insert键在所选关键帧的前面插入一个关键帧

键盘delete键删除所选关键帧

按住键盘Ctrl键后按左右方向键可以同时选择多个关键帧,选择后再进行编辑就可以同时编辑多个关键帧

左下角动画列表及图标(从左到右顺序):

add new animation:添加一个新的动画

delete animation:删除正在编辑的动画

图片材质列表:

双击一个图片材质:将正在编辑的动画应用到图片材质上(此时图片材质的图标会出现一个胶带的标志)

右边列表(从上往下顺序):

有两个数值的话,左边的数值表示水平方向,右边的表示垂直方向

1:animation name:动画的名字,这个应该是用英文名,不要用标点或其他语种比较好

2:point in timeline:意思应该类似于"关键帧在时间线中的位置",单位为秒

打比方如果第一个关键帧的point in timeline为0,第二个关键帧的point in timeline为3,就表示从第一个关键帧开始,动画需要花3秒的时间播放到第二个关键帧的位置

所以我们如果要做逐帧动画,就需要设置这个来达到效果.

*这一项一定要严格按照播放顺序设置数值来确定关键帧在时间线上的位置,比如第一个关键帧数值为2,第二个关键帧数值为1,那么游戏就会卡死.

*相邻的多个UV设置相同的关键帧,此数值可以相同,例如如果第三关键帧和第四关键帧UV设置一样,那么它们的point in timeline可以相同,不过既然UV和时间线设置都相同了,那再多的关键帧也跟只有一个没区别


3:UV scalling:指UV范围

这个具体是啥意思呢...真的不太好说.如果你把数值设置成大于1,那么图片就会被拉伸,比如说水平方向设置为1.5,那么图片就会水平方向拉伸到1.5倍长,在游戏里会显示成这样

图片看起来更扁了,因为水平方向上经过拉伸

如果把数值设置为小于1,那么图片就会只显示你设置的部分,比如你水平方向设置为0.5,那么图片就会只显示水平方向的二分之一(0.5)

示例:

如果水平和垂直方向都设为1,意思就是图片材质会完整地套在模型上,游戏中是这个效果

这肯定不是我们想要的效果...我们只需要这张材质的上半部分显示在广告牌上,所以需要将UV scaling垂直方向设置为0.5,意思就是最多只显示材质纵向二分之一,游戏中效果图如下

4:UV position:

这个也不太好解释,可以理解为将材质图片循环滚动播放式的位移

比如,水平方向设置为0.5,整个图片就会往左位移二分之一宽度,如果设置为-0.4,整个图片材质就往右位移了十分之四宽度.

        垂直方向设置为0.5,整个图片就会往上位移二分之一高度,如果设置为-0.4,那么整个图片材质就往下位移十分之四高度.    

        如果设置成了整数,比如2,RW animator里显示的效果和0没区别,但是实际上图片材质是位移了整整两圈.

这个推荐大家自己在RW animator里试一下,理解起来更容易...

5:UV rotation:这个我还没搞懂...





:那么开始使用RW animator给dff模型制作动画....还是以vgwestbillbrd12.dff为例

A:打开RW animator

B:拖动要给予动画效果的dff到RW animator 窗口内.

C:拖动完后,因为我们已经把tga图片材质跟dff放在了相同文件夹里,所以右下角会有tga图片材质的图标,它们可以被给予动画效果

D:点击add new animation按钮,添加一个动画

E:

1:首先来设置UV scaling,因为我们要让TGA材质只有上半部分完整地显示在广告牌上,所以我们需要将所有关键帧都设置垂直方向为0.5.


2:然后再来设置UV position,我们需要三个关键帧

第一关键帧到第二关键帧:

让动画从第一frame(就是上图中的上半张图片材质)向上滚动播放到第二frame(上图中下半部分图片材质)

第二关键帧到第三关键帧:

再向上滚动播放到第一frame,以达到循环滚动的效果.

可以看出来每一个frame高度都占整个图片材质高度的二分之一,所以我们设置UV position时,第一关键帧垂直方向为0,第二关键帧就为0.5,第三关键帧就为1

*注意不要将第三个关键帧设置为0,这样的话动画效果是:从第一frame滚动到第二frame,然后再反向滚动到第一frame,而不是循环滚动

3:最后再简单设置下point in timeline,

第一关键帧应为0,第二关键帧可以设置为1,第三关键帧为2

这代表动画材质转一圈总共用了2秒.


F:保存设置好的动画效果与dff文件(务必按照步骤)

1:设置好动画后首先点击"save changes to selected animation"图标

2:然后点击左下角列表中刚刚保存的动画名称来选择动画

3:再双击右下角列表中的材质图标,将上一步选择的动画效果赋予给材质

4:最后点击"save changes to current opened DFF file"图标.

:将经过修改后的dff和txd文件像安装mod一样装进游戏里就可以查看最终效果了!

如果哪里不对或者效果不满意也可以重复上述步骤再进行修改.

如何制作GTASA的动态贴图的评论 (共 条)

分享到微博请遵守国家法律