下载客户端

XML编辑终极指南

2026-04-07 19:00:24
发布在SimplePlanes
转载

AI智能总结导读

这是一篇《简单飞机》的XML编辑终极指南,介绍了通过编辑游戏飞机的XML保存文件,实现常规编辑器无法完成的自定义操作,涵盖所需工具、通用编辑方法,以及机身、机翼、引擎等各类部件的专属XML属性修改,还包含颜色调整等内容,助力玩家打造个性化飞机。

你是否想制作你最喜爱飞机的等比例精细复制品,或者只是想让发动机的推力翻倍?也许你希望飞机尾部有一个巨大的机翼来提升外观,但又不想改变飞机的空气动力学性能?你是否想制作一把发射巨大子弹但射速很慢的枪,或者把它改造成星球大战中的激光炮?你是否想将部件颜色改为调色板中没有的颜色,以90度以外的增量旋转部件,将机身长度设为超过5或短于0.25,改变部件的质量(甚至减至0)?通过在简单的文本编辑器中编辑你的飞机的.XML保存文件,你可以做到所有这些甚至更多,如果你愿意学习,我很乐意教你如何操作。 简介 1.3版本在本指南中,我会频繁提及一个教程模型。如果你想跟着教程飞机进行操作,请参考以下说明:

工具 在开始之前,你需要了解一些必要或非常实用的工具。请记住,你真正需要的只是一个文本编辑器,其他工具只是为了让操作更便捷。 游戏内模组 FINE TUNER 创作者:@HellFireKoder 描述:该模组允许你在不退出游戏的情况下进行一些简单的XML编辑。虽然它无法完成本指南中的所有操作,但在我看来,对于部件的简单定位、旋转和缩放,这是必备工具。 OVERLOAD 创作者:@WNP78 描述:此模组可作为游戏内工具,用于编辑部件的各种XML属性。我还没开始使用,所以无法评价其效果,但它的评价不错,如果你学会使用它,你的时间可能会花得很值。 程序 记事本++ 描述:这个程序是我个人最喜欢的源代码编辑器和记事本替代品。它通过为文本部分着色来帮助你识别XML文件中的代码块,从而帮助你定位、发现错误并快速复制常见条目。这是我用来编辑XML文件的程序,也是我推荐你使用的程序,但如果你有其他偏好的程序,也可以随意使用。 MB-尺子你会经常进行此操作,所以建议在Notepad++中使用键盘快捷键CTRL+S来保存。 示例1:如果我在我的建造中添加了一个方块,然后切换到已打开的.XML文件,文件内容不会有任何变化。但只要我在游戏中保存我的飞机,当我切换回.XML文件时,就会看到零件部分出现新的代码行,显示已向文件中添加了一个新方块。 示例2:此外,如果我在XML文件中修改了一些文本,然后切换到《简单飞机》,游戏中不会有任何变化。但只要我保存对XML文件的更改,然后在《简单飞机》中重新加载飞机,就会看到更改已在游戏中生效。 在代码中找到正确的零件 要编辑零件,我们必须首先在代码中找到它。有多种方法可以做到这一点。方法1:零件在代码中按其在游戏编辑器中添加的顺序依次排列。如果我给飞机添加一个新机翼,该机翼会位于零件部分的最底部(最新添加的零件位置最靠下),这样如果在添加零件后立即进行编辑,就能很容易找到它们。 方法2:查看零件类型,其格式为partType="XXXX"。这种方式很容易查找,例如,如果我的飞机只有一个发动机,想找到它就很简单!只需按下CTRL+F,输入“engine”,然后点击“下一个”,直到找到包含partType="engine..."的代码部分。 方法3:使用调色板中最后一种颜色为零件上色。你选择的这些颜色就是“材质”,我们之后会详细讨论。现在你需要知道的是,它们从左上角到右下角按顺序编号为0-14。利用这一信息,如果我用涂装选项中最右下角的颜色为某个部件上色,就可以通过以下方式在XML文件中找到该部件:按下CTRL+F,输入materials="14,然后点击查找,就能定位到涂有14号颜色的部件。当你想从100个不同的机身方块中找出实际想要编辑的那个时,这非常有用。 通用编辑(位置、旋转、缩放和质量) 你已经知道如何查找部件,也知道必须保存后更改才能生效!在本节中,我们将进行首次编辑,从一些可对游戏中任何部件(从方块、引擎到机翼和枪炮)进行的编辑开始。开始操作! 位置 请参考教程飞机第1列(最左侧)第1行(最顶部)。我们要将那个红色方块移动到新位置,且不能断开它与机身的连接。这次我会告诉你该部件的ID号,方便你查找。使用CTRL+F,输入id="36"进行搜索。我们要编辑的是id="36"、partType="Block-1"的部件。 要移动部件,我们需要修改position变量的值。在那行代码中找到:position="-5,2.5,5.375",这些是该方块的X、Y、Z坐标。X代表左右方向,Y代表上下方向,Z代表前后方向。坐标以方块长度为单位,从“飞机”边界的中心(不一定是质心)开始测量。在这个示例中,我们的红色方块位于中心左侧5个方块、中心上方2.5个方块以及中心前方5.375个方块的位置。 将文本修改为:position="-6, 3.5, 5.75",然后保存文件。现在在《简单飞机》中重新加载该文件,你会看到方块已从原来的位置向左移动了1个方块、向上移动了1个方块,并向前移动了半个方块。尝试操作直到你熟悉这个坐标系为止! 旋转 参考教程飞机第1行第2列。让我们旋转那个橙色的结构面板。提示:它是橙色的,在教程飞机的颜色选择中是材料(颜色)编号4。让我们按下CTRL+F,输入materials="4"进行搜索。你应该会定位到一行包含id="37" partType="Wing-2"的代码。请注意,部件类型(partType)有点误导性——部件类型不一定与游戏编辑器中部件的名称相符! 要旋转部件,我们需要更改旋转变量的值。在代码行中找到:rotation="0,0,0",这些数字分别是该部件绕X、Y、Z轴的旋转度数。正值为顺时针旋转,负值为逆时针旋转。如果你不熟悉坐标系和绕轴旋转,一开始可能会感到困惑,但按照以下方式理解就能轻松掌握:记住X轴代表左右方向。想象把一卷纸巾挂在X轴上,如果你顺时针滚动纸巾,这就是绕X轴的正旋转(类似于飞机的“俯仰”动作)。Y轴控制上下方向,因此若你绕该轴逆时针旋转纸巾,即为绕Y轴的负方向旋转(类似飞机的“偏航”动作);Z轴控制前后方向,所以绕Z轴的旋转类似飞机的“滚转”动作。如果难以理解,只需尝试旋转,若方向不对,改回后换个轴再试即可! 将文本修改为:rotation="10,23.5,-5",然后保存。现在在《简单飞机》中重新加载,你会看到方块绕X轴顺时针旋转了10度,绕Y轴顺时针旋转了23.5度,绕Z轴逆时针旋转了5度。 需要注意的是,例如,-5度的旋转与355度的旋转效果相同。这和向左转5度或者向右转355度是一回事,两种方式最终指向的方向相同。《简单飞机》在从游戏内编辑器保存时,总会将负旋转值转换为正旋转值(例如,将-5转换为355)。 缩放 参考教程飞机第1行第3列。我们来缩放那个黄色的弯曲方块。尝试自己找到该部件,如果找不到,我会在本部分底部给出其部件ID。 要缩放部件,我们需要修改缩放变量的值,格式为scale="X,Y,Z"。在这种情况下,这会乘以所选方块的尺寸(例如,X表示在X方向放大X倍,Y表示在Y方向放大Y倍,Z表示在Z方向放大Z倍)。你会注意到,此方块默认没有缩放变量!不过不用担心,《简单飞机》中的所有部件都可以缩放,即使它们的默认代码行中没有该变量。 在方块代码的第一行中选择任意位置,输入:scale="1,2,0.75"。例如,你可以将其修改为:... rotation="0,0,0" scale="1,2,0.75" drag="0,0,0,0,0,0" ... 保存文件并在《简单飞机》中加载,你会发现该方块的宽度不变(X轴长度的1倍),高度变为原来的两倍(Y轴长度的2倍),Z轴长度则为原来的75%(即四分之三)。 注意:这与机身方块、机身进气道和机翼中的frontScale(前部缩放)及rearScale(后部缩放)不同!可以将其视为“大比例缩放”——它会获取方块已有的其他尺寸数值,并将它们乘以你的缩放值。我会在后面介绍机身、机翼和机身进气道特有的变量。 如前所述,如果你找不到该部件,请搜索:id="38" partType="Block-7" 质量 参考教程飞机第1行第4列以及XML文件中的部件id="39"。让我们把那个绿色的小驾驶舱方块变得非常重!(之后我们再让它失重)。 要编辑方块的质量,我们需要修改massScale="X"变量的值。在这种情况下,X是方块默认质量的倍数,其中包括其所有内容(例如机身中的燃油)。描述:该程序对于创建等比例复制品非常有用,它通过屏幕标尺对图像进行测量。在技巧与窍门部分,我介绍了一种使用该程序的方法以及一个简单的数学公式,可将从图像上获取的测量值转换为【简单飞机】中的尺寸(这对创建等比例复制品很有帮助)。 其他工具和参考资料 XML颜色选择器 描述:这项由Google提供支持的服务是一种极其简单的方法,可确定【简单飞机】中所有可能颜色的十六进制代码。比如你一直想要的那种略带灰色调的中浅绿粉色。 教程飞机 描述:这是我在撰写本指南时正在制作的作品。在代码第一行的某个空格中输入:massScale="100"。例如,它可能看起来像这样:drag="0.262,0.262,0.0076,0.0076,0.0984948,0.1264387" massScale="100" materials="5,5,5"。现在保存并在《简单飞机》中加载它。你会发现我们那个原本重110磅的小驾驶舱现在重11000磅。 猜猜如果我们把它改成massScale="0"会发生什么?那个小驾驶舱现在变得没有重量了! 恭喜你!现在你知道如何在《简单飞机》中编辑任何方块的位置、旋转、缩放和质量了。这只是一个开始,但这些强大的工具能让你做到标准游戏编辑器中无法实现的事情。许多这类常规修改都可以通过游戏内的模组(如微调器)轻松完成,但我在此详细解释这些修改,是因为理解这些修改的概念能让学习其他修改变得轻而易举。你在游戏中进行的所有修改都涉及到上述学到的一个或多个概念。你要么将一个数字改成另一个数字,要么将true改为false(或反之),要么在代码行中添加一整个新的语句,为部件赋予新属性。在接下来的部分,我将解释各种部件类型的变量。 部件特定变量介绍 与位置、旋转、缩放和质量缩放不同,并非所有变量都适用于所有部件。例如,rootLeadingOffset(这是一个仅适用于机翼和结构面板的变量)如果应用于发动机,要么不起作用,要么会完全破坏你的代码,导致无法加载到游戏中。因此,了解哪些变量适用于哪些部件非常重要。在接下来的部分,我将介绍游戏中不同部件类型上一些常用的属性。 机身方块 参考“TutorialAircraft”第1行第5列。这就是我涂成非常惹眼的亮粉色的机身方块,它恰好是调色板上的14号颜色。在文件中找到“materials="14"”即可定位到这个机身方块。同样,如果你找不到它,我在本节下方列出了ID。frontScale="X,Y" 这是机身正面的宽度和高度,以方块长度为单位。游戏编辑器中限制其范围为0.25至5,但通过XML编辑,你可以将其设置为任意尺寸。 rearScale="X,Y" 与frontScale相同,但用于机身的背面。 offset="X,Y,Z" 这是机身的水平位移、垂直位移和长度,以方块长度为单位。在游戏编辑器中,这些值分别被锁定在-2.5至+2.5、-2.5至+2.5以及0.25至5的范围内,但通过XML编辑,你可以将它们设置为任意尺寸。 deadWeight="X" 这是你希望机身方块承载的死重量,单位为磅。在游戏编辑器中,该数值被锁定在0-1000之间,但你可以通过XML将其设为任意正值(负重量无效)。 buoyancy="0" 代表该方块的“漂浮能力”。说实话,我从未制作过水上飞机或船只,因此没有编辑此数值的经验。肯定有比我更擅长这方面的人能为我们指点迷津! fuelPercentage="X" 中,X是0-1之间的十进制数值,例如fuelPercentage="0.7"表示机身燃油量为70%。总体来说这个数值没什么用,因为它可以在游戏内直接调整为0-100,且在XML中设为大于1的数值也不会产生任何效果。 fuel="X" 和 capacity="X" 修改这些数值不会有任何作用。如果你想要“无限燃油”,需要查看燃油箱相关部分。cornerTypes="0,0,0,0,0,0,0,0"可将各个边角更改为不同样式(如圆形、圆角、直角、平滑等)。你可以在编辑器中进行此操作,所以这一功能仅在你希望将两个机身连接在一起但又不想让它们的边角样式相同(例如将一个直角边角连接到圆形机身)时才有用。 练习:编辑此模块,将frontScale设置为"0,0",rearScale设置为"7,0.1",offset设置为"1.2,3.4,5.6789",然后保存文件并在《简单飞机》中加载。 机翼/结构面板 参考教程飞机第2行第1列以及XML文件中part id="40"、partType="Wing-2"的部分。我们将对这个蓝色的结构机翼进行一些有趣的操作。 angleOfAttack="0" 据开发者表示,这是游戏旧版本遗留下来的参数,现在已不再起任何作用。airfoil="ABC" 代表机翼剖面类型的选择,包括对称型、半对称型或平凸型,可在游戏内直接编辑。 inverted="true/false" 决定机翼空气动力学特性产生的升力方向是朝向机翼顶部还是底部。 wingPhysicsEnabled="true/false" 决定机翼是否参与升力计算(如果只想将机翼用作装饰,又不想让它影响升力中心,可设为false)。 rootLeadingOffset="X" / rootTrailingOffset="X" / tipLeadingOffset="X" / tipTrailingOffset="X" 这些参数表示从机翼根部或翼尖的连接点(在编辑器中看到的小凸点)到机翼拐角的距离。例如:tipLeadingOffset 是翼尖连接点到翼尖前缘拐角的距离。 重要提示!机翼的设置比较特殊。由于某些原因,它们在编辑器中的数值是机身部件的两倍。因此,如果你希望根部后缘角位于连接点后方2格处,你需要输入rootTrailingOffset="1"。 tipPosition="X,Y,Z" 这是翼尖连接点相对于根部连接点的位置,格式为【上反角,翼展长度,前后位置】。注意,如前所述,此处输入的数值应为你在游戏中实际期望数值的一半。如果你希望翼尖比根部高2格、机翼长2格且翼尖位于根部后方2格,应写成:tipPosition="1,1,-1"。 hingeDistance="x" 这是用于控制面的机翼百分比,以小数形式表示。示例:如果你希望机翼有60%为固定部分,40%为控制面,你可以使用:hingeDistance="0.4" allowControlSurfaces="true/false" 这个参数非常重要!使用结构机翼以获得其强度,然后将此值设为true,就能为它们添加控制面,这是在游戏内编辑器中无法做到的。 在控制面部分: start="X" 和 end="X" 这两个参数只能设置为从0到一个可变最大值的整数。最大值由机翼长度决定。它们用于确定控制面在机翼上的起始和结束位置(这是控制面的宽度,与hingeDistance不同)。 inputId="X" 决定了哪个输入会使控制面移动。可设置为横滚、俯仰、偏航、垂直起降或起落架。 反转="true/false"决定控制面是执行指令动作还是相反动作。这与上述"反转"变量不同! 最大偏转角="X"决定控制面在接收输入时可移动的角度(以度为单位)。默认值为35度。使用此参数可调整控制输入产生的俯仰/横滚/偏航幅度大小。设置过高通常不佳(实际上我通常会调低此值)。 激活组锁定输入="true/false"此参数决定当控制输入产生时关闭其激活组,控制面是否保持锁定状态。例如:激活组锁定输入="true",且将升降舵设置为AG1。定位并打开你的飞行器XML文件 按下WINDOWS+R打开运行命令,输入不带引号的"%appdata%"。点击“确定”,然后导航至C: Users 你的用户名 AppData LocalLow Jundroo SimplePlanes AircraftDesigns。如果你下载了教程飞机,找到名为“XML Editing Tutorial by AV8R.xml”的文件,然后右键点击>“打开方式”>Notepad++。这将在Notepad++编辑器中打开XML文件。 注意:如果你没有下载教程飞机,可以用同样的方式打开任何你想要编辑的飞机文件。如果你没有下载Notepad++,可以用你选择的文本编辑器打开该文件。你猛地拉杆进行筋斗并关闭AG1。现在你的飞机会持续进行筋斗,因为俯仰输入已被锁定,直到你重新开启AG1才能进行新的控制输入。 配平开关(trim="on/off")的功能和你想的一样,你可以在游戏内编辑器中更改它,所以这里无需调整。 练习:在蓝色结构机翼上,启用控制面并添加一个控制面,起始点设为1,终点设为2,铰链距离为0.5,该控制面需具有反向横滚控制响应,但不要反向空气动力学。此外,给机翼设置3格的正上反角并禁用机翼物理效果。设置上反角时要注意,机翼测量值只需输入你想要的一半!引擎 参考教程飞机第2行第2列,以及XML部件id="41"、partType="Engine-Jet-1",找到深蓝色喷气发动机。 invert="true/false"决定按下油门增加键时,实际是提高还是降低油门设置。 min="X"决定引擎的初始推力(影响“加速”时间)。 max="X"决定引擎完全加速到最大功率后的全油门推力。此数值越大,引擎功率越强,但从0推力到最大推力(反之亦然)所需的时间越长。将此数值设得非常大,会使引擎功率极强,但达到全功率所需时间也会很长。input="ABC" 设置为油门、俯仰、横滚、偏航、刹车、配平、起落架或垂直起降,以确定哪个输入将改变你的油门。 powerMultiplier="X" 会获取根据发动机类型和"max"设置计算出的推力,然后将其乘以该值。使用此参数可制作极弱或极强的发动机,并用于微调发动机性能,以获得你想要的速度。 exhaustScale="X,Y,Z" 决定发动机排气图形的大小。 exhaustStartColorOverridePrimary="FFFFFFFF" 决定排气颜色。参考颜色/材质部分了解如何更改颜色。 练习:编辑深蓝色发动机,使其响应俯仰输入,设置max="5"、powerMultiplier="0.2"和exhaustScale="2,2,2"。现在去测试这台发动机,看看需要多长时间才能达到最大功率。机身进气道 参考教程飞机第2行第3列,以及XML部件id="42"、partType="Fuselage-Inlet-1",找到紫色机身进气道。该部件的大部分属性与机身方块相同,不同之处在于增加了一些可编辑进气道属性的选项。inletSlant="X" 决定进气口的倾斜角度 inletTrimSize="X" 决定进气口可涂装第二颜色部分的长度 inletThicknessFront="X" 决定进气口前部(开口处)的壁厚度 inletThicknessRear="X" 决定进气口后部(靠近封闭后端)的壁厚度 垂直起降喷管 参考教程飞机第2行第4列以及XML部件id="43" partType="ThrustPort-1",可找到白色垂直起降喷管 min="X"/max="X" 决定喷管在接收输入时可旋转的角度(单位:度)(位于旋转器中)状态部分: enabled="true/false" 决定喷管是否可以旋转 练习:编辑喷管,使其响应俯仰输入而非垂直起降输入,并且仅在 min="0" 到 max="30" 的范围内活动。为什么有人会对使用 rotator.state enabled="false" 感兴趣?如果他们希望使用垂直起降发动机而非其他发动机提供推力,但不希望喷管移动 RCN 参考教程飞机第2行第5列,以及XML部件id="44" partType="ReactionControlNozzle-1",找到深灰色的RCN喷管。autoAssignType="true/false"决定是否让游戏根据部件在飞机上的位置来决定其用于俯仰、横滚还是偏航控制。 reverse="true/false"决定控制输入是否反转。 燃油箱 参考教程飞机第3行第1列,以及XML部件id="45"、partType="FuelTank-1",可找到浅灰色燃油箱。 fuel="X"决定油箱内的燃油量。该数值必须小于或等于容量,因此若要添加大量燃油,需要同时增大这两个数值。 capacity="X"决定油箱可容纳的最大燃油量。 轮子与悬架 参考教程飞机第3行第2列,以及XML部件id="46"、partType="Wheel-Resizable-1",可找到黑色轮子。turningAngle="X"决定车轮可转动的角度(单位:度)。 engineId="X"决定由哪个汽车发动机为车轮提供动力。将此值设置为汽车发动机的零件ID(在游戏内编辑器中操作最为简便)。 direction="Normal"决定输入是否反转,"Normal"表示正常。 size="X"决定车轮直径大小,以方块长度为单位。 width="X"决定车轮宽度,以默认值的百分比为单位。例如,0.5表示50%,2.3表示230%。 tire="ABC"决定车轮所使用的轮胎类型,在游戏内编辑器中选择最为简便。 damper="X"决定悬架中的阻尼量。阻尼用于控制悬架的弹跳和晃动程度。以十进制格式表示的百分比,例如:0.5 表示 50%,2.3 表示 230%。 spring="X" 用于确定悬架的强度和刚度,以十进制格式的百分比计量。 enableSuspension="true/false" 用于确定车轮是否具有内置悬架。若设为 true,则使用上述的减震器和弹簧值;若设为 false,则减震器和弹簧值无效。 enableAutoTraction="true/false" 用于确定车轮使用默认牵引力值还是下方的手动值,设为 false 时,下方的牵引力和滑移值生效。 turningRate="x" 用于确定车轮的转向速度。 brakeTorque="X" 用于确定制动器对轮胎施加的制动力大小。数值较低时,你会缓慢刹车但不会失去抓地力;数值较高时,刹车力度会很大,但可能会失去抓地力并打滑。 slipForwardExtremum="X" 和 slipSidewaysExtremum="X" 需要更多信息 slipForwardAsymptote="X" 和 slipSidewaysAsymptote="X" 需要更多信息 tractionForward="X" 和 tractionSideways="X" 需要更多信息 flipped="true/false" 这是仅用于起落架的变量,决定是否镜像显示图形,主要用于“读取起落架”,使它们向下和向左伸展,而不是向下和向右伸展。 驾驶舱 参考教程飞机底部中央,XML部件id="1" partType="Cockpit-1",以找到蓝白相间的驾驶舱。 primaryCockpit="true/false" 决定这是否是用于“驾驶舱视角”的驾驶舱。注意:你也可以打开Notepad++,点击文件>打开,然后导航到3.2.1.0中列出的相同目录,并通过这种方式选择你的飞机。两种方法效果相同。 XML文件初览 XML文件介绍 如果你是第一次打开包含代码的文档,相信我,我理解它看起来有多复杂,但请相信我,如果你跟着操作,我会向你证明它并不像你想象的那么复杂!你不需要成为程序员就能编辑飞机在XML文件中的部件属性!主驾驶舱无法删除,如果从飞行器上移除主驾驶舱,编辑器中的其他所有部件都会变成灰色并像子组件一样移动。 相机 参考教程飞行器第3行第3列,以及XML部件id="47"来找到灰色相机。 viewMode="ABC"决定了相机的视图类型。默认值为第一人称,可设置为轨道、追逐和飞越。需要正确的大小写(orbit 无法生效,但 Orbit 可以) autoOrient="true/false" 决定切换到该视角时,是保持原有的相机旋转角度,还是自动转向相机方向 lookAtCockpit="true/false" 决定相机是否会自动将视角指向主驾驶舱 autoZoomOnCockpit="true/false" 需要更多信息 autoCenterCamera="true/false" 决定停止环顾四周后,相机视角是否恢复为默认值 灯光 参考教程飞机第 3 行第 4 列,以及 XML 部件 id="48" partType="BeaconLight" 来找到红色信标灯。 designerBlinkProgram="ABC" 决定灯光是常亮、慢闪还是快闪。在游戏内修改最简便。showHalo="true/false" 用于决定灯光是否会产生光晕效果。例如,如果你希望驾驶舱内的灯光在近距离观察时不产生光晕,可将其设为 false;而对于从远处可见的外部灯光,则可设为 true。这纯粹是为了视觉效果。 减震器 有关弹簧和阻尼器变量,请参考“轮子/悬挂”部分。此处内容在前面已有涵盖。 活塞 请参考教程飞机第 3 行第 5 列,以及 XML 中部件 id="49"、partType="Piston" 的部分,以找到橙色活塞。min="X"/max="X":通过乘以范围值来确定活塞激活时的移动距离 preventBreaking="true/false":决定活塞在受到过大作用力时是否会损坏 cycle="true/false":决定活塞是否会反复伸展和收缩 extend="true/false":决定活塞是启动时处于收缩状态并在激活后伸展,还是启动时处于伸展状态并在激活后收缩 range="X":决定活塞完全伸展时的范围,该值会乘以max="X"来确定最终范围 speed="X":决定活塞伸展和收缩的速度 分离器 请参考教程飞机第4行第1列,以及XML部件id="50" partType="Detacher-2"来找到黄色分离器。detachForce="X" 决定对被分离物品施加的力大小。数值越高,物品被“弹射”离开分离器的力度越大。 detacherUiMaxForce="X" 需要更多信息 旋转器 参考教程飞机第4行第2列,以及XML部件id="51" partType="JointRotator-1",找到绿色旋转器。 min="X"/max="X" 会与range="X"的值相乘,以确定旋转器在负方向(min)和正方向(max)上可转动的度数。将这两个值都提高到非常大的数字,可制作“无限旋转的旋转器”。 range="X" 决定旋转器在每个方向上可转动的度数。将此值乘以min和max可得到最终数值。speed="X" 决定旋转器的旋转速度 空气刹车 参考教程飞机第4行第3列,以及XML部件id="52"、partType="AirBrake-1",可找到浅蓝色空气刹车 min="X"/max="X" 决定移动范围 降落伞 参考教程飞机第4行第4列,以及XML部件id="53"、partType="Parachute-1",可找到深蓝色降落伞 size="X" 决定降落伞大小 style="ABC" 应在游戏内直接编辑 武器 机炮 参考教程飞机第4行第5列,以及XML部件id="54"、partType="Gun-2",可找到紫色机炮ammoCount="X" 似乎没有任何作用 burstCount="X" 延迟前发射的子弹数量 timeBetweenBursts="X" 延迟期间暂停的秒数 muzzleVelocity="X" 子弹飞行速度 roundsPerSecond="X" 枪械射速 bulletWeightKg="X" 我认为该数值会乘以 ammoCount 来确定枪械中弹药的重量,但它也可能会影响子弹下坠。需要进一步信息。bulletCaliber="X" 决定子弹的尺寸。spread="X" 决定子弹的精准度,数值越大子弹散布范围越广,数值越小子弹越精准。tracerColor="X" 可参考颜色/材质部分来了解如何更改颜色。 火箭弹:据我所知,目前没有针对火箭弹的独特XML编辑方式。 炸弹:据我所知,目前没有针对炸弹的独特XML编辑方式。 导弹:据我所知,目前没有针对导弹的独特XML编辑方式。不过,如果你通过massScale="X"将质量编辑为小于1的值,导弹会因重量减轻而飞得更快。 其他变量:这些变量不属于其他任何类别,但很重要。在部件代码的首行空白处添加“disableAircraftCollisions=true/false”,设为true时可让部件相互穿透而不会产生碰撞。此功能可用于在部件内部旋转物品、制作起落架、从飞机内部发射导弹等操作。 “drag="U,V,W,X,Y,Z"”:你可以编辑这些数值并加载到《简单飞机》中,但一旦按下开始键,游戏就会自动重新计算这些数值,因此实际上这些编辑不会产生任何效果。颜色/材质 编号 游戏内的涂装选择(调色板)编号如下: 0, 1, 2, 3, 4 5, 6, 7, 8, 9 10, 11, 12, 13, 14 在飞行器存档文件中,颜色按从0开始的顺序从上到下保存在材质部分的底部。列表中在这些颜色之后还有4种额外颜色,无法从编辑器内访问。据我所知,可以拥有任意数量的颜色,但在前15种(0-14)之后,只能通过编辑XML来使用它们。 查找十六进制代码 颜色以【十六进制】格式保存,这是一种用数学方式描述颜色的方法。首先,我们不需要过多涉及计算机编码语言,只需了解一些极其基础的原则,这些原则能防止我们破坏代码的语法结构,让我们在编辑重要内容(比如模块位置)时,不会意外导致代码无法运行。 规则: 规则1 - 绝不要删除以下符号:< > / = (除非你要删除整个属性,这一点稍后会解释) 规则2 - 只编辑引号内的文本(除非你要添加或删除整个属性,这一点稍后会解释) 规则3 - 经常备份!如果你犯了错误并破坏了代码语法,你有两个选择:找到并修复导致代码出错的错误,或者恢复到上一个能正常运行的保存版本。找到所需颜色十六进制代码的最简单方法是使用在线工具从显示中选取颜色,工具会告知你对应的十六进制代码。 更改颜色 假设我们想将调色板中的第一种颜色更改为灰粉色。通过颜色选择工具,我确定其十六进制代码为“a897a2”。因此,在第一行“material”中,将color="FFFFFF"更改为color="a897a2"并保存。现在,当在《简单飞机》中加载该文件时,第一种颜色就会是那种灰粉色。 编辑R、M和S 除了编辑颜色外,还可以编辑其他属性,例如反射率、金属度和平滑度。这些数值的范围是0-1,最好的方法就是调整它们,每次只改动一个,看看会产生什么效果。要制作超光泽的驾驶舱,我个人的设置是r="0.35"、m="1"、s="1"。据开发者NathanMikeska表示,反射率现在已经不再使用了,关于这些数值的更多信息可以在Unity文档中找到。 为部件添加颜色 一旦你设置好了调色板,就可以通过在XML文件中找到materials="X"变量,轻松更改任何部件的颜色。如果存在多个数字,例如materials="1,13,0",它们将按照“主色、装饰色1、装饰色2等”的顺序排列。你只需将这些数值修改为材料列表中对应目标颜色的数字(从顶部开始编号,起始为0)。保存并加载到【简单飞机】中。 为引擎排气着色 在你的XML文件中找到以下内容:exhaustStartColorOverridePrimary。 引擎排气仍使用十六进制代码来确定颜色,但末尾多了两位数字(共八位)。前六位数字的查找方式与你为其他部件获取十六进制代码的方式相同。从技术上讲,最后两位数字应该用于设置透明度,但据我观察,它们没有实际效果。(如果发现它们有效果,以下是一些有用的数值:00=0%,80=50%,FF=100%。)以教程飞机中的示例引擎(部件ID为“41”)为例,找到exhaustStartColorOverridePrimary="FFA400FF"。我们要将尾焰颜色从默认改为红色。通过颜色选择器可知,纯红色的十六进制格式为FF0000。因此,将该变量修改为exhaustStartColorOverridePrimary="FF0000FF"(我们可以忽略最后两位数字),保存后加载到游戏中。此时尾焰应变为鲜红色。 武器弹道染色 再次参考教程飞机中部件ID为“54”的紫色机炮。 找到tracerColor="FFED00",若要更改弹道颜色,只需将FFED00替换为你选择的十六进制颜色(参见4.6.2.0部分),保存后加载到游戏即可。 连接功能 即将推出。技巧与窍门 将图像尺寸(MB-Ruler)转换为《简单飞机》尺寸 即将推出 将引擎性能缩放到真实数值 即将推出 参考资料 零件类型标识符列表 即将推出 结语 希望本指南能为你带来帮助。如果你跟着操作并不断练习,现在应该具备了在《简单飞机》中完成各种操作所需的工具和技能。当你忘记某个变量的作用或使用方法时,本指南也可以作为参考。感谢所有在我制作指南过程中提供帮助的人,如果你有任何问题,请告诉我,我会尽力提供帮助。 此致,Av8r鸣谢 若你帮助找出错误、提出澄清建议或提供新信息供我补充,你的名字将被列入鸣谢名单! 感谢自《简单飞机》开玩以来一路上帮助过我的所有人 @HellFireKoder 制作了微调器 @WNpP78 制作了超载 @NathanMikeska 澄清了R、M、S值 @Joco80 提供了质量缩放对导弹速度影响的提示 更新日志 版本1.3.0/1.3.1(Steam) 添加了关于质量缩放对导弹速度影响的说明 版本1.2.0/1.2.1(Steam) 对反射率、金属度、平滑度(R、M、S)进行了澄清 版本1.1.0/1.1.1(Steam) 调整了格式,将指南添加至Steam 版本1.0 最初发布于《简单飞机》论坛因此,尤其是当你刚开始接触这部分内容时,我建议定期对你正在处理的文件进行备份。这很简单,只需将XML文件另存为“你的飞机名称 2.xml”之类的名称即可。然后继续编辑原始文件,这样一旦你不小心删除了某些找不到的内容,备份文件就会安全地保存在那里,供你恢复使用。 了解和浏览XML文件 当你打开文件时,会看到一堆文本。可以把它想象成一个从上到下的大纲。首先是整个“Aircraft”代码(从头到尾),其中包含“Assembly”代码和“Theme”代码。在“Assembly”代码内部有“Parts”“Connections”和“Bodies”部分。最后,在“Theme”代码内部是“Materials”部分。代码结构: 飞机 装配体 部件 部件1 部件2 部件3等 连接 连接1 连接2 连接3等机身 机身1 机身2 机身3等 主题 材质1 材质2 材质3等 幸运的是,99%的情况下,我们只需要编辑飞机的单个部件和更改颜色。因此,我们可以直接跳转到代码的【部件】部分(或者跳转到【材质】部分来编辑颜色,稍后会详细说明),而忽略其余内容! 如果你已经读到这里,那么恭喜你,你已经准备好开始学习有趣的内容了!在这些步骤中,如果【教程飞机】中有对应的示例,我会进行标注。让我们言归正传。 让你的更改生效 当你在《简单飞机》游戏编辑器中对飞机进行修改时,游戏程序会将代码行写入你打开的飞机文件的临时副本中。要使更改在XML文件中生效,你必须在游戏中保存你的作品,然后游戏会将你所做的所有更改写入我们上面讨论的XML文件。反之亦然。如果你想通过自己编写或编辑代码来修改飞机,你必须在XML文件中输入编辑内容,然后保存文档。保存后,你必须将其重新加载到游戏中。

评论

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

管道原理 - 功能XML

是用管道,还是不用管道——这是个问题 借助XML的强大功能,你可以告别那些占满空间的管道线条。有了【管道理论】(Pipe Theory™),所有管道连接都能简化…

2026-04-02 10:000赞 · 0评论

创建自定义剧本

《东方帝国》自定义剧本创建指南 本指南将介绍如何为使用新地图编辑器创建的地图制作自定义剧本。逐步学习如何制作最简单的剧本,并探讨进一步扩展的可能性。 简介 随着…

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

[简单飞机入门教程]#5:小部件篇—功能性部件

转自B站玩家:Reiy11

2025-06-06 01:402赞 · 0评论

[简单飞机入门教程]#3:部件详解篇—机翼、引擎、起落架

转自B站玩家:Reiy11

2025-06-06 01:3816赞 · 4评论

[简单飞机入门教程]#1:基础设置篇

转自B站玩家:Reiy11

2025-06-06 01:3340赞 · 6评论

简飞教程第一期-主页面翻译&引导

转自B站玩家:Garrino_51

2025-06-06 01:5538赞 · 17评论

[简单飞机入门教程]#4:武器篇—机枪、加农炮、导弹

转自B站玩家:Reiy11

2025-06-06 01:399赞 · 0评论

《简单飞机》通关演示&新手攻略汇总

入门教程(简略内容含字幕)👇:

2025-06-06 03:32409赞 · 264评论

简飞教程第三期-游戏内模拟器翻译&使用

转自B站玩家:Garrino_51

2025-06-06 01:585赞 · 2评论

[简单飞机入门教程]#2:部件详解篇—结构部件

转自B站玩家:Reiy11

2025-06-06 01:365赞 · 0评论
暂无更多