下载客户端

创建功能性舰船(带纹理模型)基础指南及RV创建基础介绍

2026-03-19 19:00:18

AI智能总结导读

这是《战斗区域:战斗指挥官》的功能性舰船模组制作入门指南,涵盖带纹理悬浮坦克模型创建、回收器变体(RV)制作,还介绍了将成品上传至Steam创意工坊的完整流程,包含模型搭建、UVW展开、纹理绘制、动画制作、游戏导入等步骤。

本指南将展示如何创建带有鳍和循环动画的基础悬浮坦克,还会讲解如何制作基础纹理以及舰船的图标和线框文件。这旨在为《战斗区域:战斗指挥官》的模组制作提供简单入门介绍,不会过于深入,但会涵盖各方面的基础知识,帮助你了解模组制作的基本方法。 我会介绍如何创建回收器变体(RV),提供足够让你开始制作自己RV的信息。 此外,还将展示如何将完成的RV上传至Steam创意工坊,供所有人查看! 期待在Steam创意工坊看到你的模组! 简介与准备工作。我使用3ds max和Photoshop,你也可以使用其他工具。有一个BZ modders的网页展示了可能需要的内容,我建议先阅读这份指南,之后再决定你想使用什么工具(或者如果你现在已经准备好工具,也可以跟着操作)。 首先,你需要创建一个“插件”版本来进行操作,这样就不会弄乱你自己的《战斗区域:战斗指挥官》版本(避免多人游戏中出现不良资产问题)。 步骤1:设置你的游戏“模组”版本,以便安全地开始模组制作。 进入你的《战斗区域》目录(即BZ的安装位置) 例如:C: Program Files (x86) Steam steamapps common BZ2R 复制bzone。复制配置文件并将副本放在原文件所在的同一文件夹中,然后将副本重命名为你想要的任何名称,例如:mymod.cfg。在mymod.cfg中(使用写字板或任何你使用的文本查看应用程序打开,确保保存时能将其重新保存为.CFG格式)(一旦你找到喜欢的应用程序且它在你点击保存按钮时能保存为.下次打开配置文件时,你就不会再收到“我不知道用什么程序打开这个文件”的提示了。 你会找到以下代码行: AddDirRecurse("@mydocsdir addon"); //overrides 复制此行并粘贴到其自身上方,现在它应该看起来像这样: AddDirRecurse("@mydocsdir addon"); //overrides AddDirRecurse("@mydocsdir addon"); //overrides 现在将顶部的行更改为你希望调用的模组位置名称: AddDirRecurse("@mydocsdir myaddon"); //overrides AddDirRecurse("@mydocsdir addon"); //overrides 现在你的模组文件夹将被命名为myaddon,添加此行代码将使你的《战区:战斗指挥官》模组版本能够使用你创建的资源。保存文件(它必须是一个.(保存配置文件后)现在你需要创建一个存放模组文件的文件夹,路径如下:C: Users YOUR USER Documents My Games Battlezone Combat Commander,在该路径下新建一个文件夹,文件夹名称需与你在mymod.cfg中决定的模组文件夹名称一致,在本示例中为myaddon(无需添加引号)。你所有的模组文件都将存放在这个文件夹中,为方便访问,建议在桌面创建该文件夹的快捷方式,这样你在放置文件或修改内容时就无需费力查找。现在返回《战地2:指挥官》目录(我也在桌面创建了该目录的快捷方式),路径为C: Program Files (x86) Steam steamapps common BZ2R,右键点击battlezone2。可执行文件并发送新的快捷方式到桌面,此快捷方式将允许你在游戏原始资源上叠加使用你的自定义资源。(这就是我们在mymod.cfg文件中把myaddon目录放在addon目录上方的原因,电脑会按从上到下的顺序读取文件并优先使用你的文件,这样你放入mod文件夹的任何内容都会覆盖游戏中原有的内容。) 如果你桌面上已有《战区:战斗指挥官》的快捷方式,新的快捷方式名称末尾可能会添加一个数字,通常是(2)。你可以将此快捷方式重命名为任意名称,以便与常规版本的《战区:战斗指挥官》区分开,只要你能清楚分辨之后要点击的是哪个快捷方式即可。右键点击你刚刚创建的带有模组的《战区:战斗指挥官》快捷方式,然后进入属性。 找到标注为“目标”的输入框,例如: 目标:"C: Program Files (x86) Steam steamapps common BZ2R battlezone2.exe" 在目标路径的末尾添加配置文件,例如: "C: Program Files (x86) Steam steamapps common BZ2R battlezone2.exe" /config mymod.cfg 操作方法是:移动到引号之后,按空格键,输入 /config,再按一次空格键,然后输入你的配置文件名,在这个例子中是 mymod.cfg。 点击“应用”按钮,然后点击确定。 恭喜,你已成功创建了一个可以进行模组修改的《战区:战斗指挥官》版本,且不会影响你的常规安装版本,也不会在多人游戏中导致资源错误。现在你可以通过修改后的可执行文件在游戏中访问你的内容。当你使用修改版的快捷方式时,Steam会弹出一个对话框,你必须点击对话框上的【确定】,否则将无法进入游戏,这只是Steam的一项安全功能,用于防止游戏在未经你允许的情况下被修改。 创建模型(第一部分) 我使用3ds max制作模型,使用Photoshop处理纹理,所以如果你使用其他软件,希望我提供的信息对你仍然有帮助。 首先我们要创建一些几何体,我通常从一个具有多个分段的立方体开始。

一旦你选择了一个你认为是良好最低起点的分段数量,请确保在几何体的纵向中心有一个分段。这样我们就可以使用对称修改器,将几何体从一侧镜像到另一侧,而无需对两侧进行建模,除非你要创建不对称的几何体。 确定飞船的前端,并使其指向负Y轴方向。这样,左下角的绿色箭头将指向飞船后方,红色箭头指向左方,蓝色箭头指向上方。右键点击对象并将其转换为可编辑多边形。 选择“飞船”的一侧并删除,然后前往修改器列表并选择对称(修改器列表位于右侧对象名称的正下方)。 始终记得为对象命名,这样当场景中有更多对象时,甚至对象不多时,查找它们都会容易得多。 调整对称修改器,直到再次看到完整的盒子。 一旦再次获得完整的盒子(对称修改器正常工作),就可以返回可编辑多边形并开始建模。在继续操作之前,请确保你的飞船处于“归零”状态,即飞船的“中心”与3D程序的中心线对齐。这样可以更轻松地“镜像”物体,并确保所有元素居中,避免出现偏差。 从顶点选择、边选择和多边形选择工具开始使用。顶点选择工具以3个点表示,点击该工具后,你可以操作几何体的单个点;边选择工具会同时选中两个顶点,并操作它们之间的边;多边形工具则让你控制由多条边和多个顶点组成的多边形面。(将鼠标悬停在工具上可获取更多信息或工具名称。)当激活几何选择工具时,使用下方【编辑几何】选项卡内的工具可进行各种几何操作。 完成舰船建模后,你可以为其添加额外物体,比如创建一些枪炮或其他任何你想要的东西,一切由你决定。 请注意,**不要使用缩放工具**,否则《战斗区域》会将缩放重置为100%比例。(如果必须缩放物体,请在编辑多边形模式下选择整个物体的顶点或面进行缩放,这样不会影响物体的基础比例)

我在模型的尾部安装了一些尾翼,这样我们就能实现一些酷炫的尾翼动画效果,同时还添加了侧面加特林枪管旋转的待机动画。

我还为游戏内的推进器建模了一个位置,这样当我们将飞船投入战斗区域时,飞船尾部就会有火焰效果。我们的火炮有两个独立的几何部件,我们将它们命名为recoil_1和recoil_2,之后会在ODF文件中使用这两个部件,以便在开火时实现火炮的后坐效果。如果你想将任何物体镜像到几何体的另一侧,单独使用镜像工具不是个好主意,因为它会搞乱物体的缩放比例,使其缩放比例变为-100%。当放入游戏后,【Battlezone: Combat Commander】会自动重置缩放比例,使其恢复为100%。如果你必须使用镜像工具,一个解决方法是创建一个新物体,并将镜像后的物体附加到这个新物体上,这样它们就会拥有与所附加物体相同的缩放比例,之后只需再次将它们分离即可。你可以通过选择物体并按下R键来查看其缩放比例,此时屏幕底部会出现三个数字框,正常情况下这些数字应为100。如果不是100,说明该物体的缩放设置出现了问题。你可以通过以下方法重置物体的缩放:进入层级选项卡,选择“仅影响轴心点”,然后点击重置>缩放按钮。如果此方法无效,请使用预设方法(注意查看是否有-100或其他非100的数值)。 现在我们来创建挂载点。《战斗区域:战斗指挥官》仅允许设置五个武器挂载点,因此对于我们这款酷炫的加特林机枪坦克,我们需要一个机枪、两门火炮(它们是不同的,对吧)和一个特殊武器。除此之外,我们还需要为游戏中舰船所需的其他几项功能设置挂载点。以下是我们需要的挂载点: hp_com hp_eyepoint hp_cannon_1 hp_cannon_2 hp_gun_1 hp_special_1 hp_light_1 hp_light_2 hp_smoke_1 hp_moresmoke_2(moresmoke从2开始,如果你制作大型舰船且需要在船体各处呈现大量损伤效果,可一直编号到9) hp_dust_1(放置在舰船底部靠后的位置,用于游戏内的尘土效果) (其他可使用的挂载点包括hp_rocket_#、hp_mortar_#、hp_hand_#等,如果你想查找更多挂载点,可以参考BZ物体的.ODF文件)hp指的是挂载点,com指的是通讯。挂载点几何结构的枢轴点正是游戏引擎会参考的位置,这一点非常重要,因为它会决定你的武器是从应有的位置开火,还是从武器的后方或前方开火,所以了解挂载点的枢轴位置对于正确放置至关重要。 hp_eyepoint是你在飞船内部的视野位置,同时也是飞船被狙击时狙击瞄准光的位置,因此它应该位于驾驶舱所在的位置。 对于这些挂载点,我们需要一些简单的几何结构,我们将制作一些底部有4个分段且其他分段最少的小锥体。

现在我们将复制这个物体,并以我上面提到的挂载点名称为每个锥体命名,这艘飞船总共有11个挂载点。(我总是将挂载点的颜色改为绿色,这样它们会更显眼一些) 要进行复制,选择你想要复制的物体,按住Shift键拖动该物体一小段距离,会弹出一个对话框,其中包含一些可以更改的附加参数,只需选择复制并输入10,这样就会创建我们需要的额外10个副本,总共11个。 smoke是游戏在模型上渲染损伤效果的位置,moresmoke_2只是一个用于更多损伤效果的额外挂载点,我们的坦克非常棒,所以出于某种随机原因,我们真的想要很多烟雾效果。选择所有的挂载点并旋转它们,使其朝向飞船的前方。(小提示:你可以使用角度捕捉功能,按键盘上的【A】键开启角度捕捉,这样旋转时会以5度为增量,让操作更轻松) 继续将所有挂载点放置在正确的位置。如果你有像 guns 这样的独立几何部件,可以使用屏幕顶部的对齐工具——该工具的图标是两个下方带有红线的方框。使用此工具将挂载点调整到大致位置,然后滑动到精确位置。你还需要使用bz2DXTGEN来处理你的漫反射贴图和图标等内容。GSH在该页面发布了BZ2DXTGen_v31(这是我所知道的最新版本)。.dxtbz2文件是《战斗区域:战斗指挥官》专用的一种图像格式,其作用是防止他人盗用你花费数周时间制作的精美纹理,据我所知目前没有可供查看.dxtbz2文件的工具(如果存在这类工具,那么转换为.dxtbz2格式也就失去了意义)。 现在我们要对模型进行UVW展开操作。在此之前,请确保你对模型的所有方面都已满意,一旦确认模型外观符合预期,就可以继续进行下一步了。首先,我们需要选择主体几何模型,然后点击窗口中的可编辑多边形。选中可编辑多边形后,进入修改器列表并选择UVW展开。(确保你严格按照此步骤操作,并且在选择UVW展开时不要选中对称修改器,否则只会给自己增加不必要的工作量) 现在你完成了纹理绘制……好吧,我倒希望有这么简单,但事实并非如此。纹理绘制需要大量工作,而最好的纹理往往是你花费最多时间去完善的。如果你能在纹理和几何模型上都尽可能地添加细节,就能制作出照片级真实感的物体。不过我们现在从简单的开始,所以尽量不要搞得太复杂。(从我的超简单模型你可能已经看出来了) 在我们继续之前……你保存你的工作了吗?永远不要忘记保存,也不要总是覆盖另一个文件进行保存。如果你每次都保存到同一个文件,而该文件损坏了,你将丢失所有工作,这可能是数小时、数天甚至数周的工作成果。所以,确保在保存窗口中使用【+】号,这样会创建增量保存,使你的所有工作不会只保存在一个可能损坏并导致你丢失所有工作的文件中。 准备好了吗?点击那个大大的“编辑……”在“UVW展开”修改器中点击该按钮后,屏幕上会显示UVW贴图的2D视口。接下来,在该窗口底部的“选择模式”菜单中选择“多边形”,然后在常规视口中选择模型的多边形。这里我不会涵盖太多信息,但会提供足够让你无需进一步研究就能上手的内容,不过如果你之前没有3D建模或纹理绘制经验,可能早就感到困惑了。 我将使用多边形选择工具选择多边形,一旦选中了飞船的顶部和前部区域(具体取决于你正在处理的部分,完全由你决定),就点击右侧“UVW展开”贴图参数下拉菜单中的“快速平面贴图”按钮。这样就能得到所需效果。创建你的模型(第二部分) 我们使用4边锥体的原因是,锥体的几何结构非常简单,且枢轴点会自动放置在物体的底部。这意味着,锥体底部所在的位置,就是游戏中任何应从该硬点生成的物体(例如烟雾效果、枪支射击或绘制到飞船“中心”的通讯线)的生成位置。我们选择4边的原因是,更多的边数会浪费内存,因为这些物体不会在游戏中渲染;而边数过少(如3边锥体)会使我们在放置锥体时感到困惑,因为此时枢轴点看起来并不完全位于底部中心。现在我要做的是在飞船后部创建火焰效果,操作方法如下:只需选择推进器的内部多边形(飞船后部的推进器中央应有一个内凹的单独多边形),按住Shift键拖动该多边形,然后将其设置为分离对象。我们将这个多边形命名为flame_1__h,并将其放置在推进器的开口或边缘与最内侧之间,这个平面将代表游戏中火焰的喷射位置。当我们对该平面的大小、形状和位置满意后,复制它并将副本命名为flame_2__h,然后将其放置在第二个推进器的相应位置。(无需使用单个多边形,但重要的是你的flame_#__h几何模型必须是【平坦的】,否则《战斗区域》会自动将其展平。) 现在所有的挂载点都已精确放置在我们想要的位置,按下【H】键调出【场景选择】窗口,该窗口会显示场景中的所有对象,选择除飞船主体外的所有对象并点击【确定】。 现在使用屏幕左上角的【选择并链接】工具,该工具的图标是两个由红色橡皮筋连接的方框,选择此工具。在已选中的众多物体中,单击其中一个物体,然后将其拖放到飞船主体上。此时,你应该会先看到一些虚线,当你在飞船主体上松开鼠标时,飞船主体周围会短暂地闪烁一个方框,这表示链接已完成。你可以按H键进行检查,届时会看到场景中的所有物体都有线条连接到飞船主体,这意味着它们已与之链接(这表示无论我们拖动飞船主体(父物体)到哪里,其所有子物体都会随之移动)。 另一种更快捷的链接物体的方法是:先点击飞船主体将其选中,然后按Ctrl+I键反选其他物体,接着使用选择并链接工具即可将所有物体链接起来。现在所有部件都已链接到飞船主体,因此每当我们移动飞船时,所有组件都会随之移动。这样,当我们将飞船放入游戏时,所有部件都能准确定位。如果某个部件未链接,它将无法处于应有的位置(它的轴心应与飞船主体的轴心对齐,本质上是被飞船“包含”但仍独立存在)。 你应该已经按照之前描述的方式将飞船朝向正确方向(Y轴朝后,X轴朝左,Z轴朝上,即绿色朝后、红色朝左、蓝色朝上)。 现在我们需要将轴心点旋转到正确的方向。选择场景中所有轴心点方向并非特殊设置的对象。我的意思是,如果你有一个鳍片或其他物体,其枢轴点已经过仔细放置和定向,并且计划稍后进行动画制作,那么现在不要选择这些物体。我们即将重置枢轴点,这会弄乱你已经旋转到所需状态的任何枢轴。(枢轴点是你希望旋转的物体的铰链点) 话虽如此,选择场景中的所有其他物体(如果这是你的第一艘船,只需选择所有东西,如果你还不明白,很快就会明白的),然后转到层级选项卡,它位于屏幕右上角区域,在你所选物体名称的上方(所以如果在通常显示名称的位置显示“24个物体已选择”,我说的仍然是这个位置),你会看到几个图标:一个鼠标指针、一道蓝色彩虹、一个带有连接到其他方框的方框、一个电视屏幕和一把锤子。 选择带有连接到其他方框的方框图标,这就是层级选项卡。(已选择所有需要重置轴心点的对象) 选择“仅影响轴心点” 点击“对齐到世界” 你可能会看到变化(很可能会),无论如何,我们已经完成了飞船几何形状和硬点的轴心点重置。(如果不将轴心点重置为应有的状态——绿色朝后、红色朝左、蓝色朝上,飞船及其部件的朝向可能会“不正确”) 这种Y轴朝后、X轴朝左、Z轴朝上的设定可能仅特定于3ds Max,因此如果你使用其他软件,可能会有所不同。 模型UVW展开(第一部分) 现在我们需要为模型添加纹理,为此,你需要一个可以创建纹理的程序。我喜欢用Photoshop来制作所有纹理,你可以使用任何你想用的程序,但你需要一些特殊工具。

在2D窗口内,使用鼠标中键可以移动视角以及放大缩小。将该部件移至一旁,远离其他几何部件。你可能还需要“松弛”该部件,操作方法是:打开工具下拉菜单,选择“松弛...”,此时会弹出松弛工具窗口。首先在窗口中选中“边角度”并点击应用,然后在下拉菜单中选择“面角度”并再次进行松弛操作。这是我通常的做法。如果这两种操作中的任何一种导致模型出错,你可能需要手动“松弛”——在UVW坐标中手动移动顶点至你认为合适的位置(你也可以选择较小的部分,逐段进行松弛,还可以在松弛工具窗口中调整松弛量及其他设置)。如果这是你的第一艘BZ舰船,并且结构不复杂,那么【松弛工具】无需调整即可正常使用。 确保你所选择的部分大致都在同一侧,正如你所见,我只选择了舰船的前部和顶部,这些多边形的角度都非常相似,这意味着【快速平面映射】会有不错的效果,至少应该如此。 一旦你将UVW坐标松弛处理,并将该几何部件移至一旁不碍事的位置,就可以继续处理舰船的其他所有部分,直到完成整个舰船的UVW映射。现在你已经映射好了飞船的所有部件,请选择【编辑UVW】窗口右上角的下拉菜单,然后选择棋盘格图案(是的,即使它已经被选中,你也必须点击它)。此时飞船上会显示棋盘格图案,你需要环绕飞船观察,确保所有棋盘格的大小大致相同。这一步是为了在后续纹理制作时提供帮助,我们希望飞船整体的纹理像素密度保持相对一致,这样飞船的各个部分才不会显得格格不入。(你可以按F2键来开启或关闭选中面的高亮显示,方便你选择多边形) 选择并缩放几何部件,直到整个飞船上的棋盘格大小基本一致。现在将所有部件放入UVW视口中央的中心框中。(根据需要缩放,但不要过度,所有部件的大小应与其他部件保持相对合适的比例,记住它们是被展平的,所以要考虑到这一点。)

看看上下两部分是如何完美嵌入中央方框的?这一点很重要,因为下一步我们要将其渲染为UVW模板,以便制作纹理。(中央方框之外的任何内容都不会在UVW模板中渲染出来。) 前往窗口中的工具下拉菜单,选择“渲染UVW模板”。选择你想要的宽度和高度,确保它是2的幂次方大小,即:2、4、8、16、32、64、128、256、512、1024、2048、4096、8192等等。不过,我们实际上不需要这么大的纹理,例如,我们可以将其设为1024×1024。但为战区系列舰船制作纹理时,最好先制作2048×2048或4096×4096的尺寸,然后再进行缩小。为什么呢?嗯,因为如果你制作的纹理很小,比如512x512,之后你觉得它太像素化了,你是【无法放大】的,放大也没用,你只能缩小。所以,最好一开始就选择一个你确定足够大的纹理尺寸(如果你的电脑不是很新,4096x4096或者2048x2048,具体取决于你的电脑性能),然后在必要时再缩小。 一旦你选择了你想要的宽度和高度,确保勾选【可见边缘】和【接缝边缘】。 点击【渲染UV模板】,你会得到一张清晰的图像,将其保存为.bmp格式或你的纹理处理软件能识别的其他首选文件类型。(使用左上角的小软盘图标进行保存)所以你即将保存它,你的电脑上是否有一个专门用来存放所有纹理的文件夹?因为相信我,一旦开始,这个文件夹很快就会被填满,如果不整理的话,东西会很快变得混乱。我的建议是创建一个【指定文件夹】,用来永久存放所有纹理,并为每个项目创建文件夹和子文件夹,保持文件的有序性,这样你就能轻松找到它们,让自己的工作更轻松。(别忘了每隔几个月备份你创建的3D文件和纹理,你可不想丢失它们!) 模型的UVW展开(第二部分) 一旦确定了文件的保存位置,我们将其命名为ivmyship_uvw,并保存为.bmp格式,且保存为RGB 24位(16.(700万种颜色)现在我们将在Photoshop或你偏好的纹理创建程序中打开它,并以UVW为参考创建纹理。 此时极为重要的一点是(在3ds Max中)保存你的工作,此后不要尝试进入可编辑多边形模式。如果你非要这么做,请自行承担风险并在尝试前保存,因为一旦在指定纹理坐标后开始修改模型几何结构,3ds Max很可能会丢失你的纹理坐标(你刚刚完成的所有UVW映射),所以我们不要这样操作。如果你在开始UVW展开后必须修改模型,可以右键点击“UVW展开”修改器并选择“塌陷到”,将其“塌陷到”基础模型。这通常效果很好,但请确保在尝试塌陷前进行保存。 创建漫反射纹理 此时,我在Photoshop中喜欢做的是创建一系列新图层。请确定你需要多少个图层,每个图层会呈现何种外观,以及它们在图层层级中的位置(哪个图层在上方,或者绘制在其他图层之上)。我们将至少添加6个额外图层。 最顶层是灯光图层。 灯光图层下方是污垢模拟图层。 污垢图层下方是常规装甲图层。 常规装甲图层下方是灰色装甲图层。 灰色装甲图层下方是驾驶舱图层。 驾驶舱图层下方是基础黑色图层。 当然,UVW图层位于最底部。 要创建图层,请点击图层、通道和路径选项卡右侧的小四横线图标。 使用键盘上的【[】和【]】键调整基本画笔大小。屏幕左上角还有一个更复杂的画笔调整窗口。按住Shift键并点击可以绘制直线。我们将新建一个图层,并用黑色填充整个图层。接着,我们会调整图案叠加设置(右键点击图层,选择混合选项,然后进入图案叠加),尝试获得一种看起来不错的、略带凹凸感的黑色图案。(这部分将显示在没有装甲的区域,例如飞船底部等位置) 此时,我们要确保基础黑色图层完全透明,这样我们就能看到UVW以及后续的图层。同时,我们会将后续图层的不透明度调低一些,以便在操作时仍能看清当前正在处理的图层。 现在,我们将在驾驶舱图层中绘制出驾驶舱的区域,然后在该图层的混合选项中使用渐变叠加,并对其进行调整,直到获得理想的驾驶舱外观。现在我们将在底层装甲图层上绘制底层装甲,这相当于ISDF坦克上的灰色装甲。绘制的一个好方法是仔细沿着UVW的边界,并在绿色边框内的任意位置进行绘制(不过在飞船中心的接缝处,你可能需要超出绿色边框)。 下一层,即我们的主要常规装甲,绘制方法相同,这相当于ISDF坦克上的橙色装甲。 现在我们来创建一个污垢模拟效果。打开“滤镜”下拉菜单,选择“渲染”>“云彩”……效果很棒吧?接下来选择污垢图层的混合模式(位于不透明度左侧),将其设置为“颜色减淡”,并将不透明度设为8%左右。(在我们操作时,将这一图层设为不可见,以免妨碍操作。)(要使图层可见,只需点击图层左侧的眼睛图标即可) 现在我们将绘制一些光源,并在图层混合选项中使用强大的外发光效果。 接下来就是见证成果的时刻了:(记住,在保存最终模型版本前,要确保所有图层都可见,并分别设置好各自的不透明度)(保存为.bmp格式用于模型,同时务必保存一个Photoshop版本,因为.bmp不会保存图层或图层样式,它只保存最终成品的图像)将我们要在MAX中查看的纹理保存为ivmyship_d.bmp(我们只有一个纹理,否则我们会将其命名为ivmyship00_d)bmp,第二张贴图为ivmyship01_d.bmp,我们创建的任何辅助纹理也需要编号。

我选择了绿色搭配红色灯光,整体效果看起来很不错。(请务必尝试所有混合选项中的功能,以便了解这些工具的使用方法。) 为模型应用纹理 要为模型应用纹理,我们首先在材质中创建一个标准纹理,在3ds Max中按M键。选择第一个材质(球体)。 将“高光”颜色的红绿蓝(RGB)值更改为1,1,1,然后点击对话框中的确定。 将高光级别更改为150(你可以调整这个数值,设置为任意你想要的值,只有当飞船进入游戏后才能看到效果。)(你可以根据自己的喜好决定物体的光泽程度。) 将光泽度更改为80。(150的高光级别和80的光泽度效果相当不错,设置这些数值后,它们将决定飞船不同区域使用的最大高光和光泽程度,具体取决于我们之后要创建的高光/光泽贴图。) 点击“漫反射:”颜色样本右侧的空白方形按钮,这会打开一个选择纹理的窗口,导航到保存纹理.bmp文件的文件夹,选择文件并点击确定。现在我们可以选择该材质并将其拖放到我们的船体上,或者我们可以选择要应用此材质的对象,然后点击【将材质分配给选择对象】按钮(材质球体下方从左数第三个按钮,图标为一个蓝色球体,箭头指向一个白色方框)。

现在我们的飞船已经应用了主纹理。接下来我要开始为其他部件进行纹理处理,但不会详细描述过程。根据我提供的信息,你应该已经能够使用UVW展开工具对这些物体进行纹理处理(不过具体是否需要取决于物体本身)。目前场景中除了推进器外,所有物体都应该已经完成了纹理处理。是的,推进器也需要进行纹理处理,不过操作非常简单:选择一个新材质,然后点击漫反射颜色和环境光颜色左侧的横向U形图标,将它们相互解锁。将环境色设为深灰色,漫反射颜色设为你希望用作主火焰色的明亮颜色,将高光级别设为150,然后将该材质应用到flame_#__h几何模型上。 现在你的整个模型应该已经完成了纹理贴图。 为模型制作动画(第一部分) 现在我们将设置动画,首先需要移动任何对动画效果至关重要的轴心点,使其看起来正常。因此,我们将点击右上角的box-to-box分支图标(层级选项卡),开始选择要进行动画处理的对象,然后选择“仅影响轴心”,并将轴心移动到我们希望进行动画处理的对象的适当位置。(例如:移动鳍状物体的轴心点,使其从根部进行枢转,这样在旋转时看起来更自然) 如果你有一组需要围绕空间中某一点旋转的物体(比如我们的加特林机枪),就需要将这些物体连接在一起,或者将它们链接到一个位于中心的公共物体上。因此,我会在编辑多边形模式下选择其中一个枪管,然后在编辑多边形的编辑几何体选项卡中使用“附加”工具,将另外3个枪管和两个环附加到一起。(执行此操作后需要重新调整轴心点)(如果你知道物体的几何中心应作为其轴心点,可以点击“中心到物体”来设置轴心) 现在当我们选择炮管并使用局部和单独轴心点设置进行旋转时,它会完全按照我们想要的方式旋转,这一点非常重要。

现在我们准备进行动画制作,在屏幕右下角你会看到【时间配置】图标,点击它以打开时间配置窗口。

将结束时间调整为30并点击确定 现在我们要开始制作动画,所以请确保场景中的所有内容都已准备就绪,这意味着你不会再做任何进一步的更改,所有材质都已应用,所有轴心点都已正确定位和定向,以及其他任何你可能想要修改的内容。 如果一切准备就绪,我们就开始制作动画,首先点击屏幕底部之前提到的按钮左侧的“自动关键帧”。 接下来我们要制作加特林机枪的动画,当时间滑块处于30帧时,我们将其旋转1080度,这样在30帧内就能完成3整圈旋转。(我记得【Battlezone: Combat Commander】中循环动画的播放速度约为每秒15帧。)(因此在时间配置窗口中设置为1/2速度,使用NTSC帧率) 现在加特林机枪已添加动画,你可以通过拖动动画关键帧上方的时间滑块,或点击播放按钮来查看该动画。点击播放按钮时,你会注意到在动画末尾第30帧处,加特林机枪会减速停止,然后再次加速。这是因为关键帧动画使用了贝塞尔手柄,这意味着3ds Max会自动为我们的动画添加“平滑”效果,但这并非我们所需——我们希望它保持恒定稳定的运动速率。因此需要进行调整:选择你为循环动画设置了动画的一个或多个对象。psd这只是为了让我们能时不时按一下保存键,这样万一出问题就不会丢失任何工作。我们要做的是“平整”纹理(并非字面意义上的),我的意思是,我们要移除所有使用过的斜面和浮雕效果。如果你想保留在斜面和浮雕中添加的图案,可以将斜面和浮雕的深度调至1,然后将纹理的深度调大,这样就能保留纹理的细节,同时去除你绘制区域的整体斜面和浮雕效果。我们也不希望在那里看到任何花哨的特效,这张地图的灰度越亮,该区域的高度就越高,所以我们需要去除灯光周围的光晕以及任何与高度升降无关的其他特效。 请确保保留所有图案或细节,因为这些将极大地增强你在游戏中纹理的外观。(你甚至可以在物体上创建渐变,或者使用内发光效果来实现高度的逐渐上升,但通常这些效果并非必需。)将鼠标移动到屏幕顶部,你会找到【曲线编辑器(打开)】按钮,该按钮由曲线图表图标表示,它应该是顶部栏从右数第6个图标。打开此按钮后,你会看到动画曲线不是一条直线。要修复此问题,在该窗口中点击并拖动以选择动画关键帧(你可以在某处中键点击,然后滚动以缩小,再左键拖动以选择关键帧)。 选中动画关键帧后,点击直线图标,当你将鼠标悬停在该图标上时,会显示【将切线设为线性】。所有动画关键帧之间应形成从一个关键帧到下一个关键帧的直线。现在关闭此窗口并播放动画,问题应该已修复。现在我们需要开始将飞船保存到一个新的子文件夹中,该文件夹要与增量保存文件分开(你一直在保存,对吧?) 点击文件,另存为,在之前保存的位置内创建一个名为【动画】的新文件夹,并将新文件命名为ivmyship_skel 为模型制作动画(第二部分) 为鳍制作动画。现在你已经保存了动画飞船的骨架版本(这是游戏会引用的飞船主版本,在本例中为循环动画),接下来需要清除动画关键帧并开始制作鳍的动画。为此,请再次选择加特林机炮,然后在动画关键帧显示区域中选中所有关键帧并将其删除(执行此操作前,请确保时间滑块处于零位,否则加特林机炮可能会处于错误位置,导致将其放入游戏后出现崩溃或其他问题)。你可以通过点击并拖动来选中所有关键帧,然后进行删除。(它们应该是绿色的,因为它们是旋转动画关键帧) 现在我们可以开始制作鳍的动画了。对于鳍的动画,我们只需要一组非常简单的关键帧,这比我们刚才做的要容易得多,希望这能让你感觉好一些。 首先,我们需要确切了解飞船在左倾、右倾、全力前进或倒车时,鳍需要处于什么位置。 通常情况下,左转弯时左鳍会向下,右鳍会向上;右转弯时右鳍会向下,左鳍会向上。这是一个通用规则,除非鳍的底部有推进器,在这种情况下,方向可能会相反,因为它们不是提供阻力,而是为飞船提供推力。一旦你确定了想要的鱼鳍位置并牢记或记录下来,我们就可以开始制作动画了。 制作鱼鳍动画时,我们需要创建3个独立文件:一个包含不向前或向后行驶时的左右倾斜动画,一个用于向前推进(包含其倾斜动画),一个用于倒车(包含其倾斜动画)。事不宜迟,我们现在就开始。 首先,我们制作鱼鳍的中立左右倾斜动画。选择所有要制作动画的鱼鳍,将时间滑块调整到1时,按下屏幕底部的大关键帧按钮。这将在第1帧放置一个红绿蓝关键帧。(位置、旋转和缩放)这将锁定我们的中立位置,现在转到第0帧,开始将鳍旋转到飞船完全左倾斜时所需的位置,完成后再次按下关键按钮。 现在转到第2帧,将鳍移动到完全右倾斜时所需的位置,然后再次按下关键按钮。 我们的中立位置、左倾斜和右倾斜动画已完成,将其另存为ivmyship_sn。 现在使用类似的方法创建另外两个文件。对于前进动画,第1帧是前进时的中立位置(不向任何方向倾斜),第0帧是左倾斜时的前进状态,第2帧是右倾斜时的前进状态。后退动画的结构与前进动画相同。(驾驶时,第0帧为向左倾斜,无论方向如何;第1帧为正常驾驶状态:前进、空挡或倒车;第3帧为向右倾斜,无论方向如何。) 将前进动画保存为ivmyship_sf,倒车动画保存为ivmyship_sr。 导出前,所有内容应转换为可编辑网格(而非可编辑多边形)。 导出为.fbx格式时,你可以使用烘焙工具(可能取决于你的3ds Max版本)。如果动画在游戏中显示不正常,此工具可能会派上用场。(我通常会烘焙动画,但据我所知这并非必需步骤。) 动画制作完成!创建其他纹理(第一部分) 现在我们仍需为飞船创建凹凸纹理和高光/光泽纹理,这对于让飞船在游戏中呈现逼真效果至关重要。 根据你使用的Photoshop版本,可能需要安装NVIDIA法线贴图插件,但如果你使用的是最新版Photoshop,应该无需此插件。(法线贴图对系统要求较高,因为它们会占用大量内存,所以在创建过程中若遇到问题,可能需要将纹理分辨率调低。)(我可能使用的是Intel法线贴图插件。) 首先,我们需要保存纹理的新版本,将其命名为ivmyship_n。

现在图案仍然可见,我已经移除了所有不应表示高度的花哨效果,并将所有内容都涂成了灰色,其中黑色代表最低处,白色代表表面高度的最高处。将此另存为你的法线贴图,格式为.psd,这样可以保存你的工作,以便日后需要时进行修改。 接下来,我将点击顶部主菜单栏中的“图层”,然后选择“拼合图像”。这会将所有内容合并为一张平面图像,完全删除所有图层,并将所有信息整合到单个平面图层中。(在执行此操作前,请确保已删除污垢模拟器,以免其与凹凸/法线纹理叠加) 此时,如果我们制作的纹理过大,就需要进行缩小处理。我们可以通过“图像”>“图像大小”来均匀缩小纹理,且缩小后的尺寸必须是2的幂次方,也就是2的倍数,就像我之前在制作UVW时所描述的那样。例如,如果你的纹理是2048x2048且觉得太大,可以将其缩小到1024x1024,这可能已经足够小了。不过考虑到《战区:战斗指挥官》的新图形效果,2048的纹理对于像船体这样较大的物体来说可能已经足够小。我这里只是以制作飞船为例,所以我的纹理尺寸设为1024。现在我要进行以下操作:“滤镜”>“3D”>“生成法线贴图”,这将打开我们的法线贴图窗口。

接下来我要做的是调整三个滑块来确定深度,将它们分别设置在3%、50%和100%,这样就能得到我们需要的效果。我已经将模糊度调低到0.5%,细节比例设为120%,还必须勾选窗口顶部的【反转高度】选项。当一切都调整到满意的样子后,点击确定按钮。 如果这样得到的凹凸感还不够,可以进一步调整:依次点击【图像】>【调整】>【亮度和对比度】,然后在那里增加对比度。 一切看起来都不错,现在我们准备将文件保存为一个。选择一个种族名称(你可以创建自己的种族,但这超出了本教程的范围)。我打算让这辆载具配备ISDF飞行员,所以我会将文件命名为ivmyship_n。 iv代表ISDF载具,它告诉游戏为该载具配备ISDF飞行员。你可以在ivmyship的末尾加上00,用于告知游戏这是哪一个纹理。如果你为单个载具准备了多个纹理,只需在名称末尾、最终地图类型标识和文件类型之前对它们进行编号(00、01、02等)。末尾的_n告诉游戏这是一张法线贴图或高度图,游戏会相应地使用它。 确保不要选择保留Alpha通道的选项(这就是我选择的原因)。bmp),因为如果保留 alpha 通道,可能会弄乱你的常规纹理。保存完成后,我们回到凹凸纹理的 .psd 文件,对其进行修改以生成高光和光泽纹理。首先将常规纹理另存为 ivmyship_gloss.psd。光泽度决定物体表面的光滑(抛光)程度。完成光泽纹理后,我们要将其放入高光纹理的 alpha 通道中,高光强度决定物体反射光线的总量,与表面光滑度无关(高光泽物体或具有抛光表面的物体看起来“有光泽”)。它会向你展示在创建高光/光泽纹理时我们需要使用哪些颜色。现在我们需要去除纹理上的任何“凹凸感”,因为这是基于光泽的纹理。这就是我为我们的光泽纹理设计出的成果。

白色区域为抛光(玻璃)材质,灰色区域为略带凹凸感的装甲,而舰船底部则是砂纸般的光滑质感。 现在我们将保存此设置,并将其另存为高光贴图,然后开始修改我们的高光贴图。 这是我为高光贴图设计的效果:

现在我们需要同时打开高光纹理和光泽纹理,并通过点击“图层”>“拼合图像”将它们都拼合。拼合后不要覆盖保存你的.psd文件! 在高光和光泽纹理上,都点击“图像”>“模式”,然后选择“灰度”,确保丢弃颜色信息。 现在选择光泽纹理的画布,按CTRL+A全选,再按CTRL+C复制,然后转到高光纹理,在右侧“图层”选项卡旁边选择“通道”。点击四条水平线的图标,创建一个新通道,不要更改名称,它应该显示为“Alpha 1”,点击确定,然后选中“Alpha 1”通道时按CTRL+V粘贴剪贴板中的内容。现在,你应该在【Grey】通道中拥有高光纹理,并在【Alpha 1】通道中拥有光泽纹理。 将此文件另存为【ivmyship_s.tif】文件。 文件名末尾的【_s】表示高光,但它当然也包含光泽。 保存时确保同时保存了Alpha通道(弹出窗口上的复选框)。 退出高光和光泽文件时,不要覆盖【.psd】文件,以防日后需要调整。 复制一份【ivmyship_d.bmp】,并使用【DXTGen】应用程序将其转换为【.dxtbz2】文件。 创建其他纹理(第2部分) 现在我要修改漫反射并创建【ivmyship_e】纹理,【_e】表示发射或发光,它告诉游戏使纹理的这些区域发光。(车身灯光) 所以我要修改我的漫反射,让只有灯光及其外发光效果可见,而其他所有部分都为黑色,这样就能告诉【战区:战斗指挥官】哪些部分需要发光、发光强度以及发光颜色。

这应该是它应有的样子。 你可以将其另存为ivmyship_glow.psd,但创建此纹理非常简单,几乎不值得花费精力和硬盘空间。 现在将此图像合并图层,并另存为ivmyship_e.bmp。(在放入游戏前将其转换为.dxtbz2格式)(记得同时将你的法线贴图副本也转换为.dxtbz2格式) 现在我们有了: 漫反射纹理 > ivmyship_d.dxtbz2 自发光贴图 > ivmyship_e.dxtbz2 高光/光泽贴图 > ivmyship_s.dxtbz2 法线贴图 > ivmyship_n.dxtbz2 将舰船导入游戏(第一部分) 我们已经为模型创建了动画,因此从这里开始,大部分工作都将是通过.odf文件来将舰船导入游戏。 现在我们需要将循环、sn、sf和sr动画导出为。用于《战斗区域:战斗指挥官》的FBX文件,可用于创建该游戏原生的.MSH文件。 前往“文件>导出”,并将其保存为Autodesk文件(*.FBX、*.DAE)。此导出窗口始终从3ds Max导出文件夹开始,因此建议在桌面创建该文件夹的快捷方式,以便双向快速访问。 将循环文件保存为ivmyship_skel.fbx。 将SN文件保存为ivmyship_sn.fbx。 将SF文件保存为ivmyship_sf.fbx。 将SR文件保存为ivmyship_sr.fbx。 我们需要保存所有动画、几何图形和皮肤,因此请确保这些选项已勾选。

点击确定 为方便日后参考,当你保存不包含动画的文件时,请确保未勾选动画复选框。 现在在你放置于桌面的3ds max导出文件夹快捷方式中找到文件,并复制你的ivmyship fbx文件。 我们将在本指南开始时创建的你的插件文件夹中新建一个文件夹,命名为ivmyship,并将文件复制到其中。现在还要获取我们制作的纹理(.dxtbz2)文件,并将其副本也放入ivmyship文件夹。 我们不需要为《战斗区域》复制漫反射纹理的.bmp版本,这仅用于3ds max参考,以便它知道不带文件类型扩展名的文件名。将ivmyship_d.dxtbz2移动到你的ivmyship文件夹。现在前往你的《战斗区域:战斗指挥官》根目录:C: Program Files (x86) Steam steamapps common BZ2R,在bz2r_res文件夹中搜索ivtank.odf,在bz2r_loc > bz2r_en文件夹中搜索ivtank.inf。复制这两个文件并粘贴到你的ivmyship文件夹中,将它们重命名为ivmyship.odf和ivmyship.inf。无需输入.odf或.inf后缀,文件本身已知道其类型。将打开.inf和.odf文件的默认程序设置为写字板(或你偏好的文本文件编辑器,只要能在保存时将文件保存为.inf或.odf格式即可)。修改.(这些内容不言自明,我就不多做解释了) 你可以根据需要修改建造这艘舰船所需满足的条件。 我将unitName改为了“世界吞噬者”,因为我们的舰船就是这么酷炫。 我在武器部分的recoilNames中添加了我们火炮的几何名称,这样每当我们开炮时,这些几何部件就会产生后坐效果。(《战斗区域》会自动为我们实现这一点,这既是好事也可能带来麻烦。) 顺便说一下,.odf指的是对象定义文件,.inf是信息文件的缩写。 以下是具体内容: [游戏对象类别] baseName = "ivmyship" geometryName = "ivmyship_skel.fbx" geometryScale = 0.15 animCount = 4 animName1 = "loop" animFile1 = "ivmyship_skel."fbx" runAnimation = "循环" runAnimIsLooped = true animName2 = "前进" animFile2 = "ivmyship_sf.fbx" animName3 = "中立" animFile3 = "ivmyship_sn.fbx" animName4 = "后退" animFile4 = "ivmyship_sr.fbx" cockpitName= "ivmyship_cockpit.fbx" classLabel = "僚机" scrapValue = 20 scrapCost = 55 customCost = 65 buildTime = 15.0 customTime = 15.0 maxHealth = 3500 maxAmmo = 2200 addAmmo = 5 unitName = "世界吞噬者" aiName = "坦克友军" aiName2 = "坦克敌军" heatSignature = 2.0 imageSignature = 2.5 radarSignature = 0.5 isAssault = 0 armorClass = L /////// 需求 /////////////// requireCount = 2 requireName1 = "ibfact" requireText1 = "建造工厂" requireName2 = "ibcbun" requireText2 = "建造中继掩体" /////// 提供 /////////////////// provideCount = 3 provideName1 = "ivtank" provideName2 = "VIRTUAL_CLASS_TANK" provideName3 = "DefendUnit" /////// 武器 //////////////////// weaponMask = 11111 weaponHard1 = "HP_CANNON_1" weaponName1 = "gatstab_c" recoilName1 = "recoil_1" weaponAssault1 = 0 weaponHard2 = "HP_CANNON_2" weaponName2 = "gatstab_c" recoilName2 = "recoil_2" weaponAssault2 = 0 weaponHard3 = "HP_GUN_1" weaponName3 = "gminigun_c" weaponAssault3 = 0 weaponHard4 = "HP_SPECIAL_1" weaponName4 = "gphantom" weaponAssault4 = 0 /////////灯光与效果////////////////// lightHard1 ="hp_light_1" lightName1 = "红色聚光灯" lightHard2 = "hp_light_2" lightName2 = "红色聚光灯" //仅驾驶时开启灯光 effectHard1 = "hp_dust_1" effectName1 = "尘土轨迹" effectMinAltitude1 = 0.0 effectMaxAltitude1 = 5.0 effectMinVelocity1 = 10.0 effectMaxVelocity1 = 500.0 [载具类别] rangeScan = 300.0f periodScan = 5.0f velocJam = 5.0f engageRange = 120 attackTask = "迫击炮摩托攻击" //"突击坦克攻击" subAttackTask = "迫击炮摩托副攻击" //"支援副攻击" subAttackClass = "ANS" // subAttackClass使用3个字母。 // 第一个字母为A或N。 A表示包含空中目标。 N表示仅攻击地面目标。 // 第二个字母为D或N。 D表示攻击前部署。 N表示常规攻击。 // 第三个字母为S或N。 S表示使用武器射程。N使用交战范围进行攻击。 braccelFactor = 0.03 velFactor = 0.2 steerFactor = 1.5 omegaFactor = 0.2 strafeFactor = 0.2 avoidSpeed = 20; topSpeed = 30; selectWaitMsg = "ivtank05.wav" selectAttackMsg = "ivtank02.wav" selectFollowMsg = "ivtank04.wav" selectGoMsg = "ivtank04.wav" selectOtherMsg = "ivtank05.wav" holdMsg = "ivtank12.wav" goMsg = "ivtank04.wav" attackMsg = "ivtank06.wav" followMeMsg = "ivtank08.wav" followMsg = "ivtank03.wav" repairMsg = "ivtank09.wav" reloadMsg = "ivtank09.wav" rescueMsg = "ivtank10.wav" recycleMsg = "ivtank11.wav" otherMsg = "ivtank05.wav" user1Msg = "" killedMsg = "ivtank07.wav" diedMsg = "" [HoverCraftClass] velocForward = 28.5 // velocReverse = 20.0 // velocStrafe = 16.0 // accelThrust = 24.0 //加速度 accelDragStop = 6.0 //松开控制后停止的速度 accelJump = 15.0 // setAltitude = 1.0 //离地高度 alphaTrack = 21.0 //自动回正速度 alphaDamp = 8.0 //减震 pitchPitch = 0.25 //抬头 pitchThrust = 0.1 //低头 rollStrafe = 0.08 //侧移时的翻滚 omegaSpin = 6.0 //原地旋转速度 omegaTurn = 2.3 //移动时的转向速度 alphaSteer = 7.0 //转向响应速度 rollSteer = 0.08 //转向时的翻滚 soundThrust = "itank01e.wav" soundTurbo = "avtanke3.wav" 希望你能理解我刚才所做的事情及其原因。修改.odf文件其实并不难,只要做过几次,就会变得非常容易,幸好很多代码行都是自解释的。接下来,我们应该可以在游戏中放置舰船了。 进入你自己的《战斗地带:战斗指挥官》版本,选择“快速战斗”并挑选一张地图,进入游戏后按下CTRL+~打开命令行,输入game.cheat bzeditor并按回车键。 屏幕会闪烁,同时会有语音提示编辑器已启用。 退出命令行,按下Ctrl+E进入编辑器。 要快速找到你的载具,按下Ctrl+C将视角居中到玩家,点击“物体”,在配置框中输入ivmyship并按回车键。 舰船可能需要长达一分钟的生成时间,生成完成后你就可以放置它了,但要确保将其放置在【队伍1】中,这样你才能指挥它。 放置你的舰船。按下Ctrl-E键可退出编辑器,此时你的飞船应能完全正常运作,但缺少图标和驾驶舱模型。(这里的关键词是“应能”,因为如果操作有误,可能会出现一些异常结果,需要返回并进行必要的修改。) 现在我们需要创建飞船的图标和线框视图(两者均为图像)。图标图像将显示在命令HUD(F键菜单)中,而线框视图则会在你驾驶飞船时,显示在屏幕右下角、载具生命值、弹药和武器信息的上方。首先,我们需要打开我们想要截图的模型版本,打开循环动画3D文件,并删除所有硬点,这样在渲染图片时就不会看到它们(注意不要不小心点击保存按钮而覆盖循环文件!)。 删除或隐藏所有在渲染模型图片时不想看到的对象后,创建新材质,我们将其设为银蓝色,并调整高光级别和光泽度,直到达到我们想要的效果(尝试模仿《战斗区域:战斗指挥官》中现有的图标)。 将该材质应用到场景中的所有对象上。将舰船加入游戏(第三部分) 现在点击顶部带有消息框的小茶壶图标 将渲染的宽度和高度更改为128x128,并移动视口至能显示舰船的视角,然后点击渲染。之后可能需要移动视口,将舰船调整到渲染图底部你想要的位置,通常我们希望图标是舰船的侧面平视视图。 当图像达到预期效果后,点击渲染窗口左上角的小软盘图标。将文件保存到你能找到的位置,格式为.TGA,命名为myshipicon(非常重要的是,不要将其命名为icon_ivmyship),或者你也可以随便命名,比如waegfhoiewhg,只要开头不要有“icon_”即可。用于描述舰船的inf文件,要记住,在游戏内按“I”键查看物体时弹出的文本框空间有限,所以如果信息过多,在游戏中会被截断。 现在我们要修改舰船的.odf文件。 .odf文件中的大部分信息都非常简单且易于理解。 (任何以//开头的行都不会被游戏读取,这两个斜杠可用于在odf中添加注释或备注) ivtank.odf文件内容如下: [GameObjectClass] baseName = "ivtank" geometryName = "ivtank00.fbx" cockpitName= "ivtank_cockpit.fbx" animCount = 3 animName1 = "forward" animFile1 = "ivtanksf.fbx" animName2 = "neutral" animFile2 = "ivtanksn."保存文件并选择32位色深、压缩选项,确保已勾选预乘Alpha。将其转换为.dxtbz2文件,放入ivmyship文件夹,并将其重命名为icon_ivmyship.dxtbz2。我们要确保在转换为.dxtbz2文件之前正确命名的原因是,DXT生成器在转换过程中会缩小文件尺寸(至32x32像素)。(不确定是否有适用于新版《战斗区域》的DXTGen新版本,但只要我们注意这一点,其实也不太需要它。)现在在3ds Max中修改你闪亮的银色材质,使其更接近暗灰色,并将渲染尺寸更改为256x256,然后获取一个正面/侧面视图,也就是你认为最能展现飞船外观的视图。确保飞船在渲染图的底部显示,这将作为我们在驾驶飞船时驾驶舱内显示的飞船“线框图”。 像上次一样将其另存为.tga格式,文件名可以随机命名,然后将其转换为.dxtbz2格式,并将.dxtbz2文件放入你的ivmyship文件夹中,同时将该图像重命名为wire_ivmyship.dxtbz2。 现在重置3ds Max场景,操作方法是点击文件>重置。不要点击保存,我们不希望以这种方式保存循环动画文件。点击“是,我希望重置”。创建驾驶舱: 现在我们可以着手为飞船创建驾驶舱,为此,我们需要创建一个非常简单的场景。我们需要一个几何体作为驾驶舱,以及一个名为【hp_eyepoint】的硬点。该几何体(以及其他任何部件)将链接到【hp_eyepoint】硬点,请确保所有几何体的轴心点都指向正确的方向(当然也包括【hp_eyepoint】)。 在3ds Max中最好将驾驶舱做得小一些,尽可能小,或者至少要小。如果驾驶舱太大,在游戏中,地形会吞没驾驶舱的几何体,因为《战斗区域》会认为驾驶舱大到足以接触地形,这样会显得非常难看。fbx" animName3 = "反向" animFile3 = "ivtanksr.fbx" classLabel = "僚机" scrapValue = 20 scrapCost = 55 customCost = 65 buildTime = 15.0 customTime = 15.0 maxHealth = 3500 maxAmmo = 2200 addAmmo = 5 unitName = "坦克" aiName = "坦克友军" aiName2 = "坦克敌军" heatSignature = 2.0 imageSignature = 2.5 radarSignature = 0.5 isAssault = 0 armorClass = L /////// 需求 /////////////// requireCount = 2 requireName1 = "ibfact" requireText1 = "建造工厂" requireName2 = "ibcbun" requireText2 = "建造中继掩体" /////// 提供 /////////////////// provideCount = 3 provideName1 = "ivtank" provideName2 = "VIRTUAL_CLASS_TANK" provideName3 = "DefendUnit" /////// 武器 //////////////////// weaponMask = 11111 weaponHard1 = "HP_CANNON_1" weaponName1 = "gatstab_c" recoilName1 = "recoil" weaponAssault1 = 0 weaponHard2 = "HP_GUN_1" weaponName2 = "gminigun_c" weaponAssault2 = 0 weaponHard3 = "HP_GUN_2" weaponName3 = "gminigun_c" weaponAssault3 = 0 weaponHard4 = "HP_MORTAR_1" weaponName4 = "gmortar" weaponAssault4 = 0 weaponHard5 = "HP_SPECIAL_1" weaponName5 = "" weaponAssault5 = 0 /////////灯光和效果////////////////// lightHard1 = "hp_light_1" lightName1 = "spotblue2" lightHard2 = "hp_light_2" lightName2 = "" //仅驾驶时开启灯光 = true effectHard1 = "hp_dust_1" effectName1 = "dusttrail" effectMinAltitude1 = 0.0 effectMaxAltitude1 = 5.0 effectMinVelocity1 = 10.0 effectMaxVelocity1 = 500.0 [载具类别] rangeScan = 300.0f periodScan = 5.0f velocJam = 5.0f engageRange = 120 attackTask = "MortarBikeAttack" //"AssaultTankAttack" subAttackTask = "MortarBikeSubAttack" //"SupportSubAttack" subAttackClass = "ANS" // subAttackClass使用3个字母。 // 第一个字母为A或N。 A表示包含空中目标。 N表示仅攻击地面目标。 // 第二个字母为D或N。 D表示攻击前部署。 N表示常规攻击。 // 第三个字母为S或N。S为使用武器射程。N为使用交战射程进行攻击。 braccelFactor = 0.03 velFactor = 0.2 steerFactor = 1.5 omegaFactor = 0.2 strafeFactor = 0.2 avoidSpeed = 20; topSpeed = 30; selectWaitMsg = "ivtank05.wav" selectAttackMsg = "ivtank02.wav" selectFollowMsg = "ivtank04.wav" selectGoMsg = "ivtank04.wav" selectOtherMsg = "ivtank05.wav" holdMsg = "ivtank12.wav" goMsg = "ivtank04.wav" attackMsg = "ivtank06.wav" followMeMsg = "ivtank08.wav" followMsg = "ivtank03.wav" repairMsg = "ivtank09.wav" reloadMsg = "ivtank09.wav" rescueMsg = "ivtank10.wav" recycleMsg = "ivtank11.wav" otherMsg = "ivtank05.wav" user1Msg = "" killedMsg = "ivtank07.wav" diedMsg = "" [气垫船类] velocForward = 28.5 // velocReverse = 20.0 // velocStrafe = 16.0 // accelThrust = 24.0 //加速度 accelDragStop = 6.0 //松开控制后停止的速度 accelJump = 15.0 // setAltitude = 1.0 //离地高度 alphaTrack = 21.0 //自动回正的弹簧速度 alphaDamp = 8.0 //减震 pitchPitch = 0.25 //抬头 pitchThrust = 0.1 //低头 rollStrafe = 0.08 //侧移时的翻滚 omegaSpin = 6.0 //原地旋转速度 omegaTurn = 2.3 //移动时的转向速度 alphaSteer = 7.0 //转向响应速度 rollSteer = 0.08 //转向时的翻滚 soundThrust = "itank01e.wav" soundTurbo = "avtanke3.wav" [Lod1] //geometryName = "ivtankL1.fbx" ;第一级细节模型 //distance = 50 ;超过此距离(米)切换到第二级细节 [Lod2] //geometryName = "ivtankL2."fbx";LOD2的几何图形 //distance = 100 ;超过此距离(米)则切换至LOD2 将舰船导入游戏(第二部分) 我们正在进行以下修改: 将baseName更改为ivmyship,这将告诉游戏要使用哪些文件,例如线框、.inf文件或我们将要制作的图标图像。 将几何缩放比例更改为0.15,这会缩小游戏中的舰船尺寸。如果这个尺寸不合适,我们将根据实际显示效果尝试更大或更小的数值。 添加了一些代码行,以使动画按预期运行,包括循环动画。 将武器挂载点修改为模型中现有的挂载点,并为其分配了一些ISDF武器,以确保几何图形正常工作。我已移除末尾的LOD,因为我们没有任何LOD模型(在特定距离显示的低分辨率模型,用于在同时查看大量物体时减轻电脑负担,防止每秒帧数(FPS)下降)。 我将灯光名称更改为一些红色灯光(用于车头灯的odf文件),你可以根据需要创建自己的灯光。(找到如spotblue2.odf之类的灯光文件,将其重命名为其他名称,并修改其中的设置以创建新灯光。) 你可以修改攻击类别和HoverCraftClass中的数值,以在游戏中驾驶载具时获得不同的移动量,还可以更改引擎声音。

这是我完成的驾驶舱,如你所见,视点是悬浮在中间、从物体间向外看的那个小橙色物体,它们与视点相连接。(你可以通过将透视视图或相机放置在你的hp_eyepoint位置来测试效果,这样就能感受到实际看起来的样子) 需要记住的重要一点是,这里要给自己留一些余地。如果相机上下或左右移动,你不会想看到驾驶舱的边缘,所以要把它做得足够大,以防止车辆在游戏中进行一些极端机动时出现这种碍眼的情况。 当你完成所有纹理处理并满意后,将其导出为.fbx格式,不要勾选动画复选框。 将ivmyship_cockpit.fbx放入你的ivmyship文件夹中。(包含您创建的所有纹理(保存为.dxtbz2文件格式)) 最终处理文件 接下来您需要进入游戏并放置舰船,确认一切显示正常且无需进一步修改后,前往ivmyship文件夹并移除其中的.fbx文件(您可以创建一个保留文件夹来存储.fbx文件,也可以直接删除,具体方式随您选择)。buildItem2引用了我们回收器变体的工厂,请立即退出并保存。进入ibfact_mymod并将其修改为: _______________________________________________________________ [游戏对象类] 类标签 = "ibfact" /////// 需求 /////////////// 需求数量 = 1 需求名称1 = "ibpgen" 需求文本1 = "建造能源" /////// 提供 /////////////////// 提供数量 = 2 提供名称1 = "ibfact" 提供名称2 = "VIRTUAL_CLASS_FACTORY" //////////////////////////////////// [动力建筑类] [建筑类] [工厂类] 建造项目9 = "ivmyship" _______________________________________________________________ 现在我们的工厂可以建造我们的飞船了,我们可以着手上传我们的模组了,不过要先确保我们刚才所做的一切都能正常运行。要测试我们的回收器变体,首先需要移动Autoreg文件夹,使其直接位于MyAddon文件夹下方。现在你可以进入你的《战区:战斗指挥官》版本,通过选择ISDF并选择“我的超棒变体”来进行测试。 确认一切正常后,我们就可以准备上传了。 将你的Mod上传至Steam创意工坊 复制你的MyMod文件夹和Autoreg文件夹,并将它们放置到其他位置(确保你不会意外修改这个新复制的版本)。你可以在桌面上创建一个文件夹来存放要上传到Steam的Mod,将上传版本与你的个人版本分开存放是个好主意。一旦你为这两个文件夹确定了新位置,请将Autoreg文件夹放入MyMod文件夹中(从现在开始,我们所有操作都将针对这些副本进行)。 要将你的模组上传至Steam创意工坊,你需要安装BZ:CC上传工具。打开你的Steam客户端,浏览至库>工具。在列表中找到BZ:CC上传工具并安装它。 进入你复制的MyMod文件夹,在其中创建一个名为AddonAssets的新文件夹,并将所有内容放入其中。现在你的文件结构应该是MyMod>AddonAssets>所有模组文件,包括包含ivrecy_mymod.autoreg的Autoreg文件夹。 接下来,浏览至C: Program Files (x86) Steam steamapps common BZ2 Uploader ExampleConfig。 此文件夹中有四个文件: mod.cfg mod.dds mod.des mod.将这四个文件的副本直接放入您新创建的MyMod文件夹中。 文件夹结构应如下所示: 桌面文件夹(或其他位置)> MyMod > mod.CFG(以及其他3个mod文件)> AddonAssets(此文件夹包含与mod相关的所有内容,其中Autoreg文件夹应直接位于AddonAssets文件夹下方)。 注意:也请花时间阅读位于C: Program Files (x86) Steam steamapps common BZ2 Uploader中的ExampleInstructions.txt文档,以获取有关未来参考的mod类型的更多信息。 完成此设置后,我们需要转到刚刚放入MyMod文件夹的mod.cfg文件。 找到mod.中的行。配置文件中包含以下内容: //这些是此模组的本地资源文件夹 在此行下方添加: AddLocalWorkshopDirRecurse("AddonAssets"); 然后保存文件。 现在打开mod.des文件,修改其中的文本以描述你的模组,使其能在游戏中显示。 打开配置设置文件mod.ini,将modName引号内显示的信息更改为你的模组名称(保持简短简洁),然后保存文件。 .dds文件尺寸为640x640像素(不确定是否重要)。你可以根据需要更改此图像。 上传步骤: 现在打开上传工具,输入模组名称以及将在创意工坊中显示的描述。请填写【创意工坊名称】 请填写【创意工坊描述】 不要在【创意工坊ID】输入框中填写任何内容 此时,您是否有希望用作Steam创意工坊中您模组主图的图片(通常为.bmp或jpeg格式)?如果没有,请制作一张。 点击【创建新项目】按钮,并在弹出的窗口中点击【确定】,然后浏览到包含您模组的文件夹,该文件夹应为【MyMod】(名称无关紧要,只要是正确的文件夹即可)。选择文件夹后,系统会要求您分配一张图片,完成后,模组将立即开始上传至Steam创意工坊。 (注意:如果上传时出现任何错误消息,模组将无法正常工作,此时您需要进行故障排除并再次尝试。)此时,该模组将可供他人下载,但请确保你自己订阅该模组,并进入《战区:战斗指挥官》的普通版本测试你的模组。在判断模组是否正常工作前,请记得多次进出游戏,因为模组可能不会立即完成下载。同时,务必在模组菜单中激活你的模组。 若要快速找到你的模组(在其完全上传至公共创意工坊页面之前),请点击Steam顶部的你的用户名,进入【内容】,再选择【创意工坊项目】,你的模组应该会显示在那里。(你可以将模组设置为对其他用户不可见,待确认其正常工作后,再重新设为对所有人可见。) 一旦确认模组正常运行,你就完成了所有操作!这就是关于制作通用舰船并将其上传至Steam创意工坊的教程的全部内容。 谢谢大家!期待在Steam创意工坊看到你的模组! 注意事项 注意1:请参考《战区:战斗指挥官》的原生模型,了解独特的挂载点和层级顺序,这对于创建不同的资产(如各种建筑和载具类型)至关重要。 注意2:如果你希望快速进入《战区:战斗指挥官》的某个版本并使用编辑器,请在你的模组快捷方式的目标路径末尾添加:/nobodyhome /startedit st_dunes.bzn 我个人不会使用/nobodyhome,因为它会把我放在地图上一个奇怪的位置,但你可以用它来加快加载进入游戏的时间,它会移除所有可使用的物体和脚本,所以你将独自驾驶坦克处于空旷的地图中。/startedit命令后可跟任意地图(或不跟地图),只需输入地图的文件名。我通常使用沙丘地图,但你也可以使用任何你喜欢的地图。 变更与更新 所有更新于2018年4月21日完成: 修改内容: 1. 模型的UVW展开(第二部分)(仅补充更多信息) 2. 模型动画(移除了不再使用的TCB控制器,更新了鳍动画信息,以及关于如何制作加特林机枪循环动画的整个章节) 3. 模型纹理应用(更改了高光和光泽设置以确保其正常工作,并调整了地图类型) 4. 其他纹理创建(更改了发射贴图的制作方式和高光贴图的保存方式) 5. 更改了地图名称(将myship00.bmp之类的名称修改为正确的命名方式:ivmyship_d.bmp等)前往:C: Users MY USER Documents My Games Battlezone Combat Commander data binData(你可以在桌面为binData文件夹创建快捷方式,以便快速访问)。另外,有个非常实用的提示:每当你调整模型并重新保存,或者希望更改对象的geometryScale时,请记得删除bindata文件夹中战斗区域已创建的文件(前提是你使用的是.FBX文件),然后再重新放置飞船。否则,你可能会发现没有任何变化,因为游戏可能仍在使用之前创建的.msh文件。在进行更改后删除bindata中的.msh文件,有助于确保战斗区域会使用你的更改重新创建文件。2018年5月18日: 移除了法线贴图对.DDS格式的强制要求,因为这并非必需,.bmp格式同样适用,希望这能让你的操作更便捷一些。在上传模组时,配置文件中的mod.dds仍需使用.DDS格式,我非常确定该.DDS文件必须为.DDS格式,但也可能存在错误。然后将你所有的ivmyship文件从那里(bindata文件夹)剪切出来,并放入你的插件中的ivmyship文件夹。 如果你之前注意到,当你在编辑器的配置框中输入ivmyship时,游戏需要花费一些时间来转换你的飞船几何模型,那么现在你会发现,当你在配置框中输入ivmyship时,你的飞船会立即出现。这是因为游戏无需再将你的.fbx文件转换为.MSH文件,以便在游戏中使用你的模型。 此外,现在你的3D模型可以“防止”他人抄袭,因为它处于一种任何3D程序都无法读取的格式中。记得在创建舰船后清理导出文件夹及其他相关文件,基本上舰船创建工作已完成。从这里开始,你可以为其打造一些全新的武器,并修改任何会影响舰船在游戏中表现的设置,包括最大生命值、最大弹药量等所有你需要调整的参数,以平衡舰船并使其达到你理想中的游戏表现。 将你的模组转换为回收变体 现在我们已经制作了一艘出色的舰船并完成了平衡调整,接下来如何将其添加到Steam创意工坊呢?这就是我们现在要做的事情。 首先,你需要决定上传方式:是作为独立载具上传,还是与其他内容整合,例如能否通过工厂建造?如果你打算将其制作成独立模组,这意味着其他人若想使用你创建的舰船,就必须进入编辑器进行放置。虽然上传起来相当容易,但这样一来,你如何期望其他人能在多人游戏中或无法使用编辑器的情况下体验你的模组呢? 这就是为什么我们要让这种载具可以通过ISDF工厂作为回收器变体进行建造。 要实现这一点,我们需要创建自己的回收器变体,因此需要一些文件。我们需要自动注册文件,用于告知游戏这是一个回收器变体。 你可以在以下路径找到自动注册文件:C: Program Files (x86) Steam steamapps common BZ2R maps autoreg 复制ivrecy_m。自动注册 前往你的MyAddon文件夹(该文件夹下直接包含ivmyship文件夹),并在其中创建一个名为MyMod的新文件夹,然后将ivmyship放入其中,同时在MyMod内再创建一个名为Autoreg的文件夹。 将ivrecy_m.autoreg的副本放入Autoreg文件夹,并将该文件重命名为ivrecy_mymod(下划线后可以随意命名,只要确保其唯一性且能暗示你的回收器变体名称或对其进行缩写,同时保留基础名称ivrecy)。 打开ivrecy_mymod.autoreg,将所有四处ODFName = "ivrecy_m"代码行修改为ODFName = "ivrecy_mymod",并将描述修改为Description = "我的超棒变体"(在此处填写模组回收器变体名称)。 保存文件。 现在你需要创建实际作为回收器变体的文件。请注意,通常情况下,回收器变体适用于所有种族,因此我创建仅可由ISDF建造的新舰船的做法实际上并不正确(应该为Scion种族添加等效或类似类型的舰船)(但有了这些知识,你应该能够创建自己的回收器变体,这也是我想要达到的目的)。 首先获取ivrecy_m.odf文件,在你的BZ2根文件夹或bz2r_res中搜索找到它。找到后,你还需要将ibrecy_m.odf复制到MyMod文件夹内的一个新文件夹中,并将新文件夹命名为【回收器变体】,然后将这两个文件放入其中。 现在返回搜索,获取ivcons.odf和ibfact.odf文件,同样将它们放入【回收器变体】文件夹,并重命名这4个ODF文件的文件名末尾需添加【_mymod】(移除部分文件中的【_m】并替换为【_mymod】)。 现在打开这些文件,将【classLabel】指向该单位的原始版本。【classLabel】通常指单位类型,例如【hovercraftclass】等,但在本案例中,我们要制作一个回收器变体,通过将【ivrecy_mymod.odf】文件中的【classLabel】改为【ivrecy】,它将引用原始文件中的所有缺失信息。(实际上无需执行此操作,因为【ivrecy_mymod】已自动完成该设置)。odf已存在)只需将deployName修改为= "ibrecy_mymod",退出并保存,然后进入ibrecy_mymod,添加工厂类别:buildItem5 = "ivcons_mymod",退出并保存(我选择item5是因为这里是建造器所在位置)。现在进入ivcons_mymod,将classLabel改为= "ivcons",并删除任何无关信息,完成后应如下所示:_____________________________________________________________ [GameObjectClass] classLabel = "ivcons" /////// 需求 /////////////// requireCount = 0 /////// 提供 /////////////////// provideCount = 2 provideName1 = "ivcons" provideName2 = "VIRTUAL_CLASS_CONSTRUCTIONRIG" [CraftClass] TeamTransferrable = false [HoverCraftClass] [DeployableClass] [ConstructionRigClass] buildItem2 = "ibfact_mymod"

评论

共0条评论
face
inputImg
相关阅读
最新更新

基础地图制作指南

《战斗区域:战斗指挥官》地图创建基础指南 介绍 欢迎 在本指南中,我们将学习如何为《战斗区域:战斗指挥官》制作基础的即时行动和死亡竞赛地图。我们会涵盖地图编辑器…

2026-03-19 22:010赞 · 0评论

精灵表文档

《战斗区域:战斗指挥官》2.0.185版本精灵表文档 精灵表介绍 什么是精灵表? 精灵表是图像文件引用表,通常使用单个文件中的多个图像,将其分割成独立部分,由精…

2026-03-19 22:000赞 · 0评论

编辑队伍颜色

### 多人团队游戏颜色修改简易指南 #### 简介 《战斗区域:战斗指挥官》允许玩家重新配置多人游戏中各队伍使用的颜色。这些更改仅为视觉效果,不会影响游戏玩法…

2026-03-19 04:000赞 · 0评论

Claydo:Easy 3D Modelling & Printing-视频介绍

2026-03-14 14:300赞 · 0评论

【设计师请回答】第二期 最也老师专访

亲爱的宝子们,晚上好!欢迎收看今天的时装周刊【设计师请回答】栏目!

2025-09-18 10:45689赞 · 104评论

高度图(BZCC)

(开发中) 《战斗区域:战斗指挥官》模组制作知识、技巧及信息合集——关于使用高度图的内容 入门指南 欢迎来到《战斗区域:战斗指挥官》模组制作知识库。本指南将介绍…

2026-03-19 22:000赞 · 0评论

《战斗区域:指挥官》新手入门指南

《战斗区域:战斗指挥官》新手战役介绍 简介 欢迎来到《战斗区域:战斗指挥官》。本指南旨在为新玩家介绍游戏。我们将首先概述您需要掌握的基本操作,然后提供一些实用技…

2026-03-19 16:000赞 · 0评论

《战斗区域:战斗指挥官》完整技术指南 第四部分

《战区:战斗指挥官》完整技术指南包含: 1. 键盘快捷键 2. 作弊码 3. 建筑信息 • 赛昂建筑 • ISDF建筑 4. 单位信息 • 赛昂母巢单位 • 赛…

2026-03-18 22:000赞 · 0评论

地城之光激活码 《地城之光》手游vs端游 一样的小短腿一样萌

都说《地城之光》手机版是移植于大型端游《地城之光》,那么究竟两者有什么联系呢?《地城之光》手机版与端游版有什么共同之处呢?今天小编就从端游那里搬一些截图,和大家…

2025-07-02 01:240赞 · 0评论

轻松熊建模教程

#造物过程分享

2025-03-16 09:55227赞 · 15评论
暂无更多

最新更新

  • 基础地图制作指南 — 《战斗区域:战斗指挥官》地图创建基础指南 介绍 欢迎 在本指南中,我们将学习如何为《战斗区域:战斗指挥官》制作基础的即时行动和死亡竞赛地图。我们会涵盖地图编辑器…
  • 高度图(BZCC) — (开发中) 《战斗区域:战斗指挥官》模组制作知识、技巧及信息合集——关于使用高度图的内容 入门指南 欢迎来到《战斗区域:战斗指挥官》模组制作知识库。本指南将介绍…
  • Blender FBX 骨架 — 这是一份关于在Blender中使FBX骨架正常工作的小型指南,适用于飞行员、可弯曲舰船和步行机甲。 开始使用 《战区:战斗指挥官》采用的骨架系统与XSI的工作方…
  • 精灵表文档 — 《战斗区域:战斗指挥官》2.0.185版本精灵表文档 精灵表介绍 什么是精灵表? 精灵表是图像文件引用表,通常使用单个文件中的多个图像,将其分割成独立部分,由精…
  • 如何切换正式版/测试版 — 如何切换正式版/测试版 重要提示! 您必须先获得测试版代码,才能游玩任何测试版本! 此处不会提供任何测试版代码! 如何切换正式版/测试版 步骤1:右键点击【战区…
  • VSR:如何消灭敌方拾荒者 — 受够了敌方队伍把所有散落资源都捡走了?我也是。 指南(含示例) 以下图片展示的是【错误】击杀拾荒者的方式……
  • 创建功能性舰船(带纹理模型)基础指南及RV创建基础介绍 — 本指南将展示如何创建带有鳍和循环动画的基础悬浮坦克,还会讲解如何制作基础纹理以及舰船的图标和线框文件。这旨在为《战斗区域:战斗指挥官》的模组制作提供简单入门介绍…
  • Blender®建模指南 — (开发中) 使用Blender®进行《战区:战斗指挥官》模组制作的知识、技巧与信息合集。 入门指南
  • VSR:如何进入空置的侦察机 — 厌倦了空容器被偷吗?我也是。 五级+四级(基础) 以下图片展示了空容器侦察机建造时【不应出现】的位置示例。
  • 《战地2:战斗指挥官》新手技巧 — 这份指南将帮助您更好地了解《战地2100:战斗指挥官》的游戏机制。 您将在其中找到: 1. 一些技巧 2. 需了解的若干规则 3. 切换视角 4. 组建单位编队…