武器改装入门

0 点赞
Ravenfield
转载

本指南将介绍《战地模拟器》武器模组制作的基础知识,提供所需软件列表以及实用信息。有更深入了解的人士,欢迎对本指南提出建议。 简介 欢迎阅读我的《战地模拟器》武器模组制作指南。我将尽力提供开始制作自定义武器模组所需的所有资源和技巧,并尽可能用清晰的语言进行讲解。作为示例,我会使用自己制作的RK5C,因为它已经完成且几乎涵盖了所有相关主题。本指南内容详尽且篇幅较长,因此请准备好投入一些时间。进行《战地模拟器》模组制作所需软件(均有免费版本): 1. Unity 3D 5.6.3p1版本,大小约4GB,费用:0美元。 2. 自选3D建模软件,本指南使用Blender(免费),大小小于1GB,费用:0美元;或3DS MAX,大小约6GB,费用:学生可免费使用3年,其他情况185美元/月。 3. 《战地模拟器》工具包。大小:小于1GB 费用:0美元 可选但推荐: 音频编辑软件Audacity。如果你有音频编辑/音效制作背景,这会是一个强大的工具。或者如果你像我一样比较懒,也可以用它来剪切和拼接从网上下载的音效。 大小:小于1GB 费用:0美元 此外,你可以使用Discord并加入相关频道,这是获取帮助的有用资源。 大小:在线 费用:0美元 还有一个Reddit社区,活跃度不高,但仍是个不错的社区。 建模 你的首要任务是制作武器模型。这是制作过程中较长的环节之一,需要花时间才能熟练掌握。精通3D武器制作需要耐心和创造力。 熟悉Blender的用户界面和功能非常重要,相关的教程系列对此很有帮助。建议完整观看这些教程。 开始制作时,你需要一张清晰的参考图。直接在网上搜索你想制作的武器,通常能找到最合适的参考图。以AK5C为例(我已经制作过该武器),这张参考图来自《战地4》。你需要一张侧面视角、几乎无旋转且高质量的图片。

打开Blender后,按下“n”键,屏幕右侧会打开一个选项卡。向下滚动到底部,你会看到一个标有【背景图像】的方框。点击它,然后点击【添加图像】。点击【打开】并找到你的参考图像。我还建议暂时将渲染器设置为【Blender渲染】,稍后我们会切换到Cycles。

完成此步骤后,你将得到类似这样的结果:

接下来,就该开始制作你的武器模型了。如果你遇到困难,YouTube 上有很多低多边形武器建模教程,你只需找到喜欢的教程观看即可。最终,你会得到一个不错的纯灰色武器模型。

现在是制作UI图标的最佳时机。按下【3】键添加相机。按下【G】键并移动相机,直到武器占据相机视图的大部分区域。

现在,在最下方最右侧的标签页中,点击小地球图标。这会设置世界参数。将地平线颜色更改为黑色。

在同一行图标中,选择相机。滚动到底部,启用【自由风格】并将线条粗细设置为2.000像素。

最后,将一个图标移到两张图片上,滚动到“自由生活方式”。展开选项卡并将颜色更改为非常浅的灰色,我使用的RGB值为0.627。

现在,放置一盏简易点光源。将它与武器和相机保持适当距离。点击“文件”旁边的“渲染”按钮查看效果。如果武器比白色轮廓亮,则将光源移远一些;如果太暗,则将光源移近一些。

理想情况下,你应该有这样的东西:

你可以通过点击图像>另存为图像来保存用户界面图标,并将其命名为【武器名称】UI图标。

现在为你的武器添加颜色。我个人会根据武器来命名颜色,作为一种整理工具。将渲染设置保持为“Blender渲染”,可以确保你选择的颜色能无缝导入Unity。为武器获取准确颜色的一个简单方法是隐藏网格,并将背景图像的不透明度设为1.000。添加新材料后,点击“漫反射”下方的颜色框,使用取色工具直接从参考图像中提取颜色。

完成后,你应该会得到类似这样的结果:

如果这是你想要的风格,现在是为创意工坊缩略图渲染图像的好时机。关闭自由风格渲染,将世界背景更改为更浅、柔和的颜色,并轻微旋转模型以增加一些深度。同时,确保切换到【循环渲染】模式。

建模部分到此结束,现在是时候开始制作动画了。 动画制作 动画制作是武器制作过程中的另一个难点。它耗时且需要大量练习。 这个教程系列总体来说相当不错,不过它涉及的细节比实际所需的要深入一些。 我自己的教程涵盖了适用于《战地模拟器》的最有效方法。 你需要至少创建8种动画: - 拔出 - 闲置 - 换弹 - 冲刺 - 踢击 - 呼叫小队 - 指挥小队 - 瞄准 - 开火(取决于武器类型) 【确保你的相机位于0,0,0坐标且旋转角度为0,否则将无法正常工作!】 拔出: 这是武器装备时播放的动画。为避免切换武器时出现令人沮丧的长时间延迟,这个过程应该设计得相当迅速。具体形式可以很简单,比如从屏幕外将武器抬起;也可以很复杂,包含枪托折叠和武器上膛等动作。具体采用何种形式,取决于个人偏好。

闲置状态: 这通常只是武器置于腰侧时播放的单帧画面。无需担心为玩家移动时的武器晃动制作动画,Unity中已设置好相关效果。确保武器定位良好,并占据适当的屏幕空间。手枪通常较小,而发射器可能会占据相当大的视野范围。

换弹: 顾名思义,但这也是你要制作的最复杂的动画。对于弹匣供弹武器来说,会稍微简单一些。不要忘记弹匣具有质量和动量,当它被卸下并重新装回武器时,会产生相应的物理反应。研究其他动画和真实的换弹过程,以了解怎样的效果看起来更自然。对于弹夹供弹或单发装填武器,你需要做更多的工作。游戏自带的M1加兰德步枪在技术上有4种换弹动画:一种用于装满弹夹,一种用于开始单发射击循环,一种用于循环过程,还有一种用于结束循环。此外,根据你的武器类型,还需要制作空仓待机动画。

冲刺:另一个相当简单的动画,通常包含一帧武器动画,你可以将其设置为任意你想要的冲刺时的姿势。

踢击:此动画应包含约10帧,武器需举至足够高度,以确保脚部能从其下方通过而不发生模型穿模。

呼叫小队: 此动画包含任何你想用来呼叫小队成员到你身边的方法。我个人会让携带完整武器信标的士兵过来,但和所有动画一样,这是个人偏好。保持指令动画快速,因为你不希望玩家在指挥小队时长时间处于易受攻击的状态。

直接指令:与呼叫小队动画的概念大致相同,通常包含一个快速指向前方的动作。

目标: 另一个简单动画,通常是武器抬升至屏幕中心的单帧画面。对齐是关键,否则射击将无法命中瞄准目标。注意在此示例中,瞄准具中心(此处为瞄准镜)与相机视图的水平线和对角线的交点完全对齐。

开火: 如果你正在制作需要每次开火后进行循环操作的武器(例如栓动步枪),或者开火时具有明显移动部件的武器(例如许多冲锋枪的滑套),你就需要制作此动画。 Unity 配置第一部分:设置和参数 现在你已经完成了武器模型和动画,剩下的就是在 Unity 中进行配置。这是制作模组迄今为止最简单的部分,你可以通过它为武器添加自己的特色。 Iwanplays 制作了一些很棒的 Unity 模组制作入门教程,但我将在此基础上进行偏离和扩展。【近战武器】 打开武器实验室后,请确保所有其他预制件均已关闭,此时你的层级结构应大致如下:

导入武器模型后,将其从项目选项卡拖到层级面板。选中该模型并添加三个组件,第一个是武器脚本,然后是两个音频源。

打开武器脚本,将枪口和弹壳粒子效果设置为1。在层级面板中打开AK,选中其枪口和弹壳粒子,右键选择“复制”或使用快捷键Ctrl+D进行复制。将复制的粒子拖放到你的武器上,重命名为【枪口[武器名称]】和【弹壳粒子[武器名称]】。然后,将它们拖放到检视面板中的相应位置。

在层级面板中选择手部,在检视面板中,点击材质名称右侧的小圆圈,找到“actor blue”材质并将其应用。返回武器,然后滚动到检视面板底部,将武器中的“hands”拖放到手臂插槽中。

现在进入项目选项卡,选择资源>材质>纹理>UI>武器,然后导入之前的UI图标。确保纹理类型设置为“精灵(2D和UI)”。返回层级面板中的武器,在检查器底部,为UI精灵选择该图标。

在资源>预制件>投射物目录下,选择“步枪曳光弹”并按Ctrl+D复制。将其重命名为【武器名称】曳光弹。在检视面板中,展开“配置”选项卡,可随意调整以下参数: 速度:顾名思义,速度越高的弹药能更快命中目标且射程更远。 冲击力:命中时的力度,数值越高,被命中的载具移动幅度越大。 生命周期:投射物在游戏世界中存在的时间。除非制作极远射程或极近射程的武器,否则无需调整此项。 伤害:顾名思义,机器人拥有100点生命值。 平衡伤害:使机器人被击倒的可能性,数值越高,越容易将其击倒。 冲击贴图大小:在地形和建筑上留下的“弹孔”大小。0.2对于大多数武器来说较为合适,0.1可能适用于鸟弹霰弹枪,而0.3或更高的值适用于0.50口径或大型步枪。 穿透层级:可以穿过地图上标记为特定方式的物体,例如树上的树叶。除非你在制作威力非常低的武器,否则请保持开启此选项。 穿透力:可以穿透直升机和飞机的玻璃。主要用于狙击步枪。 产生飞掠声:当子弹从角色身边飞过时,你可以听到声音。 飞掠音调:改变飞掠声,我个人不会更改这个设置。 衰减结束距离:伤害衰减结束的距离。狙击步枪设为高,霰弹枪设为低。 重力乘数:改变重力对 projectile(弹丸)的影响,通常不更改此设置。 伤害衰减:移动这些点来设置伤害衰减曲线。衰减程度取决于武器类型。继承速度:投射物速度受玩家速度影响。 自动装甲伤害:自动调整对载具的伤害。 装甲伤害:轻武器(步枪、手枪等)基本无法对载具造成伤害,重武器(重机枪、反器材步枪等)可对轻型载具造成伤害但无法伤害坦克,反坦克武器作用不言而喻。 除非在非常特殊的情况下,否则不建议更改投射物的材质或网格。在武器的检视面板中,选择投射物预制体即可。

现在进入有趣的部分,实际配置你的枪械性能! 第一系列配置是基础操作: - 自动:顾名思义,开启时武器为全自动模式 - 弹匣容量:每个弹匣的弹药数量 - 备用弹药:携带的额外弹药,步枪、手枪和冲锋枪通常为5-8个弹匣,机枪为2-4个弹匣,狙击步枪和霰弹枪为5-7个弹匣 - 补给数量:每次从弹药箱或弹药 crate 中获取的弹药量。通常为半个弹匣,重型武器则为1发火箭弹/手榴弹 - 换弹时间:武器换弹时无法使用的时长,应与你的动画时长完全一致 - 冷却时间:射击间隔时间(以秒为单位),等于60除以射速拔枪时间:武器拔出后到可开火状态所需的时间,应与动画长度相等。 瞄准视野:瞄准状态下的视野范围。步枪和冲锋枪的机械瞄准镜为30-40,手枪和霰弹枪为40-50。红点瞄准镜、全息瞄准镜或其他低倍率光学瞄准镜的武器为25-35。ACOG和PSO-1等中倍率光学瞄准镜为20。高倍率瞄准镜大于10。 自动换弹延迟:若启用强制自动换弹,在打出最后一发子弹后开始换弹的延迟时间。 换弹时可瞄准:如字面意思,仅建议用于狙击步枪。 强制自动换弹:武器打空后自动换弹,通常仅建议用于火箭发射器。 发出声响:顾名思义,通常保持开启,潜行武器除外。强制世界音频输出:不清楚,但默认武器是开启的,所以我选择关闭。 接下来的设置用于调整子弹发射后的行为。所有数值取决于个人偏好以及你所打造的武器类型。 后坐力:枪械的原始后坐力,数值越高,每发子弹的后坐力越大。 随机偏移:后坐力的随机方向程度,数值越高,武器的散布会越混乱。散布:武器开火时的原始散布范围,数值越高,散布越大。 后续散布增量:每发子弹增加的散布量。 后续最大腰射散布:腰射时的散布上限。 后续最大瞄准散布:瞄准状态下的散布上限。 后续散布持续时间:停止射击后,射击对散布的影响消失所需的时间。 后续散布消散时间:该参数与前一项配置非常相似。 Unity中的配置 第二部分:参数续篇及音频 后坐力抖动幅度:影响可见的后坐力效果,数值越大后坐力越强。 后坐力抖动持续时间:后坐力抖动发生的持续时长。 后坐力抖动频率:数值越大,每秒内的抖动起始次数越多。 AI允许瞄准散布:AI的散布量。开火效果【类别】:用于告知AI何时使用该武器。步兵指单个士兵,步兵群指多名相互靠近的士兵,无装甲目标包括吉普车和炮塔,装甲目标包括坦克和攻击艇,空中目标为直升机,高速空中目标为战斗机和轰炸机。 有效射程:告知AI的最大射击距离。对玩家无影响。 姿态:未知,默认武器通常设为0。 以下是我对AK5C的设置,以及在50米距离进行弹匣倾泻后,瞄准和未瞄准状态下的散布情况:

启用加热:开启时,武器会过热,通常仅适用于机枪或能量武器。 加热材质: -目标渲染器:选择你的武器,特别是会明显过热的部件组件。 -材质槽:该网格中的何种材质会明显过热。 每发子弹热量增益:取值范围为0到1,决定武器过热速度。例如,0.25时武器会在4发子弹后过热,0.01时则需要100发子弹等。 热量消散速率:武器冷却的速度,数值越高,冷却越快。 加热颜色:部件加热时会变为的颜色。 加热颜色增益:随着发射更多子弹,颜色如何变化。调整点来改变。 过热粒子:过热时显示的粒子系统。一般与机枪重复 过热音效:武器过热时发出的声音 高级换弹:根据枪内剩余子弹数量进行不同的换弹动作 尺寸:决定换弹动作的种类数量。目前我尚不清楚如何正确配置此类别。 瞄准镜对象:用于高倍率瞄准镜的预制体。 声音: 我并非音频编辑专家,因此建议你根据自己选择的音频编辑软件,查找相关的YouTube教程。大多数功能你可能用不到。 你需要准备以下音频片段: -开火 -拔出(取决于动画) -换弹(多个) 大多数音效可通过论坛或YouTube轻松找到。你也可以购买资源,甚至创建自己的资源。 在检视面板中,确保开火音频位于拉栓音频之上,这样可以防止拉栓音效循环播放。 对于开火音频,自动武器应仅勾选【循环】选项,其他武器则应关闭此选项。这是我为AK5C设置的参数,是从所有默认武器中复制过来的。建议采用类似的设置,以避免烦人的音频错误。

关于抽枪音效,应仅勾选【唤醒时播放】选项。这将确保武器抽出时立即播放音效,且之后不再重复播放。

你的换弹音频应从AK预制件中复制并添加到你的武器上。只需将音频剪辑替换为你的音频即可。在武器检查器的底部,你会在UI精灵上方找到换弹音频的插槽。将你的音频放在那里。 混响音频在我看来是可选的。它是武器射击完毕后播放的音频。如果你需要,可按照与换弹音频类似的步骤操作。

Unity 配置第三部分:动画器与第三人称变换 现在进行 Unity 配置的最后步骤。 在项目中进入资源>动画>武器。选择并复制一个合适的控制器。如果没有开火动画,AK 或 AR15 控制器即可;如果有,则狙击枪控制器适用。目前我尚不了解如何设置高级换弹动作。创建新控制器后,将其重命名为【武器名称】。

回到层级视图和检视面板中的武器,在控制器类别中选择你的控制器。

在顶部栏中选择【动画器】选项卡,然后选择任意状态。在显示“action”的位置,点击右侧的小圆圈,并从你的武器中选择相应的动画。对所有状态都执行此操作。

完成后,按下Unity窗口顶部的播放按钮,这将使你进入播放模式。如果一切正常,你的换弹动画和音效将会播放。暂时忽略屏幕上武器的静态版本。瞄准镜瞄准,卸下几个弹匣,测试你的武器精度。 我的教程中从13:00开始重点介绍了第三人称变换的新方法。 在Unity中再次进行游戏测试,如果一切正常,恭喜你,你已准备好进行beta测试! Unity配置第三部分-A:动态和高级换弹 实际上有三种换弹系统类型:标准型、动态型和【高级型】。标准换弹是单一动画,无论武器剩余弹药量多少都会播放,是除加勒特(Garrett)和76鹰式(76 Eagle)外所有默认武器使用的系统。要实现此功能,只需复制AK47控制器,在设置好动画关键帧后,将动画插入“reload”动作中。 动态换弹是大多数现代射击游戏采用的系统。根据弹匣中是否有剩余弹药,动画会有所不同。许多创意工坊武器都采用了此系统。 要实现动态换弹,首先必须为空弹匣和部分装弹弹匣分别制作换弹动画。这些动画设置好关键帧并导入Unity后,第一步是添加必要的事件。事件会添加到与触发动画相同的导入设置选项卡中。

对于两个换弹动画,都需要添加两个事件。在动画的绝对末尾,添加一个函数为【ReloadDone】的事件;在其之前,添加一个函数为【MotionDone】的事件。这两个事件的整数和浮点数参数均设为0,字符串留空,对象参数设为1。

截图中较早的事件是一个声音库事件,如果你的换弹动作需要不同的音频,这通常是必要的。换弹动作的音频将在本节后面讨论。 接下来,复制加兰德控制器。删除三个循环动作。添加一个新的空状态,并将其名称更改为“部分换弹”。像“完全换弹”事件那样,将其连接到“闲置”和“任意状态”模块。

将“任意状态”到“完全装填”的转换条件更改为:装填且已装填弹药等于0。对于“任意状态”到“部分装填”的转换,使用条件:装填且已装填弹药大于0。对于从两种装填状态到闲置状态的转换,确保启用“有退出时间”,且退出时间为1。

现在,在武器配置中,滚动到检查器底部,启用【高级装填】。在【弹匣容量】字段中,输入你的武器的弹匣容量。在每个元素中按顺序输入从1到武器弹匣容量的数字。本示例为简洁起见使用10发子弹。

最后,将装填时间配置设置为明显长于实际装填时间,以避免武器在实际装填完成前就完成加载。 测试以确保一切正常,这样就能实现动态装填。 高级装填系统是Garret和76 Eagle所使用的系统。该系统允许单发装填子弹,并在适用时使用弹夹或其他装填装置。我将以Garret这类武器为例来介绍该系统,具体会使用我NVA模组中的KSK,它既可以使用弹夹,也能够进行单发装填。如果你的武器不使用弹夹或其他装填装置,只需不使用【reload full】动画即可。你需要制作4个动画,分别是弹夹使用动画、单发射击循环开始动画、单发射击装弹动画以及单发射击循环结束动画。重要的是,循环开始动画结束时、循环动画的开始和结束时以及循环结束动画开始时的手部和武器位置必须完全一致,以避免位置跳变。 完成动画制作并将模型导入Unity后,设置动画关键帧。在单发射击循环动画中,在子弹装填完成后的位置添加“MotionDone”事件。

在循环结束动画中,在动画末尾添加【ReloadDone】动画。对于片段动画,按照动态换弹的设置添加【MotionDone】和【ReloadDone】事件。

现在,复制加兰德控制器。将动画插入到相应的插槽中。将“任意状态”到“reload full”的过渡条件设置为“reload”且“reload motion”等于(武器容量),在本例中为10发。“任意状态”到“reload single start”的条件应已设置为“reload”且“reload motion”等于1。

在武器配置检查器中,启用高级装填,在尺寸栏输入2。在第一个元素中输入“1”,在第二个元素中输入武器的弹容量。

测试以确保所有功能正常运行。 声音库用于在不同时间播放不同的声音。要使用声音库,首先复制武器中已有的任何音频组件,或从默认武器中复制,将其重命名为【Bank Audion Source】。音频组件中的剪辑并不重要。在武器的检查器中,点击底部的【添加组件】,输入【sound bank】。将【Bank Audion Source】拖到【audio source】字段中。对于剪辑数量,输入所需的音频剪辑数量,在这种情况下为4。

要在动画中调用声音库,需使用带有“PlaySoundBank”函数的事件,其中整数字段的数字对应音频剪辑的元素编号。将其放置在你希望播放的时刻。

要正确定位可能需要一些反复尝试。 Unity配置第四部分:弹壳粒子与爆炸武器 你可能希望更改武器使用的弹壳模型。虽然这一步并非必需,而且在某些方面与游戏惯例相悖,但我还是选择为我的部分武器进行更改。 首先,你需要建模弹壳。建模步骤与你进行的所有其他建模相同。建模时,确保弹壳的尺寸较小,否则你将不得不在Unity中进行调整。作为参考,以下是默认弹壳的尺寸:

完成后,将弹壳保存为“[口径]弹壳”。将其导入Unity,路径为资源>模型>武器>杂项。现在在检视器中打开武器的弹壳粒子效果。滚动至底部,打开“渲染器”选项卡。在“网格”处,点击小圆点并找到你的网格。

如果你愿意,也可以更改弹壳所使用的材质。建议复制默认材质并将其重命名为【弹壳】或【黄铜】。你可以直接将颜色改为黄色,或者更讲究一点,将来源改为【金属阿尔法】,这样弹壳在空中飞行时就会带有金属光泽。

如果弹壳从奇怪的位置弹出,请调整场景中弹壳粒子对象的位置。 特殊武器类型: 你正在制作的武器可能不是普通步枪。它或许是霰弹枪、火箭发射器或榴弹发射器。 霰弹枪的设置非常简单。在这个示例中,我会将我的AK5C改造成霰弹枪。第一步是在层级面板中点击你的武器,然后更改“每发弹丸数”。我们将使用8,因为这在大多数第一人称射击游戏的霰弹枪中很常见。此外,通过复制你选择的任意弹丸预制体来创建一个新的弹丸预制体。像之前一样将其重命名为“[武器名称]曳光弹”,或者像我这样,命名为“[口径-弹壳类型]”。在后面的章节中,我会讨论武器平衡问题,并详细介绍霰弹枪。如果你想了解我对霰弹枪弹道数据的具体看法,可以参考那部分内容。不过就目前而言,以下是我为一把标准12号霰弹枪设置的配置:

如果你此时进入游戏模式并使用武器,可能会发现其在50米距离上的散布非常小。霰弹枪的散布完全由你决定,但我通常会将50米距离上的目标区域覆盖范围设置为0.03的散布值。你还需要将【后续射击散布增益】设为0,否则每次射击后散布都会增大,除非你制作的是自动霰弹枪,否则这种特性是多余的。 火箭发射器的制作流程与常规枪械非常相似,直到涉及到 projectile 部分。我们稍作偏离,以我的RPG-7为例。对于 projectile 预制体,复制默认的“rocket”预制体,并将其重命名为“[武器名称] rocket”。其配置大多与常规武器相同,且相当容易理解。这是我RPG-7火箭筒的火箭弹数据:

在性能方面,我通常会将扩散度保持在较低水平,因为大多数火箭发射器都是单发设计,且装填时间较长。 榴弹发射器与火箭发射器非常相似。主要区别在于,榴弹发射器的弹丸飞行速度要慢得多。在这种情况下,可以通过提高重力倍数来增加榴弹的弹道弧度。我发现制作榴弹最简单的方法就是直接使用火箭预制弹丸。你可以根据需要保留烟雾尾迹,或者在检视面板中关闭其渲染器来将其禁用。 最后一种爆炸武器是反器材步枪。这类步枪发射大口径穿甲弹或爆炸弹。制作其弹丸最简单的方法是复制“加特林曳光弹”预制体,然后根据自己的喜好重新配置。瞄准镜与瞄准具 你很可能想为武器添加某种光学瞄准装置。光学瞄准装置主要有三种基本类型:低倍率、中倍率和高倍率。下面我将相对详细地介绍每种类型的创建和配置方法。 低倍率瞄准镜: 这类瞄准镜包括红点瞄准镜、全息瞄准镜、部分热成像瞄准镜以及其他类似的瞄准装置。大多数低倍率瞄准镜的倍率为0至2倍。它们通常用于长枪、冲锋枪以及部分手枪。 创建瞄准镜的第一步是进行建模。建模过程与武器建模类似。在本示例中,我将使用一款基于知名的EOTech Model 522的瞄准镜。 需要特别注意的一点是,要添加一个非常薄的物体,使其占据瞄准镜的整个内部空间,具体如下:

对于内部为圆形的瞄准镜,圆柱形物体可能更合适。此处示例仿照俄罗斯Kobra瞄准镜制作。

将此对象指定给名为【[瞄准镜名称] glass】的材质。颜色可以任意选择,因为后续会在Unity中进行更改。我个人为了便于故障排查,会使用亮粉色。 在将瞄准镜添加到武器时,通常最简单的方法是直接将其合并到武器网格中,不过你也可以在Unity中通过导入.blend文件并将其拖入武器预制件来添加。后一种方法更耗时且更容易出错,因此我将演示前一种方法。 将瞄准镜正确添加到武器对象后,如果你制作了自定义动画,请确保已将其添加到相应的顶点组。运行动画,检查是否与手臂发生穿模,或网格部分移动异常。如果一切正常,请保存文件并打开Unity,在层级面板中找到你的武器。在本示例中,我们将重点介绍我的ARC-170 PDW,因为它已使用全息瞄准镜。再次在Unity中运行动画,确保所有内容都已正确更新。 在项目选项卡中,找到名为“[瞄准镜名称] glass”的材质并点击它。在检视面板中,将着色器更改为HUD/portal。对于 tint color,请确保“A”值约为50%。你选择的颜色会给瞄准镜带来轻微的色调。我个人会使用浅灰色或蓝色。请注意,颜色过深在低光环境下会难以看清,而颜色过浅则会使其几乎不可见。进入播放模式以确保其正常工作。

完成所有设置后,在层级面板中展开AR-15预制体,复制名为“sight”的对象,将其拖入你的武器并命名为【瞄准镜名称】准星。然后,将其拖入包含瞄准镜的对象中。

进入游戏模式后,你可能会看到类似这样的画面:

这很容易解决。在场景模式中,仔细调整【[瞄准镜名称]准星】对象的位置。在播放模式中反复测试,直到准星对齐。调整比例至合适大小。可以使用游戏截图或真实图片作为比例参考。 你可以选择更适合你瞄准镜的不同准星形状。要执行此操作,在检查器中展开瞄准镜的材质。点击标记为“Holo Sight”的元素0。复制该材质并将其重命名为【[瞄准镜名称]准星】。在本示例中,我将其更改为简单的红点。 在你选择的照片编辑软件中,在黑色背景上创建你想要的准星形状的白色轮廓。尽可能保存为.psd格式。如果你的软件不允许保存为。psd格式的话,网上有免费的文件转换器可用。完成新准星后,将文件保存为“[准星名称] reticle.psd”。然后将其导入Unity的资源>材质>纹理>特效文件夹中。

在检查器中,请确保你的文件具有以下属性:

在项目选项卡中找到之前创建的素材。在检视器中,点击纹理旁边的图像,将其更改为你创建的纹理。根据个人喜好调整色调颜色。调整“A”滑块可改变准星的强度。当数值为255时,准星大致为不透明状态;当数值为0时,准星将完全不可见。我通常使用200-210左右的数值。

中倍率瞄准镜: 中倍率瞄准镜通常装配在战斗步枪、轻机枪上,偶尔也会用于狙击步枪。其倍率一般在3-6倍之间,常见型号包括ACOG系列、M145以及PSO-1。在游戏中,这类瞄准镜通常不会像传统瞄准镜那样显示黑色的周边视野。 对于双渲染技术,其建模流程与之前所有的建模阶段大致相同。 制作中倍率瞄准镜有两种方法:一是遵循低倍率瞄准镜的制作流程,只需降低瞄准视野;二是采用双渲染技术。下文将提供双渲染技术的详细教程。Verrater的M200和M14是双渲染技术应用的优秀范例。 高倍率瞄准镜: 高倍率瞄准镜几乎都装配在狙击步枪或精确射手步枪上,其倍率通常超过8倍。它们是经典的狙击镜类型。 与中倍率瞄准镜一样,高倍率瞄准镜有两种创建方法:双重渲染和瞄准镜对象。 当然,无论采用哪种方法,你都需要对瞄准镜进行建模和安装。按照处理其他所有模型的相同步骤操作即可。 双重渲染的步骤应与中倍率光学瞄准镜的演示完全相同,只是相机的视野会更小。 我在Unity配置概述中已简要讨论过瞄准镜对象。这个过程最好通过以下两个教程来解释,它们展示了不同的方法。我在早期的Nifty Fifty模组中使用了后一个教程,效果尚可。瞄准镜与瞄准具:双重渲染 首先,特别感谢{442}Ryuu Turner指导我使用此方法,该方法非常简单且高效。 步骤1:建模 和往常一样,我们必须先对瞄准镜进行建模。这可以很容易地在你已制作的瞄准镜上完成。本示例将使用Elcan Specter(埃尔肯幽灵)瞄准镜,因为它涵盖了双重渲染的所有方面。在下图中,为便于查看,已将侧面切除。

蓝色部分所示为光学瞄具的玻璃镜片。只有在使用如前文所述红点瞄具中的PSD分划板时才需要此镜片,但出于美观考虑,您也可以选择保留它。其后方绿色部分为分划板,仅适用于带有物理分划板的光学瞄具,例如狙击镜和部分中倍率瞄具。最后,红色部分为双渲染镜片,这是用于显示双渲染效果的表面。它必须是与瞄具其他部分分离的独立物体,且必须为平板形状。此外,它应作为子物体链接到瞄具主体,并将其原点设置在质心位置(可通过按下Shift+Ctrl+Alt+C组合键并选择“质心”来完成。表面或体积类型均可满足需求)。最后,你必须对双渲染镜头对象执行UV展开操作。在编辑模式下,按下“U”键并选择“智能UV投射”。保持弹出的选项框中的设置为默认值,然后点击确定。虽然不会有明显变化,但该操作已完成。

步骤2:Unity: 完成上述操作并在武器模型上设置好瞄具后,打开Unity。在项目中,依次展开“materials>textures>effects”,创建一个新的渲染纹理,并将其重命名为“Dual Render Texture”以便查找。此操作只需执行一次。

在检查器中为纹理设置以下参数。尺寸决定分辨率。500x500 对于大多数用途来说已经足够,但更高的尺寸会提供更好的图像质量,不过会给电脑带来额外的性能压力。

接下来,在models>weapons>materials目录下,创建一个新材质,并将其命名为“双重渲染镜头”。将着色器更改为“Unlit/Texture”,然后在检视面板中,在纹理框中选择双重渲染纹理作为目标纹理。此操作同样只需执行一次。

将武器中双渲染透镜的材质更改为【双渲染透镜】材质。

现在,在你的层级结构中添加一个相机。重要的是,相机不应作为武器对象的子物体,因为这会导致问题。它应该与武器对象、骨架和手部对象处于同一层级。 在检视器中为相机设置以下参数: 1. 确保近裁剪平面设置为较低的值,以防止瞄准镜看穿墙壁。 2. 相机的视野将决定缩放程度,你需要根据自己的偏好和用途进行调整。 3. 同时选择【双重渲染纹理】作为目标纹理。

在场景中,移动镜头直至目标靶心完全居中,就像这样:

It may help to lower the camera's FoV to 1 for this. Now test your weapon. If the rendered target is angled, rotate the lens in blender about the y axis. do this in edit mode to avoid animation issues. If you wish to add a .psd reticle as was discussed earlier, follow the same steps as there. Again, a huge thanks to {442} Ryuu Turner for helping me with this process. Weapon balance Though Ravenfield is, and is to remain a single-player game, weapon balance is still a factor. For one, an OP weapon in the hands of dozens of bots may prove annoying to the player. Additionally, the majority of players prefer a balanced weapon regardless. Often related to balance is realism. Statistics like magazine size, muzzle velocity, rate of fire, and effective range are all easily found for most weapons. Due to the physics and engineering of fire arms, these factors tend to have a balance. Additionally, understand a weapon's role. Most popular FPS games follow the same formula of weapon roles, which is generally appropriate. Understanding a role makes balancing accuracy easier. LMGs and ISWs are not generally very accurate under sustained fire, while sniper rifles are incredibly accurate with a very low rate of fire. One benefit of Ravenfield being single-player is the option to drop the conventional fire mode damage balance. Typically bolt and pump action weapons have greater range than their semi-automatic counter parts, and great still than fully automatic weapons. I personally balance weapons based on caliber. For those who do not have a technical interest in firearms, or are simply uninterested, understanding caliber can be odd. A 9mm bullet is often balanced below a 7.62mm bullet, logically the larger round is more powerful. For those who are unfamiliar with firearm calibers Standard pistol cartridges: Most modern handguns chamber in 9x19mm, .45 ACP, .40 caliber, or similar cartridges. Some more exotic and advanced pistols like the FN 57and QSZ-92 use ~6mm high velocity rounds, however I place these in the same damage tier. Most should kill in 2 or 3 shots (at least 34 damage a shot) and have a velocity around 300-400. High caliber handguns: The big boys of the pistol world, such as the Desert Eagle, or famous .44 Magnum fire exceptionally large rounds. Though they are typically lower in capacity, their rounds pack quite a punch. Among such rounds are the .375 Magnum, .44 Magnum, .50AE, and .500 S&W Magnum. Most should kill in 1 or 2 shots (at least 51 damage a shot) and have a velocity around 400-500. Standard rifle cartridges: Rifles in general fire smaller, faster rounds than pistols. Older rifles fired much larger rounds, but we will get to them later. The most common rifle rounds today are either in the 5mm (.22 caliber) range or 7.62mm (.30 caliber). Balancing rifle rounds is less clear than pistols due to the sheer number of rounds available. Most should kill in 2 or 3 shots (at least 34 damage a shot) and have a velocity of 800 and up to 1000. If your sniper or marksman rifle uses one of these calibers, 1 or 2 shot kills and a velocity of 1000 or greater will be appropriate. Larger rifle cartridges: Among these are the mighty .50 cal (12.7mm), .45-70 Gov, and any round over 8mm. These calibers are reserved for either anti material rifles, or weapons made before 1930. A one shot kill is generally recommended, and velocity greatly depends on era. Modern rounds such as .50 BMG will be close to 1000, while older rounds like .45-70 or muzzle loaded .50 calibers will have velocities less than 600. Shotguns: Shotguns are available in a multitude of calibers and shell types. Unlike other weapons, a lower gauge (term for shotgun calibers) is larger, so a 12 gauge is larger than 28 gauge. Most modern shotguns use 12 or 20 gauge, though 10 and 28 gauge are not uncommon either. Much less common are the rather small 67.62 gauge (.410) and the massive 4 bore. Beyond gauge is shell type. Buckshot, slugs, and birdshot are the most popular. More specialized rounds like breaching and dragons breath rounds do exist as well. There are different measures of buck and bird shot, however 00 buck is the most common and birdshot does not follow any set convention in FPS games. Slugs fire a single massive projectile. Gauge Birdshot #pellets (at 1.5 damage per pellet) Buckshot #pellets (at 18 damage per plellet) slug damage .410 25 3 35 28 gauge 55 6 75 20 gauge 70 7 100 12 gauge 85 8 100 10 gauge 100 9 100 Shotgun muzzle velocities are generally low, less than 500, but usually not under 300. Testing and upload Once you have set up your weapon, it is incredibly important to test it. I personally recommend making a private mod content that you use as a test range. You can play with your weapon before it goes public, allowing you to find major bugs. There will be things that slip through the cracks, but as long as you avoid mod or game breaking bugs, it will be safe to upload. Once you have determined you mod is ready for the public, make an attractive thumbnail. You want something that is flashy, but not overdone, that will catch the attention of other players. I personally choose a rendered image of the weapon, over a simple background with the mod's name, and mine. However, screenshots of the weapon in action, standalone rendered images, or even the UI icon will do. You can make this in the photo editing software of your choice, I personally use pixlr ( https://pixlr.com ). It's online, free, and has plenty of features.

回到Unity中,将整个武器拖入项目中的prefabs>weapons文件夹。

在资源>内容下,选择“example weapon content mod.prefab”并复制。将其重命名为【武器名称】。

打开它,在检查器中你会看到几个参数: 【大小】:此模组包含的武器数量 【名称】:武器在用户界面菜单中的显示名称 【预制体】:选择你刚制作的预制体 【槽位】:武器在背包中占据的槽位 【AI可使用】:切换AI是否默认使用该武器 【类型】:决定AI如何使用武器并添加部分功能。普通类型适用于常规武器;潜行类型使武器不会被AI听到且不会暴露你的地图位置;反装甲类型使AI用其攻击坦克和载具;修理类型使AI像使用扳手一样使用它;补给类型使AI像使用补给物品一样使用它。 【排序优先级】:决定武器在用户界面菜单中的显示位置高低,我发现这个设置相当不稳定。标签:武器所属的类别,通常只需添加一个,但如果是武器包或与其他已标记武器(如【星球大战】或【二战】类武器)相似,也可添加其他类别。

现在,终于要导出你的武器了。导出前,请打开Steam,这一点稍后很重要。在顶部菜单栏中,选择【Ravenfield工具】>【内容】>【内容模组完整性检查】。这将运行一次快速测试,并告知你所有内容是否正常运行。

希望你能看到这个

现在选择【乌鸦战场】工具>内容>导出内容模组。确保你的内容已被选中。如果一切顺利,你将看到此界面。

选择【Ravenfield】工具>发布至Steam创意工坊,此时应会弹出此窗口:

选择“创建新项目”。选择“更改图片”后,选择你之前创建的缩略图。 标题对于吸引玩家非常重要。我倾向于遵循《战地模拟器》的惯例,使用虚构名称,但你也可以选择使用武器的真实名称。如果你制作了一个包,请以主武器命名,例如我的ARC-170包,或者按统一要素命名,例如二战包或机枪包。尽量避免过长的标题。 描述的重要性稍低,但仍是吸引受众的有用工具。用你自己的个人风格和特色让你的模组脱颖而出。通常,简要描述武器及其特性。此外,模组中的额外图片将帮助玩家了解预期内容。这些可以在你进行游戏测试时在游戏内截取。我会使用: - 装备界面中的外观,帮助玩家识别它 - 腰射状态 - 瞄准画面 - 换弹动作,以展示模型和动画效果 这也取决于个人偏好。 在【所有已导出内容】列表中找到你的武器并点击它。此时它应该会出现在【待发布内容】中。最后,如果你希望你的武器对所有人可见,请点击【公开】。点击【发布】,你的模组就会被上传到创意工坊!

工坊、更新与维护 当模组发布后,我会立即发布三个置顶讨论:错误报告、建议以及未来需求。这能为玩家提供一个良好的反馈渠道,也方便你快速查看所有反馈。 一旦你的模组上架工坊,你很快就会收到各种评论,既有赞扬也有反馈。建设性的批评对于制作更好的模组、改进未来项目极为有帮助,而回应这些批评能树立积极响应的声誉。话虽如此,你不必盲从每一个收到的建议。这本质上是你的模组,如何运营完全由你决定。如果你选择加入相关社区,请在“模组反馈频道”发布你的模组链接和缩略图。你将获得额外的反馈和更多订阅者。 你可以根据自己的意愿持续更新模组,我个人会一直进行开发,直到感觉模组已经完成,或者大多数评论不再包含批评意见为止。 恭喜你完成了这份长篇指南的阅读。希望它对你有所帮助,现在你应该能够制作出你一直想要的那款出色武器了! 特别感谢 简要感谢所有在本指南以及整个模组制作过程中帮助过我的人。Ryuu Turner:指导我完成了双重渲染,并在实现动态重新加载方面提供了大量帮助。 Sui DEagle:多次解答我关于动画制作的问题,并协助处理音效相关事宜。 Megajoemama:在模组制作方面给予了我一般性的帮助,助力我的部分模组顺利起步。 Artecus:提供了大量极具价值的反馈,并为SCARB的重制版提供了帮助。 同时,还要感谢Discord上众多帮助我解决各类问题的人们。 补充资源与联系方式