这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
extend:prop [2023/10/12 09:56] – bibiboxs | extend:prop [2024/09/05 12:46] (当前版本) – bibiboxs | ||
---|---|---|---|
行 15: | 行 15: | ||
在沙盘引擎世界中,所有的【游戏道具\物品】全部基于抽象的概念,**实际上并没有任何默认作用**,**它们只是看起来像XXX的一个模型,通过API方式放到了角色手上**,开发者可根据实际游戏玩法需要,自行通过【自定义游戏道具+代码编写道具功能】设定它们应该有何实际操作。 | 在沙盘引擎世界中,所有的【游戏道具\物品】全部基于抽象的概念,**实际上并没有任何默认作用**,**它们只是看起来像XXX的一个模型,通过API方式放到了角色手上**,开发者可根据实际游戏玩法需要,自行通过【自定义游戏道具+代码编写道具功能】设定它们应该有何实际操作。 | ||
- | 想要将一个普通模型注册为**游戏道具**,需要开发者==找到`LocalMod\Store\Data\Prop`目录==,**新建或修改**有关【游戏道具】的Json配置文件,这其中可能包括`ID、模型、Flag、叠加数量、伤害、延迟时间、动画组`等数值设定,这将**直接影响到游戏道具的实际展现形式**。 | + | 想要将一个普通模型注册为**游戏道具**,需要开发者==找到`LocalMod\Store\Data\Prop`目录==,**新建或修改**有关【游戏道具】的Json配置文件,这其中可能包括==ID、模型、Flag、叠加数量、伤害、延迟时间、动画组==等数值设定,这将**直接影响到游戏道具的实际展现形式**。 |
> **注意:动物等特殊类型角色不会有任何道具拾取功能及效果,==道具功能主要用于人形角色(包括僵尸)==。** | > **注意:动物等特殊类型角色不会有任何道具拾取功能及效果,==道具功能主要用于人形角色(包括僵尸)==。** | ||
行 43: | 行 43: | ||
## 道具Json配置示例 | ## 道具Json配置示例 | ||
- | > 根据Key值顾名思义,对于部分基础属性(例如`Pos\Scale\Flags\Speed...`等属性),可以考虑省略部分配置,以使用引擎提供的默认值。 | + | > 物品的组成是非常抽象且具有扩展性的,一个物品由多个不同属性组合而成,最终实现的效果、属性、动作、声音也都不相同。 |
+ | > | ||
+ | > 根据Key值顾名思义,不同的属性在不同特性(`Flags`)下可能有不同含义,对于部分基础属性(例如`Pos\Scale\Flags\Speed...`等属性),可以考虑省略部分配置(忽略则使用引擎提供的默认值)。 | ||
> | > | ||
> **例如:`ID`固然是不能省略的,但`Speed`默认值是`1.0`,所以如果没有`Speed`需求,即使不填写也不会出错。** | > **例如:`ID`固然是不能省略的,但`Speed`默认值是`1.0`,所以如果没有`Speed`需求,即使不填写也不会出错。** | ||
行 50: | 行 52: | ||
```javascript | ```javascript | ||
- | // | ||
[ | [ | ||
- | { // | + | { |
- | " | + | " |
- | " | + | " |
- | " | + | " |
- | " | + | " |
- | " | + | " |
- | " | + | " |
- | " | + | " |
- | " | + | " |
- | " | + | " |
- | " | + | " |
- | " | + | " |
- | " | + | " |
- | " | + | " |
- | " | + | " |
+ | " | ||
+ | " | ||
" | " | ||
- | " | + | " |
- | " | + | " |
- | " | + | " |
}, | }, | ||
" | " | ||
- | " | + | " |
- | " | + | " |
- | " | + | " |
} | } | ||
}, | }, | ||
行 86: | 行 89: | ||
``` | ``` | ||
- | | Flag | 说明 | + | | 属性Key |
- | | ---- | ------------------------------------------------------------ | | + | | ------------------- | ------------------------------------------------------------ | ---------------------------------------- | |
- | | 0 | 默认(Normal) | + | | ID | 道具ID |
- | | 1 | 不可攻击(Unavailable) | + | | Model | 物品展示(拿在手中)的模型ID,基于模型管理机制 |
- | | 2 | 盾牌抵挡效果(Shield)< | + | | Pos | 模型本地坐标偏移(可空,默认中心) |
- | | 4 | 连续使用效果(Continue),否则是单次触发 | + | | Angle | 模型本地角度偏移(可空,默认无旋转) |
- | | 8 | 散射范围,目前主要用于表示**散弹类枪械**< | + | | Scale | 模型本地缩放偏移(可空,默认`1`) |
- | | 128 | 预制类型:枪械类 | + | | Color | 颜色属性(并非修改模型颜色,主要用于弹道、投掷弹道等颜色) |
+ | | Flags | **Flag特性类型,这将直接改变此物体的关键属性、效果、方式**< | ||
+ | | Multiple | ||
+ | | Damage | ||
+ | | DamageRange | ||
+ | | DamageShake | ||
+ | | Distance | ||
+ | | Direction | ||
+ | | Enum | 通用枚举\数值\索引属性 | ||
+ | | PreloadTime | ||
+ | | Speed | **物品每次Action时的动画速度,直接影响Action时间间隔(例如:枪械射速)**< | ||
+ | | MoveSpeedMultiplier | 手持物品时影响角色的移动速度(倍数) | ||
+ | | Audios[] | ||
+ | | Animations[] | ||
+ | |||
+ | |||
+ | | 特性Flag | 说明 | ||
+ | | -------- | ------------------------------------------------------------ | | ||
+ | | 0 | 默认(Normal) | ||
+ | | 1 | 不可攻击(Unavailable) | ||
+ | | 2 | 盾牌抵挡效果(Shield)< | ||
+ | | 4 | 连续使用效果(Continue),否则是单次触发 | ||
+ | | 8 | 散射范围,目前主要用于表示**散弹类枪械**< | ||
+ | | 16 | 三连发模式(Burst)< | ||
+ | | 64 | 行为时生成[Effect](scripting/ | ||
+ | | 128 | 预制类型:枪械类 | ||
+ | | 256 | 预制类型:投掷类(扔出XXX、投掷光线、弓、RPG、手榴弹等) | ||
+ | | 512 | 投掷后爆炸效果(必须同时搭配`256`使用) | ||
+ | | 1024 | 投掷后产生伤害(必须同时搭配`256`使用),伤害值与`Damage`有关 | | ||
+ | | 2048 | 投掷后产生烟雾(必须同时搭配`256`使用) | ||
+ | | 4096 | 投掷后产生闪光(必须同时搭配`256`使用) | ||
+ | | 8192 | 投掷后产生燃烧组(必须同时搭配`256`使用) | ||
| Direction | 说明 | | Direction | 说明 | ||
| --------- | -------------------------------------------------- | | | --------- | -------------------------------------------------- | | ||
- | | 0 | + | | 0(默认) |
| 1 | 角色正前方 | | 1 | 角色正前方 | ||
- | | 2(默认) | + | | 2 | 闲置时手持方向[0],行为时正前方[1] |
| 3 | 闲置时正前方[1],行为时手持方向[0] | | 3 | 闲置时正前方[1],行为时手持方向[0] | ||
- | |||
- | | Key | 说明 | ||
- | | ---------- | ------------------------------------------------------------ | | ||
- | | Animations | 包含关键动作组`Idle|Focus|Action`,采用`int`指向动作组ID(0=无动作)< | ||
行 206: | 行 236: | ||
针对游戏道具扩展部分的内容,经过沙盘引擎开发组的自我评估,**几乎很多扩展功能都可以通过上述内容实现**,具体取决于开发者**如何合理控制Json以及API的行为事件交互**。 | 针对游戏道具扩展部分的内容,经过沙盘引擎开发组的自我评估,**几乎很多扩展功能都可以通过上述内容实现**,具体取决于开发者**如何合理控制Json以及API的行为事件交互**。 | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||