前言

本教程使用游戏自带的模型制作,若是自己建模请移步mod制作(7)

改良设施模型

先打开ModBuddy新建一个空白模板,再新建一个xml文件,可以用最新发布的辅助工具来帮忙,点击创建新文明

右上角选择新建改良设施

在里面编辑了基本的参数后生成xml文件,全部复制,粘贴到刚刚ModBuddy生成的xml文件里面

在这个项目里面创建一个Artdefs文件夹

接着打开AssetEditor,新建一个artdef文件,模板选择改良设施(Improvements),在Improvements添加一个元素(相当于添加一个改良设施),Name设为改良设施的变量名

  • strategic view是战略视图(包括正常状态和被掠夺的状态)

    如果没有数据包那么XrefName是空的,可以去游戏根目录\Base\ArtDefs\Improvements.artdef,进入文件后记得全部折叠方便看,在RootCollections里可以看到两个Element,一个是所有的改良设施,一个是建造状态。展开第一个Element,其中包含的Element每一个都对应了一种改良设施

    展开其中一个Element后,可以看到几个内容,展开战略视图后看到两个Element,需要的就是这两个,可以作为外部引用名

  • landmark是模型的定义,添加一个element,名字随便取,这里有一个外部引用(Xref),它引用的是Landmark.artdef文件里包好的模型

    选好后保存文件到Artdefs文件夹下,文件名为Improvements.artdef

    导入到ModBuddy项目的Artdefs文件夹中

    值得注意的是,文件中有些地方为空,如果遇到这种问题导致闪退又找不到原因,可以尝试模范(2)的做法,将游戏文件中Element标签整个部分和该文件特定位置替换

注意每次加入一个artdef或者xlp文件或者在属性里修改名称和ID后,都必须重新生成Mod.Art.xml文件,因为该文件就是用来记录这些信息的

重新生成的过程可以借助辅助工具

最后来设置加载过程,在In-Game Actions中添加两个步骤,第一个是UpdateArt(模型文件),第二个是Updatedatabase(数据文件)

最后重新构建即可

人物模型

image-20240717173523451

在(2)已经做出了一个新的单位的基础上,打开AssetEditor,新建artdef文件,模板选择Units

  1. 在Units下面新建一个单位,把单位变量名复制到Name里

    Formation是编队的方式(一定要填,对应UnitFormationsTypes里面的内容)

    下面三项同理

    接下来看Members,需要几个不同的模型就添加几个元素,三个选项分别是缩放规模、数量、模型

    接下来的Audio可以不用设置,是点击单位时的音效,保存为Units.artdef就完成了第一个节点的制作

  2. 自行组装一个新的成员模型,需要在第二个节点,也就是UnitMemberTypes标签里完成

    在UnitMemberTypes下新建一个成员,随便取名,写好前四个对应的

    Movement对应UnitMovementTypes里的内容

    MemberCombat的内容

    两个VFX对应VFX.artdef文件中MaterialTypes里的内容,是视觉特效材质

    接下来给刚刚创建的元素下面的每一个元素都添加一个子元素,直到无法添加为止,最底下是Bins,引用的就是第三个二级节点中的零部件

    接下来到第三个二级节点去找一个想要的零部件和它的组名,官方把所有零部件放在了 游戏根目录\Base\ArtDefs\Unit_Bins.artdef,用AssetEditor打开会更清晰

    现在在Bodies中为该成员添加一个身体,引用方法是零件名+组名,中间用斜杠隔开

    接下来给部件取个名字

    Point指的是接触点,Tint是颜色(对应UnitTintTypes里的内容),常见接触点如下:

    左边第二个是Cultures,是指定文化,可以设为Any

    接下来将设置好的这个成员送到第一个节点的Members中:

    接下来来组装剩余部分:

    • 传统方法用AssetEditor打开游戏根目录\Base\ArtDefs\Units.artdef,随便仿照一个成员的官方写法构建这个成员的剩余部分

    • 现在用另一种方式使用零部件,将自带的游戏模型化为己用,保存为自己的ast文件,先在UnitAttachmentBins节点下添加一个新零件,命名为Armor

      在这个下面连续创建子元素至无法创建为止,最底下的Assets就是外部引用的ast文件

    ​ 点击左上角菜单栏上的File,点击Open Entity,选中Asset,搜索栏里输入armor就可以

    ​ 找到armor对应的模型,双击打开就能看到预览,如果看不到就在菜单栏Window勾选 Asset Previewer

    ​ 预览窗口中用alt+鼠标左键旋转视角,alt+中键拖动视角,鼠标滚轮缩放

    ​ 右边是接触点,可以点击右边相应接触点的那个位置,在相应接触点添加零件,但是在这 里面改动都是无效的,只是预览,记住相应的模型后等下就可以添加到成员里面

    image-20240717183326664

    ​ 左上角File,保存为自己的ast文件,然后才能修改

    ​ 如果觉得不合适,可以自行添加接触点,可以移动,具体如下:

    ​ 单位成员的动画更取决于盔甲,选择左侧Behaviors选项卡,通常有正常行为和死亡行为

    ​ 死亡行为如下:

    ​ 右下角打开Animation动画选项卡,选择一个To State,再点击Play即可查看动画效果

    ​ 正常行为可以随便选择一个单位的行为,但必须检查有没有攻击动作

    ​ 保存这个ast文件后,还要用xlp文件导入进来,创建一个xlp文件,PackageName和文件 名一样,XLP Class选择Unit,点击添加,选择刚刚常见的ast文件并且保存

    然后就可以在UnitAttachmentBins里面选择它了

    文化改为Any,Group里面的组名也改一下,在UnitMemberTypes的成员下面添加一个零件,命名为Armor,接触点是Root,把刚才的零件名和组名放到这来即可

    至于骑手要稍微麻烦一点,先把骑手的名称改一下,IsAttachment勾上

    接着在Variations下面添加一匹马

    还需要加一个骑手,仿照官方写法即可