车辆牌照(License plates)在JBeam中包含三个不同组件。车牌路径(plate_path)属性提供了用于生成车牌纹理的.Json文件。车牌的格式属性(plateFormat)决定了某种所使用的.Json文件的不同格式。最终生成材质的车牌模型,需要加入到 Flexibodies 代码段。
如下文字将会出现在关于JBeam根部分的表与字典中:
这是当前位于车牌设计(License plate design)槽位下的通用部件(内部名称:licenseplate_design_2_1).
游戏中车牌的属性只有在其 slotType 包含 'licenseplate_design' 属性时才能正常运行。
官方车牌使用的值为“30-15”和“52-11”,为游戏中所采用的车牌比例,分别对应美规车牌与欧规车牌。你可以自定义车牌的比例,此操作需要对.Json文件进行定义。
这部分内容存在于任意车辆的牌照部件中。由于“30-15”是游戏的默认格式,美规车牌通常无需额外设置,只有欧规车牌需要变为“52-11”格式。但受游戏加载优先性影响,部分情况会出现意外,我们需要手动将车牌设置为“30-15”格式。
如果游戏中slotType部分包含'_licenseplate' 字样,默认车牌格式将为30-15格式。
车牌的3D模型存放在通用文件夹中,可用于任意车辆。 在通用文件夹根目录的 empty.dae 文件里,有一款美规车牌变体,命名为 licenseplate ; 而多款欧规车牌变体,则可以在 driver_training 子文件夹下的 licenseplate-52-11.dae 文件中找到。 这些不同变体的曲率各不相同,弯曲半径存在差异(半径越小,车牌弯曲程度越大),因此能适配不同样式的保险杠。 目前可用的各类变体如下:
如果任意一种车牌变体都不适用于你的自定义保险杠,你可以通过编辑已存在的车牌制作自己的变体。只要不改变车牌的材质和UV贴图,车牌就能和原版车牌一样正常工作。
根据文档中的信息,制作车辆的车牌JBeam似乎很困难,但事实上非常简单。你所需要做的就是把车牌格式属性设置到正确的数值,在那之后把车牌网格添加到保险杠所在(或另一个车牌所连接到)的组中,通过flexbody的“pos”参数调整车牌的位置即可。牢记后车牌还需要用“rot”参数前后旋转180度(Z轴旋转180º)。特别留意,欧规车牌可能与美规车牌安装位置不同。
以下提供一些车辆车牌配置示例,展示如何使用不同的车牌模型变体以及车牌格式(licenseplateFormat)属性。
"autobello_licenseplate_F": {
"information":{
"authors":"BeamNG",
"name":"Front License Plate",
"value":0,
},
"slotType" : "autobello_licenseplate_F",
"flexbodies": [
["mesh", "[group]:", "nonFlexMaterials"],
["licenseplate", ["bumper_F"],[],{"pos":{"x":0.0, "y":-1.69, "z":0.345}, "rot":{"x":0, "y":0, "z":0}, "scale":{"x":1, "y":1, "z":1}}],
],
},
"autobello_licenseplate_F_EU": {
"information":{
"authors":"BeamNG",
"name":"Front EU License Plate",
"value":0,
},
"slotType" : "autobello_licenseplate_F",
"licenseplateFormat": "52-11",
"flexbodies": [
["mesh", "[group]:", "nonFlexMaterials"],
["licenseplate-52-11-r2", ["bumper_F"],[],{"pos":{"x":0.0, "y":-1.690, "z":0.370}, "rot":{"x":5, "y":0, "z":0}, "scale":{"x":1, "y":1, "z":1}}],
],
},
"autobello_licenseplate_F_empty": {
"information":{
"authors":"BeamNG",
"name":"Front License Plate",
"value":0,
},
"slotType" : "autobello_bumper_F",
"licenseplateFormat": "30-15",
"flexbodies": [
["mesh", "[group]:", "nonFlexMaterials"],
["licenseplate", ["body"],[],{"pos":{"x":0.0, "y":-1.598, "z":0.355}, "rot":{"x":7, "y":0, "z":0}, "scale":{"x":1, "y":1, "z":1}}],
],
},
"autobello_licenseplate_F_EU_empty": {
"information":{
"authors":"BeamNG",
"name":"Front EU License Plate",
"value":0,
},
"slotType" : "autobello_bumper_F",
"licenseplateFormat": "52-11",
"flexbodies": [
["mesh", "[group]:", "nonFlexMaterials"],
["licenseplate-52-11-r4", ["body"],[],{"pos":{"x":0.0, "y":-1.60, "z":0.386}, "rot":{"x":10, "y":0, "z":0}, "scale":{"x":1, "y":1, "z":1}}],
],
},
"autobello_licenseplate_R_decklid": {
"information":{
"authors":"BeamNG",
"name":"Rear License Plate",
"value":0,
},
"slotType" : "autobello_licenseplate_R_decklid",
"flexbodies": [
["mesh", "[group]:", "nonFlexMaterials"],
["licenseplate", ["decklid"],[],{"pos":{"x":0.0, "y":1.69, "z":0.66}, "rot":{"x":28, "y":0, "z":180}, "scale":{"x":1, "y":1, "z":1}}],
],
},
"autobello_licenseplate_R_bumper": {
"information":{
"authors":"BeamNG",
"name":"Rear License Plate",
"value":0,
},
"slotType" : "autobello_licenseplate_R_bumper",
"flexbodies": [
["mesh", "[group]:", "nonFlexMaterials"],
["licenseplate", ["bumper_R"],[],{"pos":{"x":0.0, "y":1.835, "z":0.405}, "rot":{"x":0, "y":0, "z":180}, "scale":{"x":1, "y":1, "z":1}}],
],
},
"autobello_licenseplate_R_bumper_EU": {
"information":{
"authors":"BeamNG",
"name":"Rear EU License Plate",
"value":0,
},
"slotType" : "autobello_licenseplate_R_bumper",
"licenseplateFormat": "52-11",
"flexbodies": [
["mesh", "[group]:", "nonFlexMaterials"],
["licenseplate-52-11", ["bumper_R"],[],{"pos":{"x":0.0, "y":1.835, "z":0.405}, "rot":{"x":0, "y":0, "z":180}, "scale":{"x":1, "y":1, "z":1}}],
],
},
以下是在 licenseplate_design_2_1 插槽中,使用 licenseplate_path 属性的一个部件示例。
{
"license_plate_nz_1": {
"information":{
"authors":"BeamNG",
"name":"New Zealand Plate Design",
"value":50,
},
"slotType" : "licenseplate_design_2_1",
"licenseplate_path" : "vehicles/common/licenseplates/automation_test_track/licensePlate-default.json",
},
}
这篇文章对你有用吗?