沙盘引擎 (SEngine)

创意诞生沙盘世界,不止如此想象!

用户工具

站点工具


extend:vehicle

📚 差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
extend:vehicle [2023/05/10 22:49] bibiboxsextend:vehicle [2024/07/01 22:08] (当前版本) bibiboxs
行 3: 行 3:
 在《沙盘引擎》扩展中,载具扩展是多数玩法不可缺少的存在。 在《沙盘引擎》扩展中,载具扩展是多数玩法不可缺少的存在。
 引擎默认内置了许多常见的载具类型,并且全部基于`Json`配置文件存在,如果开发者需要增加外部载具或新增载具,则需要了解**载具扩展**说明。 引擎默认内置了许多常见的载具类型,并且全部基于`Json`配置文件存在,如果开发者需要增加外部载具或新增载具,则需要了解**载具扩展**说明。
 +
 +> **注意:在新版《沙盘引擎》中增加了[【实验工坊】](reference/workshop "【实验工坊】"),使用此功能可进行可视化编辑载具等对象,为自定义扩展提供更高效的方式。**
  
 ## 载具框架 ## 载具框架
-在世界中,每个【载具】都被认定为可驾驶、拥有操控性等实体,包括但不限于`二轮车、多轮车、船舶、飞机、直升飞机`这些基础类型,其他类型载具也应遵循以上类型进行扩展(如UFO可以用直升飞机的逻辑来制作,只不过模型是UFO)。 +在世界中,每个【载具】都被认定为可驾驶、拥有操控性等实体,包括但不限于**二轮车、多轮车、船舶、飞机、直升飞机**这些基础类型,其他类型载具也应遵循以上类型进行扩展(如UFO可以用直升飞机的逻辑\配置文件来制作,只不过看起来模型是UFO)。 
-==言简意赅,载具实际上就是`静态模型+绑定功能性载具脚本+其他扩展`组成的。==+ 
 +==言简意赅,载具实际上就是**静态模型+绑定功能性载具脚本+其他扩展**组成的。==
  
 ## 载具配置 ## 载具配置
 每个载具的配置文件都是独立的,一个配置文件代表一个载具,同时配置文件命名将直接关乎于**绑定给哪个载具**。 每个载具的配置文件都是独立的,一个配置文件代表一个载具,同时配置文件命名将直接关乎于**绑定给哪个载具**。
 > 例如:`10000_Car.json`表示给ID为10000的载具指定配置。 > 例如:`10000_Car.json`表示给ID为10000的载具指定配置。
-> 配置文件目录:`模组目录\Data\Vehicle`+**配置文件目录:`模组目录\Store\Data\Vehicle`**
  
 ### 配置Json解析 ### 配置Json解析
-以下内容为引擎默认载具【警车】的配置示例,如你所见,**警车模型+Json文件**组成了这台`可驾驶、外表为警车、可使用警报、性能声音等配置如下`的世界载具。+以下内容为引擎默认载具【警车`ID10`】的配置示例,如你所见,**警车模型+Json文件**组成了这台**可驾驶、外表为警车、可使用警报、性能声音等配置如下**的世界载具。
  
 基于Json的配置特性,以下部分内容如不需要可进行删除省略,同时每行配置信息均代表此载具的**某个配置**(如`Handling.Acceleration`代表加速度)。 基于Json的配置特性,以下部分内容如不需要可进行删除省略,同时每行配置信息均代表此载具的**某个配置**(如`Handling.Acceleration`代表加速度)。
 ```javascript ```javascript
 { {
- "Name": "Police", + "Name": "Police", //载具名称 
- "Model": 410, + "Model": 410, //载具模型 
- "Type": 1, + "Type": 1, //载具类型 
- "Scale": 0.8, + "Scale": 0.8, //整体缩放 
- "Collision": {"x": 2.0, "y": 2.0, "z": 6.0}, + "Collision": {"x": 2.6, "y": 2.0, "z": 6.0}, //碰撞盒尺寸 
- "CollisionCenter": {"x": 0.0, "y": 0.0, "z": 0.0},+ "CollisionCenter": {"x": 0.0, "y": 0.0, "z": 0.0}, //碰撞盒偏移
  "Handling": {  "Handling": {
- "Mass": 1500.0, + "Mass": 1500.0, //重量 
- "CenterOfMass": {"x": 0.0, "y": -0.3, "z": 0.0}, + "CenterOfMass": {"x": 0.0, "y": -0.3, "z": 0.0}, //重心 
- "MaxSpeed": 180.0, + "MaxSpeed": 180.0, //最大速度 
- "OilRate": 80.0, + "MaxHealth": 1000, //最大(默认)血量 
- "MaxOil": 1000.0, + "DamageMultiple": 1.0, //伤害叠加 
- "MaxHealth": 1000, + "Immunnity": 0, //默认免疫Flag 
- "DamageMultiple": 1.0, + "Acceleration": 100.0, //加速度 
- "Immunnity": 0, + "Deceleration": 100.0, //减速度 
- "Acceleration": 100.0, + "Sensitivity": 3.0, //灵活度 
- "Deceleration": 100.0, + "SteeringLock": 35.0 //转向最大角度
- "VerticalStrength": 0.0, +
- "Sensitivity": 3.0, +
- "SteeringLock": 35.0+
- "SteeringSpeed": 0.0 +
- }, +
- "Audio":+
- "Collision": 110, +
- "Engine": 250, +
- "Wake": 200, +
- "Brake": 430, +
- "Horn": 350, +
- "HornPitch": 1.0, +
- "Door": 420, +
- "Alarm": 400+
  },  },
  "Extend": {  "Extend": {
- "AllowShoot": false+ "CustomColors": [] //自定义颜色节点(将指定颜色部分替换为`Vehicle.Color`) 
- "Colors": []+ }, 
 + "Audios": { 
 + "Collision": 150, //碰撞声音 
 + "Engine": 255, //引擎声音(持续) 
 + "Wake": 203, //启动声音 
 + "Brake": 430, //刹车声音 
 + "Horn": 350, //喇叭声音 
 + "HornPitch": 1.0, //喇叭声调 
 + "Door": 420, //进出声音 
 + "Alarm": 400 //特殊功能声音(如警笛)
  },  },
- "Seats":+ "Seats"://乘客配置数组(Vector) 
- {"Pos": {"x": -0.75, "y": -0.3, "z": 0.15}}, + {"Pos": {"x": -0.55, "y": -0.1, "z": 0.4}}, 
- {"Pos": {"x": 0.75, "y": -0.3, "z": 0.15}}, + {"Pos": {"x": 0.55, "y": -0.1, "z": 0.4}}, 
- {"Pos": {"x": -0.75, "y": -0.3, "z": -0.15}}, + {"Pos": {"x": -0.55, "y": -0.1, "z": -0.6}}, 
- {"Pos": {"x": 0.75, "y": -0.3, "z": -0.15}}+ {"Pos": {"x": 0.55, "y": -0.1, "z": -0.6}}
  ],  ],
- "Wheels": [+ "Wheels"://轮胎配置数组
  {  {
- "Model": 300,+ "Model": 550,
  "Steering": true,  "Steering": true,
  "Pos": {"x": -1.2, "y": 0.0, "z": 2.2},  "Pos": {"x": -1.2, "y": 0.0, "z": 2.2},
行 70: 行 68:
  },  },
  {  {
- "Model": 300,+ "Model": 550,
  "Steering": true,  "Steering": true,
  "Pos": {"x": 1.2, "y": 0.0, "z": 2.2},  "Pos": {"x": 1.2, "y": 0.0, "z": 2.2},
行 77: 行 75:
  },  },
  {  {
- "Model": 300,+ "Model": 550,
  "Steering": false,  "Steering": false,
- "Pos": {"x": -1.2, "y": 0.0, "z": -2.4},+ "Pos": {"x": -1.2, "y": 0.0, "z": -2.3},
  "Angle": {"x": 0.0, "y": 0.0, "z": 0.0},  "Angle": {"x": 0.0, "y": 0.0, "z": 0.0},
  "Scale": 1.0  "Scale": 1.0
  },  },
  {  {
- "Model": 300,+ "Model": 550,
  "Steering": false,  "Steering": false,
- "Pos": {"x": 1.2, "y": 0.0, "z": -2.4},+ "Pos": {"x": 1.2, "y": 0.0, "z": -2.3},
  "Angle": {"x": 0.0, "y": 180.0, "z": 0.0},  "Angle": {"x": 0.0, "y": 180.0, "z": 0.0},
  "Scale": 1.0  "Scale": 1.0
  }  }
  ],  ],
- "Additions": [+ "Additions"://附加属性,参考本文下方说明
  {  {
  "Type": 1,  "Type": 1,
- "Pos": {"x": 0, "y": 1.0, "z": 2.7},+ "Pos": {"x": 0, "y": 1.0, "z": 3},
  "Angle": {"x": 12.0, "y": 0.0, "z": 0.0},  "Angle": {"x": 12.0, "y": 0.0, "z": 0.0},
  "Color": {"r": 255, "g": 255, "b": 255},  "Color": {"r": 255, "g": 255, "b": 255},
 + "Switch": true,
  "Range": 100,  "Range": 100,
  "Intensity": 1.0  "Intensity": 1.0
行 120: 行 119:
  "Enum": 7,  "Enum": 7,
  "Pos": {"x": 0.4, "y": 0.5, "z": -3},  "Pos": {"x": 0.4, "y": 0.5, "z": -3},
- "Color": {"r": 70, "g": 70, "b": 70},+ "Color": {"r": 180, "g": 180, "b": 180},
  "Intensity": 3.0,  "Intensity": 3.0,
  "Range": 0.5,  "Range": 0.5,
行 146: 行 145:
  "Pos": {"x": -0.8, "y": 2.3, "z": -0.2},  "Pos": {"x": -0.8, "y": 2.3, "z": -0.2},
  "Color": {"r": 0, "g": 192, "b": 255},  "Color": {"r": 0, "g": 192, "b": 255},
- "Range": 18+ "Range": 18
- "Intensity": 1.0+
  }  }
  ]  ]
行 153: 行 151:
 ``` ```
  
-### 部分参数解释 +### 附加组件解释 
-==注意:由于扩展类型指向意义广泛,但公开属性是有限的,所以**不同类型的扩展可能有不同的属性含义**,具体效果可参考其他Json配置或顾名思义、经验尝试。==+==注意:由于扩展类型指向意义广泛,但公开属性是有限的,所以**不同类型的扩展可能有不同的属性含义**,具体效果可参考其他Json配置或顾名思义、通过经验尝试看看。== 
 + 
 +| AdditionType | 说明                                                         | 
 +| ------------ | ------------------------------------------------------------ | 
 +| 0            | `Light`(点光源,`Light == true`时生效)                     | 
 +| 1            | `SpotLight`(射灯,`Light == true`时生效)                   | 
 +| 2            | `HealthParticle`(血量粒子,根据损耗动态显示)               | 
 +| 3            | `EngineParticle`(引擎粒子,排气,`Engine == true`后生效)   | 
 +| 4            | `Alarm`(闪烁警报,灯光,`Alarm == true`时生效)             | 
 +| 5            | `PowerLensFlare`(光晕,刹车灯、后退及刹车时生效)           | 
 +| 6            | `LensFlare`(光晕,一直生效)                                | 
 +| 7            | `Collider`(碰撞盒,用于补充细节碰撞(例如:推土机前面的推铲)) | 
 +| 8            | `ChildModel`(子模型对象)                                   | 
 +| 10           | `Turret`(发射炮台)                                         | 
 +| 11           | `Propeller`(选装螺旋桨,**仅限飞行类载具**)                | 
 + 
  
-|  AdditionComType |  说明 | 
-| ------------ | ------------ | 
-| 0  |  Light(点光源) | 
-| 1  |  SpotLight(射灯) | 
-| 2  |  HealthParticle(血量粒子,损耗) | 
-| 3  |  EngineParticle(引擎粒子,排气) | 
-| 4  |  Alarm(闪烁警报,灯光) | 
-| 5  |  LensFlare(光晕,刹车灯) | 
  
  
 </markdown> </markdown>
extend/vehicle.1683730140.txt.gz · 最后更改: 2023/05/10 22:49 由 bibiboxs