【翻译+拓展】S&box关于武器的相关导入

复制源文件
我们不想在复制完后得到一些杂乱无章的名字,所以大家尽量花费一定时间对资产进行规则命名(这是一个好习惯)
例如我要移植一把smg,我可以命名为gmod_smg,而在起源引擎中分为世界模型(即其他人看到模型的样子,World Model)与视觉模型(即第一人称下的模型,View Model),你可以把世界模型名称改成w_gmod_smg,把视觉模型名称改成v_gmod_smg

动画模型会以它们所用于的模型名称开头,它们都是小写的

将武器所需的音频文件复制到sounds文件夹

对于贴图,如果你把他们的后缀写成_color, _normal, _rough, _ao, _trans 等规范写法,在导入的时候起源2会自动帮助你选择,有些情况下会方便不少,这也是fp一直以来的写法,很推荐养成这样的习惯。

同时再解释一下常见的各类贴图:1、颜色(color),即贴图本身。2、法线(normal),即法线贴图,用于表示贴图凸凹情况。3、粗糙度(roughness)用于表示贴图的粗糙程度。4、AO(AmbientOcclusion)为模型提供了非常精确和平滑的阴影,就好像给模型打了全局光照一样的效果。5、透明度(translucency)即trans,用于表示贴图的透明位置与程度。
World Model
接下来,让我们好好解释一下世界模型。世界模型是以第三人称/他人视角看到玩家手中的东西。这也是武器掉落或生成时出现在世界上的模型。
导入步骤:
1.打开ModelDoc
2.Add->Add Meshes
3.导入你的world model
4.点击编译
5.保存模型
完成以上步骤,你现在应该可以看到一个网格模型了。

为了节省性能,sbox有一个lod系统,lod0的情况下为高清模型,而lod1、lod2等依次增加逐渐模糊。关于lod的添加,可以参考https://wiki.facepunch.com/sbox/LODs。(这其实可以忽略,起源2会自动帮你创建lod)
材质
1.Add->Default Material Group
2.打开Material editor
3.File->new
4.保存你的贴图
5.将shader选择为complex(这个shader适用于大多数情况,最好不要使用simple shader)


6.把对应的贴图添加上去
7.返回modeldoc,添加你的贴图

8.编译,此时你应该得到了一个有贴图的模型

物理
1.Add->Physics Shape Capsule
2.选择Root Bone(如果没有就没有)
3.放置一些胶囊来填充你的武器

笔记:你也可以用棱柱体或球体,但你必须考虑当武器掉落时会发生什么。如果你使用棱柱体,它可能会在枪管末端保持平衡。
有一件事要记住,如果你只用一个胶囊,它掉落在地上只会像根黄瓜一样滚动。(233
附件
1.创建一个枪口闪光的附件出来,命名成muzzle
2.创建一个弹壳弹出的附件,将其命名为ejection_point

笔记:轴上的红色代表前进,记住FLU和RGB。前,左,上————红,绿,蓝
创建一个名为“root”的骨骼,并将其设置为mesh属性中的骨骼。然后,创建一个名为“hold_R”的附加骨(如果使用Citizen v1,则为“r_hold”)。这将与玩家模型结合起来,将其置于玩家手中,确保在属性编辑器中勾选“Do Not Discard”
笔记:不用担心怎么把这玩意放好。一旦你在游戏中加载了模型,你就可以在ModelDoc中处理它,这些变化将被热加载,做起来会很方便
Debiggerfying
如果你的枪很大,在RenderMeshList中选择你的模型并调整导入比例。根据经验,来自Rust的东西要么是0.1,要么是0.6。(关于导入比例可以参考我的视频BV1uW4y117Gj)
我们的玩家模型是一个答辩,所以你根本不可能让事情完美地排列起来,你要尽可能地做到最好
View Model
viewmodel的过程和worldmodel差不多,但你不用再添加物理了
1.设置手的材质
2.设置枪口附件(确保父骨在枪管上)
3.Add > Simple Animations
4.选择所有v_开头的动画模型
5.将空闲时的动画拖到顶部
动画
1.复制并粘贴v_*。来自另一个武器的vanmgrph
2.命名为v_[武器名].vanmgrph
3.单击图旁的放大镜并选择它
4.单击“Graph”后的“Edit”
5.点击右上方预览栏对面的齿轮(你可能需要把栏变宽)
6.在这里选择你的v_model
7.修复旧武器名称节点上的动画(v_oldweapon@idle等)
8.保存并关闭
定位(以下机翻)
当在游戏中定位时,视图模型应该已经定位在正确的位置,但由于焦点差异,你可能想要调整它。
1.在ModelDoc中添加ModelModifier_Translate
2.在游戏中观看时改变模型位置偏移

关于武器参数方面的教程,wiki并没有指明,应该会在以后出专门教程,之前是有一个的,不过被删了,我会第一时间跟进。
