feat:上传mcguide-开发指南部份
92
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/10-预设/1-实体预设.md
Normal file
@@ -0,0 +1,92 @@
|
||||
---
|
||||
front: https://nie.res.netease.com/r/pic/20210727/1e450bb1-ee50-4e6c-b614-7fbd6a00b4e7.png
|
||||
hard: 入门
|
||||
time: 5分钟
|
||||
---
|
||||
|
||||
|
||||
|
||||
# 实体预设
|
||||
|
||||
## 基础介绍
|
||||
|
||||
EntityPreset(实体预设)是一类绑定MC的某类实体的特殊预设,通过它可以很方便的使用零件进行一些实体相关逻辑的编程。
|
||||
|
||||
实体预设除了预设所具有的基本属性外,额外提供一个"关联实体ID"的属性,可将实体预设和某个identifier的实体绑定起来,如"猪"("minecraft:pig")。此时,下方会自动显示所关联的实体的json文件内容,但当关联的文件不在个人存档内时,编辑是无效的(如MC原生的资源)。
|
||||
|
||||

|
||||
|
||||
注意,在修改所关联实体的json文件内容后,若实际表现与显示属性不符,需要点击刷新所有属性按钮进行更新。或尝试重启编辑器。
|
||||
|
||||

|
||||
|
||||
此时可从资源管理器或预设库中拖到场景内进行实例化,就可以在地图上看到具体的实体了。
|
||||
|
||||

|
||||
|
||||
特别注意:实体预设绑定实体ID后,所生成的所有该ID的实体,均会同时绑定一个实体预设,具备预设所具有的所有属性。
|
||||
|
||||
当你使用新建文件向导创建实体预设的时候,会附带创建一个实体配置,你也可以先创建一个配置,再通过配置来创建与之绑定的实体预设。更多关于配置的信息请详见[配置](../../../15-自定义游戏内容/0-配置.md)。
|
||||
## 设置属性
|
||||
> 此部分内容在我的世界中国版2.1版本上线后才能在正式游戏环境生效。
|
||||
|
||||
上面介绍了实体预设的通用和实体(关联实体ID的json文件内容)两个属性栏,除此之外,我们还提供了数十个无法在json文件直接进行定义和修改的实体属性,如实体的重力因子和状态效果等,根据功能存放在多个属性栏中,如图所示:
|
||||
|
||||

|
||||
|
||||
> 设置实体属性的本质是`将之前在代码里调用API才能设置的属性挪到属性面板进行可视化编辑,并在实体初始化时根据属性面板的设置数据调用对应的接口并生效。`比如物理这一栏的重力因子属性,实际是调用实体对象EntityObject下的SetGravity接口。
|
||||
|
||||
实体目前具有以下几种设置属性:
|
||||
|
||||
在我的世界中,实体是一个范围非常广的定义,不管是掉落物,生物还是抛射物都可以称之为实体,但下面列出的某些属性,实际上只对部分类型的实体有效,例如,生命值实际上只针对生物有效,对火球、弓箭等实体设置生命值没有意义,也不会生效,请开发者在使用下列属性时,注意甄别自己所选择的实体是否支持设置该属性。
|
||||
|
||||
### 实体属性:同时设置实体的几种基础属性的当前值和最大值。
|
||||
|
||||
| 属性 | 描述 |
|
||||
| ------------ | ------------------------------------------------------------ |
|
||||
| 生命值 | 等同于实体对象EntityObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/实体对象EntityObject.html#sethealth" rel="noopenner">SetHealth</a>和<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/实体对象EntityObject.html#setmaxhealth" rel="noopenner">SetMaxHealth</a>接口,设置实体的最大和当前生命值。 |
|
||||
| 速度 | 等同于实体对象EntityObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/实体对象EntityObject.html#setspeed" rel="noopenner">SetSpeed</a>和<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/实体对象EntityObject.html#setmaxspeed" rel="noopenner">SetMaxSpeed</a>接口,设置实体的最大和当前速度。 |
|
||||
| 攻击力 | 等同于实体对象EntityObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/实体对象EntityObject.html#setdamage" rel="noopenner">SetDamage</a>和<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/实体对象EntityObject.html#setmaxdamage" rel="noopenner">SetMaxDamage</a>接口,设置实体的最大和当前攻击力。 |
|
||||
| 岩浆里的移速 | 等同于实体对象EntityObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/实体对象EntityObject.html#setlavaspeed" rel="noopenner">SetLavaSpeed</a>和<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/实体对象EntityObject.html#setmaxlavaspeed" rel="noopenner">SetMaxLavaSpeed</a>接口,设置实体在岩浆里的最大和当前移速。 |
|
||||
|
||||
> 注意:此处的设置属性会先设置最大值,再设置当前值,如给自定义牛设置生命值为10,则其最大生命值为10,当前生命值也为10。
|
||||
|
||||
### 物理:设置实体物理相关属性值,如重力因子、是否可推动等
|
||||
|
||||
| 属性 | 描述 |
|
||||
| ---------- | ------------------------------------------------------------ |
|
||||
| 重力因子 | 等同于实体对象EntityObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/实体对象EntityObject.html#setgravity" rel="noopenner"> SetGravity</a>接口,设置实体的初始重力因子,该值为负数。 |
|
||||
| 是否可推动 | 等同于实体对象EntityObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/实体对象EntityObject.html#setpushable" rel="noopenner">SetPushable</a>接口,设置实体是否可被推动,默认为True。 |
|
||||
|
||||
### 氧气:设置实体氧气相关的属性值,如氧气储备值和恢复氧气时间等
|
||||
|
||||
| 属性 | 描述 |
|
||||
| ---------------- | ------------------------------------------------------------ |
|
||||
| 氧气储备值 | 等同于实体对象EntityObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/实体对象EntityObject.html#setcurrentairsupply" rel="noopenner">SetCurrentAirSupply</a>和<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/实体对象EntityObject.html#setmaxairsupply" rel="noopenner">SetMaxAirSupply</a>接口,同时设置实体的氧气储备值的当前值和最大值。 |
|
||||
| 恢复最大氧气时间 | 等同于实体对象EntityObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/实体对象EntityObject.html#setrecovertotalairsupplytime" rel="noopenner">SetRecoverTotalAirSupplyTime</a>接口,设置实体恢复最大氧气量的时间,单位秒。 |
|
||||
|
||||
### 状态与物品:设置实体的初始状态效果和物品
|
||||
|
||||
| 属性 | 描述 |
|
||||
| ------------ | ------------------------------------------------------------ |
|
||||
| 添加状态效果 | 等同于实体对象EntityObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/实体对象EntityObject.html#addeffect" rel="noopenner">AddEffect</a>接口,为实体添加指定的初始的状态效果。 |
|
||||
| 生物物品 | 等同于实体对象EntityObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/实体对象EntityObject.html#setitem" rel="noopenner">SetItem</a>接口,为实体设置初始的物品。 |
|
||||
|
||||
|
||||
|
||||
### 行为属性:设置实体的行为逻辑属性值,如是否屏蔽原始AI,是否免疫伤害等
|
||||
|
||||
| 属性 | 描述 |
|
||||
| ------------ | ------------------------------------------------------------ |
|
||||
| 是否免疫伤害 | 等同于实体对象EntityObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/实体对象EntityObject.html#setimmunedamage" rel="noopenner">SetImmuneDamage</a>接口,设置实体是否免疫伤害,该属性存档。 |
|
||||
| 保留原生AI | 等同于实体对象EntityObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/实体对象EntityObject.html#setblockcontrolai" rel="noopenner">SetBlockControlAi</a>接口,设置是否保留实体原生AI,屏蔽后实体无法移动,不受重力影响不会被推动。 |
|
||||
| 是否持久化 | 等同于实体对象EntityObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/实体对象EntityObject.html#setpersistence" rel="noopenner">SetPersistence</a>接口,设置实体是否会在卸载区块和退出游戏时存档,默认为True。 |
|
||||
|
||||
|
||||
|
||||
### 渲染设置:设置实体的渲染与显示属性,如是否渲染实体等
|
||||
|
||||
| 属性 | 描述 |
|
||||
| ------------ | ------------------------------------------------------------ |
|
||||
| 关闭实体渲染 | 等同于实体对象EntityObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/实体对象EntityObject.html#setnotrender" rel="noopenner">SetNotRender</a>接口,设置是否关闭实体渲染,默认为False。 |
|
||||
|
||||
91
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/10-预设/2-玩家预设.md
Normal file
@@ -0,0 +1,91 @@
|
||||
---
|
||||
front: https://nie.res.netease.com/r/pic/20210727/1e450bb1-ee50-4e6c-b614-7fbd6a00b4e7.png
|
||||
hard: 入门
|
||||
time: 5分钟
|
||||
---
|
||||
|
||||
|
||||
# 玩家预设
|
||||
|
||||
## 基础介绍
|
||||
|
||||
PlayerPreset(玩家预设)是一类特殊的实体预设,玩家预设与玩家实体进行绑定。
|
||||
|
||||
每个AddOn(编辑器作品)只允许创建一个玩家预设。
|
||||
|
||||
在预设编辑器,通过菜单栏=>创建预设=>玩家预设我们可以创建一个玩家预设。
|
||||
|
||||

|
||||
|
||||
如果玩家预设选项已经灰化,说明你的组件内已经存在一个玩家预设。
|
||||
|
||||
通过玩家预设,我们可以给玩家赋予一些炫酷的功能。
|
||||
|
||||
> 在编辑器保存时,玩家预设的实例不会保存在预设存档中,如果需要修改,请在预设编辑器中直接修改玩家预设
|
||||
|
||||
## 挂接特效
|
||||
|
||||
我们把刚才创建的变换动画特效挂接到玩家预设身上,回到关卡编辑器,将变换动画零件的关键帧属性按下图进行修改。
|
||||
|
||||

|
||||
|
||||
修改过后,变换动画零件的效果变成了特效在前两秒扩大到原来的5倍,后两秒恢复为原来的大小。
|
||||
|
||||
点击运行,进入游戏后,切换视角可以看到,这个特效已经挂接在玩家身上,并呈现不断缩放的效果。
|
||||
|
||||

|
||||
|
||||
## 设置属性
|
||||
> 此部分内容在我的世界中国版2.1版本上线后才能在正式游戏环境生效。
|
||||
|
||||
玩家预设除了通用的属性之外,还提供了多种属性的设置,这些属性会在玩家被初始化时设置生效,如设置玩家的经验等级、饥饿度与健康值等等,根据功能存放在多个属性栏中,如图所示:
|
||||
|
||||

|
||||
|
||||
> 设置玩家属性的本质是`将之前在代码里调用API才能设置的属性挪到属性面板进行可视化编辑,并在玩家初始化时根据属性面板的设置数据调用对应的接口并生效。`比如经验等级这一分栏内的增加等级属性,实际是调用预设的AddPlayerLevel接口。
|
||||
|
||||
玩家预设目前具有以下几种设置属性:
|
||||
### 经验等级:设置玩家的等级相关属性
|
||||
|
||||
| 属性 | 描述 |
|
||||
| ------------ | ------------------------------------------------------------ |
|
||||
| 增加玩家等级 | 等同于玩家对象PlayerObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/玩家对象PlayerObject.html#addlevel" rel="noopenner">AddLevel</a>接口,修改玩家等级,可为负数。|
|
||||
|
||||
### 饥饿与健康:设置玩家的饥饿度和健康值相关属性
|
||||
|
||||
| 属性 | 描述 |
|
||||
| ------------ | ------------------------------------------------------------ |
|
||||
| 健康临界值 | 等同于玩家对象PlayerObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/玩家对象PlayerObject.html#sethealthlevel" rel="noopenner">SetHealthLevel</a>接口,设置设置玩家健康临界值,当饥饿值大于等于健康临界值时会自动恢复血量,开启饥饿值且开启自然恢复时有效,原版默认值为18 |
|
||||
| 饥饿度 | 等同于玩家对象PlayerObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/玩家对象PlayerObject.html#sethunger" rel="noopenner">SetHunger</a>接口,设置玩家饥饿度 |
|
||||
| 饥饿临界值 | 等同于玩家对象PlayerObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/玩家对象PlayerObject.html#setstarvelevel" rel="noopenner">SetStarveLevel</a>接口,设置玩家饥饿临界值,当饥饿值小于饥饿临界值时会自动扣除血量,开启饥饿值且开启饥饿掉血时有效。原版默认值为1 |
|
||||
| 开启饥饿掉血 | 等同于玩家对象PlayerObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/玩家对象PlayerObject.html#setnaturalstarve" rel="noopenner">SetNaturalStarve</a>接口,设置是否开启玩家饥饿掉血,当饥饿值小于饥饿临界值时会自动扣除血量,开启饥饿值且开启饥饿掉血时有效.原版默认开启 |
|
||||
| 饥饿掉血速度 | 等同于玩家对象PlayerObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/玩家对象PlayerObject.html#setstarvetick" rel="noopenner">SetStarveTick</a>接口,设置玩家饥饿掉血速度,当饥饿值小于饥饿临界值时会自动扣除血量,开启饥饿值且开启饥饿掉血时有效 |
|
||||
| 开启自然恢复 | 等同于玩家对象PlayerObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/玩家对象PlayerObject.html#setnaturalregen" rel="noopenner">SetNaturalRegen</a>接口,设置是否开启玩家自然恢复 |
|
||||
| 自然恢复速度 | 等同于玩家对象PlayerObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/玩家对象PlayerObject.html#sethealthtick" rel="noopenner">SetHealthTick</a>接口,设置玩家自然恢复速度 |
|
||||
| 最大消耗度 | 等同于玩家对象PlayerObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/玩家对象PlayerObject.html#setmaxexhaustionvalue" rel="noopenner">SetMaxExhaustionValue</a>接口,设置玩家最大消耗度(maxExhaustion) |
|
||||
|
||||
|
||||
|
||||
### 运动:设置玩家运动相关的属性
|
||||
|
||||
| 属性 | 描述 |
|
||||
| ------------ | ------------------------------------------------------------ |
|
||||
| 最大台阶高度 | 等同于玩家对象PlayerObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/玩家对象PlayerObject.html#setstepheight" rel="noopenner">SetStepHeight</a>接口,设置玩家前进非跳跃状态下能上的最大台阶高度, 默认值为0.5625,1的话表示能上一个台阶。 |
|
||||
| 玩家飞行状态 | 等同于玩家对象PlayerObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/玩家对象PlayerObject.html#changeflystate" rel="noopenner">ChangeFlyState</a>接口,勾选则给予飞行能力并进入飞行状态,不勾选则进入非飞行状态。 |
|
||||
| 是否可跳跃 | 等同于玩家对象PlayerObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/玩家对象PlayerObject.html#setjumpable" rel="noopenner">SetJumpable</a>接口,设置玩家是否可跳跃 |
|
||||
| 是否可移动 | 等同于玩家对象PlayerObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/玩家对象PlayerObject.html#setmovable" rel="noopenner">SetMovable</a>接口,设置玩家是否可移动 |
|
||||
|
||||
### 行为设置:设置玩家行为逻辑相关的属性
|
||||
|
||||
| 属性 | 描述 |
|
||||
| -------------- | ------------------------------------------------------------ |
|
||||
| 死亡不掉落物品 | 等同于玩家对象PlayerObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/玩家对象PlayerObject.html#enablekeepinventory" rel="noopenner">EnableKeepInventory</a>接口,设置玩家死亡不掉落物品 |
|
||||
| 拾取物品范围 | 等同于玩家对象PlayerObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/玩家对象PlayerObject.html#setpickuparea" rel="noopenner">SetPickUpArea</a>接口,设置玩家的拾取物品范围 |
|
||||
|
||||
|
||||
|
||||
### 渲染设置
|
||||
|
||||
| 属性 | 描述 |
|
||||
| -------------- | ------------------------------------------------------------ |
|
||||
| 原版自定义皮肤 | 等同于玩家对象PlayerObject下的<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/玩家对象PlayerObject.html#setskin" rel="noopenner">SetSkin</a>接口,更换玩家原版模型的自定义皮肤,会覆盖原有皮肤,但会被骨骼模型覆盖。 |
|
||||
26
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/10-预设/3-方块预设.md
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
front: https://nie.res.netease.com/r/pic/20210727/1e450bb1-ee50-4e6c-b614-7fbd6a00b4e7.png
|
||||
hard: 入门
|
||||
time: 5分钟
|
||||
---
|
||||
|
||||
# 方块预设
|
||||
|
||||
BlockPreset(方块预设)可与某个位置的方块绑定起来,然后通过方块预设进行一些与方块相关的编程,如利用预设的生命周期在特定时刻摧毁指定位置的方块等,一般需要配合一个合适的零件实现。
|
||||
|
||||
在编辑器中新建方块预设,选中该预设文件对其进行编辑时,除了预设的公共属性外,可额外指定方块预设所绑定的方块的类型,支持原生的方块类型与存档内的自定义方块两类。与实体预设不同的是:若方块预设选择"泥土"进行绑定,也**只会**绑定到使用此方块预设生成的那些泥土方块上,而**不会**绑定到直接生成或已存在地图上的那些泥土方块上。
|
||||
|
||||

|
||||
|
||||
注意:如果自定义方块内容有更新,需要在自定义方块属性中点击刷新所有属性。对自定义方块的编辑可参考[配置](../../../15-自定义游戏内容/0-配置.md)。
|
||||
|
||||

|
||||
|
||||
设置好方块预设的属性后,即可将方块预设拖拽至场景中达到在指定位置放置特定方块的目的了。这样一来,在启动开发包进行测试时,就会发现对应的位置放置了一个指定的方块。
|
||||
|
||||

|
||||
|
||||
如果需要添加一些自定义的逻辑,可制作零件,或使用编辑器内置的一些零件,将其挂接到方块预设预设上即可。
|
||||
|
||||

|
||||
|
||||
38
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/10-预设/4-特效预设.md
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
front: https://nie.res.netease.com/r/pic/20210727/1e450bb1-ee50-4e6c-b614-7fbd6a00b4e7.png
|
||||
hard: 入门
|
||||
time: 5分钟
|
||||
---
|
||||
|
||||
|
||||
# 特效预设
|
||||
|
||||
EffectPreset(特效预设)是一类绑定特效资源的预设,目的是给特效赋予特定的功能,而非制作特效。
|
||||
|
||||
有关特效制作的相关知识,请参阅[特效编辑器](../../../../16-美术/9-特效/00-特效编辑器简介.md)的相关文档。
|
||||
|
||||
我们提供了内置特效预设,它无需创建既可使用,通过菜单栏=>添加预设=>特效预设进行添加。
|
||||
|
||||

|
||||
|
||||
特效预设提供特效文件和自动播放属性,你需要通过特效编辑器创建一个粒子/序列帧特效,设置特效文件后方能预览。
|
||||
|
||||

|
||||
|
||||
如果不勾选自动播放属性,则需要通过零件代码在合适的时机调用播放/停止接口进行手动控制。
|
||||
|
||||
你也可以通过菜单栏=>创建预设=>特效预设来创建自己的自定义特效预设。
|
||||
|
||||
这里我们选择官方制作好的一个变换动画特效模板来展现自定义特效预设可以实现什么样的效果。
|
||||
|
||||
通过菜单栏=>创建预设=>模板预设=>变换动画特效我们可以添加这个模板预设。
|
||||
|
||||

|
||||
|
||||
创建好的特效预设可以很方便的从资源管理器或预设库中拖到场景内进行实例化,通过预览,我们可以把特效拖到我们希望放置的位置上。
|
||||
|
||||

|
||||
|
||||
点击运行,进入开发包后,我们可以看到这些变换动画特效已经在世界里动了起来。
|
||||
|
||||

|
||||
50
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/10-预设/5-界面预设.md
Normal file
@@ -0,0 +1,50 @@
|
||||
---
|
||||
front: https://nie.res.netease.com/r/pic/20210727/1e450bb1-ee50-4e6c-b614-7fbd6a00b4e7.png
|
||||
hard: 入门
|
||||
time: 5分钟
|
||||
---
|
||||
# 界面预设
|
||||
|
||||
UIPreset(界面预设)是一类绑定UI资源的预设,目的是给UI赋予预设的属性,如能使UI随着预设的出现而出现、销毁而销毁等。和使用modsdk接口创建UI一样,使用界面预设需要一个UI编辑器制作的UIJson文件和一个继承自ScreenNode的脚本文件。
|
||||
|
||||
有关UI制作的相关知识,请参阅[界面编辑器](../../../../18-界面与交互/1-界面编辑器使用说明.md)的相关文档。
|
||||
|
||||
在预设编辑器,通过菜单栏=>创建预设=>界面预设我们可以创建一个界面预设。
|
||||
|
||||

|
||||
|
||||
在编辑器中新建界面预设,选中该预设文件对其进行编辑时,界面预设除了特有的可编辑属性外,公共属性类似空预设。界面预设提供相当多的属性编辑,它们共同决定了界面预设绑定的UI最终展示的属性。
|
||||
|
||||
首先需要设置界面预设绑定的UI画布。该设置需要选择想打开的UIJson文件以及该文件中的画布名称。
|
||||
|
||||

|
||||
|
||||
第二步需要设置界面预设所绑定的继承自ScreenNode的脚本文件以及脚本类名,使用新建文件向导创建的ScreenNode类,其脚本类名默认和脚本文件名相同。
|
||||
|
||||

|
||||
|
||||
这两步设置完成后,该界面预设就能够成功创建出UI界面。若没有成功创建,请检查界面文件或ScreenNode脚本文件是否有损坏。
|
||||
|
||||
后续的设置定义了所打开UI的属性。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
| 属性 | 说明 |
|
||||
| :--- | :--- |
|
||||
| 当前命名空间 | 当前作品的命名空间,不可编辑 |
|
||||
| UI名称 | 在当前命名空间中需唯一 |
|
||||
| 自动激活 | 在界面预设创建完成后是否自动创建UI,若勾选则自动创建,反之则不会自动创建。该设置在预设编辑器内不会生效,界面会被自动激活 |
|
||||
| 显示方式 | 创建UI的显示方式,有CreateUI和PushScreen两种方式。若选择PushScreen打开UI,则后续属性不可设置,也不会生效 |
|
||||
| 绑定父预设实体 | 是否绑定预设实体,当父预设为生物预设或玩家预设等有实体的预设时,勾选该属性,UI会被绑定到该实体上。当勾选后,可设置绑定UI的偏移和自动缩放属性,但HUD属性不可设置 |
|
||||
| HUD |该界面是否允许游戏操作。勾选为允许,不勾选则屏蔽游戏操作 |
|
||||
| 绑定UI偏移 | 修改与绑定实体之间的偏移量 |
|
||||
| 绑定UI自动缩放 | 设置已绑定实体的UI是否根据绑定实体与本地玩家间的距离动态缩放 |
|
||||
| 编辑器内预览 | 在编辑器内设置,控制界面预设所绑定UI的显示隐藏。该属性在非编辑器平台无效。 |
|
||||
|
||||
设置好属性后,将该界面预设拖拽至场景中,界面就能显示出来了。
|
||||
|
||||

|
||||
92
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/10-预设/6-文字面板预设.md
Normal file
@@ -0,0 +1,92 @@
|
||||
---
|
||||
front: https://nie.res.netease.com/r/pic/20210727/1e450bb1-ee50-4e6c-b614-7fbd6a00b4e7.png
|
||||
hard: 入门
|
||||
time: 5分钟
|
||||
---
|
||||
|
||||
|
||||
|
||||
# 文字面板预设
|
||||
|
||||
> 目前仅在开发测试中生效,正式服预计在2.2版本上线,请开发者合理安排开发节奏。
|
||||
|
||||
## 基础介绍
|
||||
|
||||
TextBoardPreset(文字面板预设)是一类绑定**文字面板**的特殊预设,目的是能够快速创建、编辑和使用文字面板。
|
||||
|
||||
> 对于文字面板的概念,开发者可以参阅为[文字面板的定义](../../../../20-玩法开发/10-基本概念/1-我的世界基础概念.md#文字面板)以及<a href="../../../../../mcdocs/3-PresetAPI/预设对象/预设/文字面板对象TextboardObject.html" rel="noopenner"> 文字面板预设相关接口 </a>
|
||||
|
||||
## 创建与添加
|
||||
我们分别提供了内置文字面板预设和可供创建的普通文字面板预设。
|
||||
|
||||
### 添加内置文字面板预设
|
||||
内置文字面板预设无需创建,即可使用,通过菜单栏=>添加预设=>文字面板预设(来自内置预设)进行添加,如下图所示。
|
||||
|
||||

|
||||
|
||||
### 创建普通文字面板预设
|
||||
|
||||
普通文字面板预设不同于内置的预设,开发者需要通过新建文件向导=→预设分页=→找到文字面板预设=→创建,如下图所示
|
||||
|
||||

|
||||
|
||||
## 文字面板属性
|
||||
文字面板预设除了预设所具有的基本属性外,额外提供了文字面板特有的属性,如下图所示
|
||||

|
||||
| 属性 | 说明 |
|
||||
| :--- | :--- |
|
||||
| 文本内容| 文字面板上所显示的文字内容,支持[样式代码](https://minecraft-zh.gamepedia.com/%E6%A0%B7%E5%BC%8F%E4%BB%A3%E7%A0%81)|
|
||||
|始终面向相机| 默认开启,勾选后文字面板会随着相机移动而改变朝向,始终保持正面朝向相机 |
|
||||
| 深度测试 | 默认开启,勾选后文字面板会按照正常的前后顺序进行遮挡或显示 |
|
||||
| 文本颜色 | 文字面板上文本内容的颜色 |
|
||||
| 文本透明度 | 文字面板上文本内容的透明度,范围[0,1],值越小越透明。 |
|
||||
| 背景颜色 | 文字面板自身的颜色。 |
|
||||
| 背景透明度 | 文字面板自身的透明度,范围[0,1],值越小越透明。 |
|
||||
|
||||
|
||||
## 挂接实体与玩家
|
||||
文字面板预设既可以直接放置到世界的任意坐标位置,也可以绑定到实体或者玩家的相对位置,我们只需要将文字面板预设挂接到实体或玩家预设下,相比未挂接的情况,我可以看到实体和玩家预设下的文字面板预设多出了一栏坐标变换属性,此时调整这里的属性就是调整相对于父级预设的相对位置,如下图所示。
|
||||
|
||||

|
||||
|
||||
## 操作示例
|
||||
这里我们做一个基础的案例演示:
|
||||
|
||||
功能需求:
|
||||
1. 在世界坐标(0,65,0)放置一个文字面板,内容为“你好,我的世界”
|
||||
2. 为一个牛的实体预设挂接一个文字面板,显示内容“我是一头牛”。
|
||||
|
||||
|
||||
实现步骤:
|
||||
1. 首先对于第一个功能,我们直接在关卡编辑器将预设库中内置的文字面板预设拖动到场景舞台中,并修改其坐标为(0,65,0),如下图所示
|
||||
|
||||
|
||||

|
||||
|
||||
2. 对于第二个功能,我们先分别创建一个使用了牛的模板的实体预设
|
||||
|
||||
|
||||

|
||||
|
||||
3. 再创建一个文字面板预设,并将其挂接到实体预设下
|
||||
|
||||
|
||||

|
||||
|
||||
4. 调整位置和属性(位置、旋转、缩放可直接使用拖柄调整)
|
||||
|
||||
|
||||

|
||||
|
||||
5. 在关卡编辑器内将该实体预设拖动到场景舞台上
|
||||
|
||||
|
||||

|
||||
|
||||
6. 运行测试,看到最终效果如下图
|
||||
|
||||

|
||||
|
||||
7. 如果我们进一步调整预设的面板属性,并充分利用[样式代码](https://minecraft-zh.gamepedia.com/%E6%A0%B7%E5%BC%8F%E4%BB%A3%E7%A0%81),就能创造出更丰富的效果。
|
||||
|
||||

|
||||
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/10-预设/images/addtextboard.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 32 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/10-预设/images/effect.gif
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 408 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 105 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 425 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 7.7 KiB |
|
After Width: | Height: | Size: 157 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 661 KiB |
|
After Width: | Height: | Size: 26 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/10-预设/images/scale.gif
Normal file
|
After Width: | Height: | Size: 13 MiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/10-预设/images/textboard-6.png
Normal file
|
After Width: | Height: | Size: 908 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/10-预设/images/textboard-7.png
Normal file
|
After Width: | Height: | Size: 939 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/10-预设/images/textboard_1.gif
Normal file
|
After Width: | Height: | Size: 787 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/10-预设/images/textboard_2.gif
Normal file
|
After Width: | Height: | Size: 270 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/10-预设/images/textboard_3.gif
Normal file
|
After Width: | Height: | Size: 324 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/10-预设/images/textboard_4.gif
Normal file
|
After Width: | Height: | Size: 144 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/10-预设/images/textboard_5.gif
Normal file
|
After Width: | Height: | Size: 419 KiB |
|
After Width: | Height: | Size: 183 KiB |
|
After Width: | Height: | Size: 24 KiB |
27
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/00-触发器零件.md
Normal file
@@ -0,0 +1,27 @@
|
||||
---
|
||||
front: https://nie.res.netease.com/r/pic/20210727/76bfa7be-0be4-4e27-91a3-b5268695f359.png
|
||||
hard: 入门
|
||||
time: 20分钟
|
||||
---
|
||||
|
||||
# 触发器
|
||||
|
||||
TriggerPart(触发器零件)包含一个长方体的区域,可以使用触发器零件对进出区域的实体进行检测。
|
||||
|
||||

|
||||
|
||||
点击触发器,可以在他的属性面板中看到以下属性:
|
||||
|
||||
- 区域,用于指定触发器的区域
|
||||
- 维度:用于指定这个区域在哪个维度
|
||||
- 监听,影响触发器的事件发送
|
||||
|
||||

|
||||
|
||||
点击区域页签旁边的定位按钮,可以将触发器的区域显示出来(如下图),之后可以通过挪动坐标系整体移动区域的位置,或者使用鼠标对触发器区域的每一个面进行拖拽。
|
||||
|
||||
> 区域的坐标是相对于触发器的坐标,拖动触发器同样可以改变区域的整体位置。
|
||||
|
||||

|
||||
|
||||
>如果需要在游戏中使用脚本调用此零件,可以参考<a href="../../../../../mcdocs/3-PresetAPI/预设对象/零件/触发器零件TriggerPart.html" rel="noopenner"> 触发器零件的API接口文档 </a>
|
||||
23
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/01-玩家基础属性零件.md
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
front: https://nie.res.netease.com/r/pic/20210727/76bfa7be-0be4-4e27-91a3-b5268695f359.png
|
||||
hard: 入门
|
||||
time: 20分钟
|
||||
---
|
||||
|
||||
|
||||
|
||||
# 玩家基础属性
|
||||
|
||||
PlayerBasicPart(玩家基础属性零件)是一种只能挂接到玩家预设下的内置零件。
|
||||
|
||||

|
||||
|
||||
通过挂接玩家基础属性零件,我们能够对所有玩家的基础属性进行相应的修改。
|
||||
|
||||

|
||||
|
||||
点击运行,进入游戏,我们可以看到自身的血量上限有40,可以透视到其他玩家的名字。
|
||||
|
||||

|
||||
|
||||
>如果需要在游戏中使用脚本调用此零件,可以参考<a href="../../../../../mcdocs/3-PresetAPI/预设对象/零件/玩家基础属性零件PlayerBasicPart.html" rel="noopenner"> 玩家基础属性零件的API接口文档 </a>
|
||||
18
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/02-世界属性零件.md
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
front: https://nie.res.netease.com/r/pic/20210727/76bfa7be-0be4-4e27-91a3-b5268695f359.png
|
||||
hard: 入门
|
||||
time: 20分钟
|
||||
---
|
||||
|
||||
|
||||
# 世界属性零件
|
||||
|
||||
使用时挂在空预设下即可。并且尽量保证这个预设在场景中有且仅有一个实例。
|
||||
|
||||

|
||||
|
||||
世界选项与旧版关卡编辑器的世界属性组件相同。
|
||||
|
||||

|
||||
|
||||
>如果需要在游戏中使用脚本调用此零件,可以参考<a href="../../../../../mcdocs/3-PresetAPI/预设对象/零件/世界属性零件WorldPart.html" rel="noopenner"> 世界属性零件的API接口文档 </a>
|
||||
@@ -0,0 +1,52 @@
|
||||
---
|
||||
front: https://nie.res.netease.com/r/pic/20210727/76bfa7be-0be4-4e27-91a3-b5268695f359.png
|
||||
hard: 入门
|
||||
time: 20分钟
|
||||
---
|
||||
|
||||
# 相机轨迹零件
|
||||
|
||||
相机轨迹零件CameraTrackPart是一个用于制作相机移动和旋转轨迹动画的零件。
|
||||
|
||||
为了便于查看效果,这里我们添加一个货摊素材作为参照物,如下图所示。
|
||||
|
||||

|
||||
|
||||
点击相机轨迹零件,我们可以在属性面板看到其有如下属性:
|
||||
|
||||

|
||||
|
||||
这里重点解释一下相机轨迹这部分属性:
|
||||
|
||||
1. 预览路径:用于控制是否开启预览路径,预览路径就是用线条和箭头在预设场景中显示相机动画的轨迹路线,即上面示意图中的部分。
|
||||
|
||||
2. 播放:勾选则在预设场景中播放当前相机轨迹动画。
|
||||
|
||||
3. 轨迹:即相机轨迹动画中的每个轨迹点的信息,可以理解为关键帧动画中的某一帧,代表相机在某个时间点须将自身的位置旋转等信息变换到这个轨迹点所代表的状态上。相机轨迹零件的作用就是让玩家能够自由编辑相机的轨迹点信息,从而构成相机动画。可以通过轨迹右侧的"+"按钮新增轨迹点,每个轨迹点的属性如下:
|
||||
|
||||
>偏移:该轨迹点相对于整个相机轨迹零件的位置偏移量
|
||||
>
|
||||
>旋转:该轨迹点摄像机相对于正北方向的旋转弧度(上下弧度,左右弧度)
|
||||
>
|
||||
>Pitch(俯仰角)顺向:控制上下方向的顺逆
|
||||
>
|
||||
>Yaw(偏航角)顺向:控制左右方向的顺逆
|
||||
>
|
||||
>时间:上一个轨迹点到当前轨迹点所需时间,越长,相机变换的速度越缓慢
|
||||
|
||||
4. 轨迹点操作方式:
|
||||
|
||||

|
||||
|
||||
1. 轨迹点顶部按钮,可以快捷执行删除轨迹点、上移轨迹点、下移轨迹点、上方新建轨迹点四种操作。
|
||||
2. 轨迹点的偏移和旋转属性右侧提供了记录当前摄像头信息和定位的快捷操作按钮
|
||||
|
||||
>记录当前摄像头信息:将预设场景界面的摄像头信息记录在当前轨迹点,当前支持记录位置和旋转两种信息。
|
||||
>
|
||||
>定位:在预设场景展示该轨迹点的坐标,并提供坐标轴供玩家进行可视化操作来调整轨迹点的位置信息。
|
||||
|
||||
充分熟悉上述操作方式后,我们能够更快速和便捷地进行相机轨迹动画的创作,并随时进行路径的预览和播放,如下图所示
|
||||
|
||||

|
||||
|
||||
>如果需要在游戏中使用脚本调用此零件,可以参考<a href="../../../../../mcdocs/3-PresetAPI/预设对象/零件/相机轨迹CameraTrackPart.html" rel="noopenner"> 相机轨迹零件的API接口文档 </a>
|
||||
40
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/04-实体零件.md
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
front: https://nie.res.netease.com/r/pic/20210727/76bfa7be-0be4-4e27-91a3-b5268695f359.png
|
||||
hard: 入门
|
||||
time: 20分钟
|
||||
---
|
||||
|
||||
# 实体零件
|
||||
|
||||
## 实体组合
|
||||
|
||||
实体零件EntiyBasePart用于在预设下管理多个实体预设。
|
||||
|
||||
在[预设组装的挂接规则](../../../14-预设玩法编程/11-深入理解预设/1-组装预设.md)中,我们知道空预设下是无法挂载实体预设的,为了让开发者更便捷地管理多个实体,我们提供了实体零件。使用时只需在空预设下挂载此零件,再从属性面板选择对应的实体类型,就能够间接地达成预设下挂载实体的目标。实体零件属性的如下图所示:
|
||||
|
||||

|
||||
|
||||
- 自动创建:是否在零件初始化时,自动创建关联实体ID,如果不勾选,则需要手动调用零件的API创建关联实体ID,可以参考<a href="../../../../../mcdocs/3-PresetAPI/预设对象/零件/实体零件EntityBasePart.html" rel="noopenner"> 实体零件API接口文档 </a>。
|
||||
|
||||
- 实体类型:实体零件所绑定的实体类型,这里支持原版实体和未绑定预设的实体配置。
|
||||
>注意:实体类型不支持实体预设
|
||||
|
||||
这里举一个实用例子,对于含有刷怪事件的玩法,开发者可以将每波刷出的怪物制作成一个怪物阵型,从而对每波怪物进行统一的管理,这里就需要用到实体零件,
|
||||
通过复制或新建,在预设下创建多个该零件,便能构建出一个怪物阵型,如下图所示:
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 实体零件**只能挂接在空预设**下
|
||||
- 实体类型属性,**不能选择已经有对应实体预设的类型**,否则创建出来的是实体预设,不受实体零件管理
|
||||
- 实体零件创建出来的实体,**不会保存到地图**中,在预设卸载,保存退出等时机会自动清除相关实体,在下次预设加载时再重新创建
|
||||
- 注意避免组合大量实体零件构建怪物阵型,这可能造成加载时卡顿,尤其在低配手机上
|
||||
- 实体零件进行缩放时,是**xyz轴同步缩放**,但它的父节点可以设置xyz轴分别为不同缩放,以**x轴的最终缩放**为准,尽量避免实体零件的父节点的缩放不一致
|
||||
- 实体零件进行旋转时,**只支持xy轴旋转**,且只在实体生成时有效,此后由怪物AI控制,如果前面把父节点的缩放设为不一致,旋转实体可能导致x轴的缩放系数发生变化导致实体缩放突变。
|
||||
|
||||
|
||||
|
||||
>如果需要在游戏中使用脚本调用此零件,可以参考<a href="../../../../../mcdocs/3-PresetAPI/预设对象/零件/实体零件EntityBasePart.html" rel="noopenner"> 实体零件的API接口文档 </a>
|
||||
33
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/05-导航路径零件.md
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
front: https://nie.res.netease.com/r/pic/20210727/76bfa7be-0be4-4e27-91a3-b5268695f359.png
|
||||
hard: 入门
|
||||
time: 20分钟
|
||||
---
|
||||
|
||||
# 导航路径零件
|
||||
导航路径零件NavPointsPart用于创建一条可视化的路径,并进行路径点的可视化添加和编辑,点击该零件,我们在属性面板可以看到其拥有以下属性:
|
||||
|
||||

|
||||
|
||||
这里着重讲一下巡逻路径属性,巡逻路径的本质就是一组有顺序的位置坐标数据。巡逻路径有两个属性:
|
||||
|
||||
1. 预览路径:用于控制是否开启预览路径,预览路径就是用线段和箭头将所有巡逻点连接起来,让玩家在编辑路径时能够直观地看到每个点之间的位置和顺序关系。
|
||||
|
||||
2. 路径:即巡逻路径上的每个巡逻点的信息,通过右侧的"➕"按钮可以新建巡逻点,巡逻点下包含该点的位置坐标。
|
||||
|
||||
3. 路径操作方式:每个巡逻点上方的菜单(下图中A框)可以进行巡逻点的删除、上移、下移和上方新建四种快捷操作。右侧的记录摄像机位置(下图中B框)和定位按钮(下图中C框)可以让你更为便捷地进行路径点的可视化选取和移动。
|
||||
|
||||

|
||||
|
||||
熟练上述操作后能够帮助你快速搭建导航路径,如下图所示:
|
||||
|
||||

|
||||
|
||||
这里举一个运用导航路径零件的例子:在塔防游戏中,我们希望怪物出生后按照一定的路径进行移动巡逻,比如从起始点开始,走向第二个巡逻点,再走向第三个巡逻点,以此类推,形成一条巡逻路径。那么如何快速进行路径的可视化编辑呢?
|
||||
|
||||
为了达到这个效果,我们可以在编辑器内使用导航路径零件,提前构造好巡逻路径点,然后在脚本中使用本零件的接口(<a href="../../../../../mcdocs/3-PresetAPI/预设对象/零件/导航路径零件NavPointsPart.html" rel="noopenner"> GetNavigationPoints </a>)快速获得所有巡逻点的数据,再调用寻路接口(<a href="../../../../../mcdocs/1-ModAPI/接口/实体/行为.html" rel="noopenner"> SetMoveSetting </a>)让怪物依次在各个点之间移动,以此达到怪物移动巡逻的效果。
|
||||
|
||||
>这里只是一个简单使用案例,导航路径零件主要帮助开发者可视化编辑路径/位置数据,具体使用还需要开发者根据实际需要灵活运用哦~
|
||||
|
||||
|
||||
关于导航路径零件的接口,可以参考<a href="../../../../../mcdocs/3-PresetAPI/预设对象/零件/导航路径零件NavPointsPart.html" rel="noopenner"> 导航路径零件的API接口文档 </a>
|
||||
78
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/06-后处理零件.md
Normal file
@@ -0,0 +1,78 @@
|
||||
---
|
||||
front: https://nie.res.netease.com/r/pic/20210727/76bfa7be-0be4-4e27-91a3-b5268695f359.png
|
||||
hard: 入门
|
||||
time: 20分钟
|
||||
---
|
||||
|
||||
# 后处理零件
|
||||
后处理零件PostProcessPart用于快速设置并在游戏中使用渐晕、镜头污渍、模糊等后处理效果。
|
||||
|
||||
以往开发者想要使用后处理效果,需要手动在零件代码中调用后处理相关的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/索引.html" rel="noopenner"> ModAPI</a>接口,步骤繁琐且需要先了解python和SDK框架,对新开发者不够友好,此次将后处理效果封装成一个零件,正是为了帮助不会代码的开发者用上后处理的效果,让自己开发的组件达到更高的品质。
|
||||
|
||||
> 后处理零件只能挂载在已经勾选预加载的空预设上。
|
||||
|
||||
点开零件属性,我们可以看到后处理零件拥有以下属性。
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
接下来我们逐一介绍后处理零件的几种效果属性。
|
||||
|
||||
### 渐晕:效果如下图
|
||||
|
||||

|
||||
|
||||
| 属性 | 描述 |
|
||||
| ------------ | ------------------------------------------------------------ |
|
||||
| 开启屏幕渐晕 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/渐晕.html#setenablevignette" rel="noopenner">SetEnableVignette</a>接口,设置是否开启屏幕渐晕(Vignette)效果,开启后玩家屏幕周围将出现渐晕。 |
|
||||
| 渐晕中心位置 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/渐晕.html#setvignettecenter" rel="noopenner">SetVignetteCenter</a>接口,设置渐晕(Vignette)的渐晕中心位置,可改变屏幕渐晕的位置。 |
|
||||
| 渐晕颜色 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/渐晕.html#setvignettergb" rel="noopenner">SetVignetteRGB</a>接口,设置渐晕(Vignette)的渐晕颜色,可改变屏幕渐晕的颜色。 |
|
||||
| 渐晕半径 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/渐晕.html#setvignetteradius" rel="noopenner">SetVignetteRadius</a>接口,设置渐晕(Vignette)的渐晕半径,半径越大,渐晕越小,玩家的视野范围越大。 |
|
||||
| 渐晕模糊系数 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/渐晕.html#setvignettesmoothness" rel="noopenner">SetVignetteSmoothness</a>接口,设置渐晕(Vignette)的渐晕模糊系数,模糊系数越大,则渐晕边缘越模糊,模糊的范围也越大。 |
|
||||
|
||||
### 模糊:效果如下图
|
||||
|
||||

|
||||
|
||||
| 属性 | 描述 |
|
||||
| ------------ | ------------------------------------------------------------ |
|
||||
| 开启高斯模糊 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/模糊.html#setenablegaussianblur" rel="noopenner">SetEnableGaussianBlur</a>接口,设置是否开启高斯模糊效果,开启后玩家屏幕周围被模糊。 |
|
||||
| 模糊半径 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/模糊.html#setgaussianblurradius" rel="noopenner">SetGaussianBlurRadius</a>接口,设置高斯模糊效果的模糊半径,半径越大,模糊程度越大,反之则模糊程度越小。 |
|
||||
|
||||
### 色彩校正:效果如下图
|
||||
|
||||

|
||||
| 属性 | 描述 |
|
||||
| ---------------- | ------------------------------------------------------------ |
|
||||
| 开启色彩校正 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/色彩.html#setenablecoloradjustment" rel="noopenner">SetEnableColorAdjustment</a>接口,设置是否开启色彩校正效果,开启后可进行屏幕色彩调整 。|
|
||||
| 色彩亮度 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/色彩.html#setcoloradjustmentbrightness" rel="noopenner">SetColorAdjustmentBrightness</a>接口,调整屏幕色彩亮度,亮度值越大,屏幕越亮,反之则越暗。|
|
||||
| 色彩对比度 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/色彩.html#setcoloradjustmentcontrast" rel="noopenner">SetColorAdjustmentContrast</a>接口,调整屏幕色彩对比度,屏幕对比度值越大,色彩差异则越明显,反之则色彩差异越小。|
|
||||
| 色彩饱和度 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/色彩.html#setcoloradjustmentsaturation" rel="noopenner">SetColorAdjustmentSaturation</a>接口,调整屏幕色彩饱和度,屏幕饱和度值越大,色彩则越明显,反之则越灰暗。|
|
||||
| 色调 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/色彩.html#setcoloradjustmenttint" rel="noopenner">SetColorAdjustmentTint</a>接口,调整屏幕色彩的色调,根据输入的色调和强度来调整屏幕色彩,当强度越大时,屏幕整体颜色越偏向输入的色调。|
|
||||
|
||||
### 景深效果:效果如下图
|
||||
|
||||

|
||||
|
||||
| 属性 | 描述 |
|
||||
| ---------------- | ------------------------------------------------------------ |
|
||||
| 开启景深效果 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/镜头效果.html#setenabledepthoffield" rel="noopenner">SetEnableDepthOfField</a>接口,设置是否开启景深效果,开启后屏幕出现景深效果,根据焦点距离呈现远处模糊近处清晰或者近处模糊远处清晰的效果。 |
|
||||
| 模糊半径 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/镜头效果.html#setdepthoffieldblurradius" rel="noopenner">SetDepthOfFieldBlurRadius</a>接口,调整景深效果模糊半径,模糊半径越大,模糊程度越大,反之则越小。 |
|
||||
| 远景模糊大小 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/镜头效果.html#setdepthoffieldfarblurscale" rel="noopenner">SetDepthOfFieldFarBlurScale</a>接口,调整景深效果远景模糊大小,远景模糊大小越大,远景的模糊程度越大,反之则越小。注意,远景模糊程度的调节依赖于焦点距离,如果焦点处于较远的距离,那么此时远景处于较清晰的状态,模糊程度大小调节不会很明显。 |
|
||||
| 近景模糊大小 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/镜头效果.html#setdepthoffieldnearblurscale" rel="noopenner">SetDepthOfFieldNearBlurScale</a>接口,调整景深效果近景模糊大小,近景模糊大小越大,近景的模糊程度越大,反之则越小。注意,近景模糊程度的调节依赖于焦点距离,如果焦点处于较近的距离,那么此时近景处于较清晰的状态,模糊程度大小调节不会很明显。 |
|
||||
| 屏幕中心聚焦模式 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/镜头效果.html#setdepthoffieldusecenterfocus" rel="noopenner">SetDepthOfFieldUseCenterFocus</a>接口,设置景深效果是否开启屏幕中心聚焦模式,开启后聚焦距离将被自动设置为屏幕中心所对应的物体所在的距离。在第一人称视角下,聚焦距离将被自动设置为屏幕准心所对应的物体与相机的距离,即自动聚焦准心所对应的物体。在第三人称视角下,由于屏幕中心总是对应着玩家,因此聚焦距离将被自动设置为玩家与相机的距离,即自动聚焦在玩家自己。 |
|
||||
| 焦点距离 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/镜头效果.html#setdepthoffieldfocusdistance" rel="noopenner">SetDepthOfFieldFocusDistance</a>接口,调整景深效果焦点距离,距离越小,则远处模糊,近处清晰;距离越大,则远处清晰,近处模糊。该距离为实际距离,即以玩家相机为起点的世界坐标距离。 |
|
||||
|
||||
### 镜头污迹:效果如下图
|
||||
|
||||

|
||||
|
||||
| 属性 | 描述 |
|
||||
| ------------ | ------------------------------------------------------------ |
|
||||
| 镜头污迹效果 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/镜头效果.html#setenablelensstain" rel="noopenner">SetEnableLensStain</a>接口,设置是否开启镜头污迹效果,开启后镜头出现污迹效果,可改变使用的污迹贴图及污迹颜色。 |
|
||||
| 镜头污迹强度 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/镜头效果.html#setlensstainintensity" rel="noopenner">SetLensStainIntensity</a>接口,调整镜头污迹强度,强度越大,污迹越明显,反之则越透明。 |
|
||||
| 镜头污迹贴图 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/镜头效果.html#setlensstaintexture" rel="noopenner">SetLensStainTexture</a>接口,开启镜头污迹效果后,污迹效果使用的为系统默认贴图。该接口可改变镜头污迹所使用的贴图。注意贴图最好使用透明背景,否则屏幕将被贴图覆盖。 |
|
||||
| 镜头污迹颜色 | 等同于调用ModAPI下的<a href="../../../../../mcdocs/1-ModAPI/接口/后处理/镜头效果.html#setlensstaincolor" rel="noopenner">SetLensStainColor</a>接口,调整镜头污迹颜色,根据输入的颜色和强度来调整污迹色彩,当强度越大时,污迹颜色越偏向输入的颜色。 |
|
||||
39
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/07-天空盒零件.md
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
front: https://nie.res.netease.com/r/pic/20210727/76bfa7be-0be4-4e27-91a3-b5268695f359.png
|
||||
hard: 入门
|
||||
time: 20分钟
|
||||
---
|
||||
|
||||
# 天空盒零件
|
||||
天空盒零件SkyBoxPart用于快速设置天空颜色、贴图、雾效颜色、范围、星星、太阳、月亮等天空相关的表现参数,如下图所示。
|
||||
|
||||

|
||||
|
||||
## 属性
|
||||
天空盒零件具有下图中的属性,所有属性均对应了ModSDK中的相关接口,详情参考<a href="../../../../../mcdocs/1-ModAPI/接口/世界/渲染.html#setambientbrightness" rel="noopenner">SetEnableVignette</a>
|
||||
|
||||
|
||||

|
||||
|
||||
## 使用
|
||||
1. 在新建文件向导创建天空盒零件
|
||||

|
||||
|
||||
2. 创建一个预设并将零件挂接到预设下,调整对应属性
|
||||
|
||||

|
||||
|
||||
|
||||
3. 将预设拖到场景舞台生成实例,即可生效
|
||||
|
||||

|
||||
|
||||
4. 编辑实例下的属性也可实时调整对应效果。
|
||||
|
||||

|
||||
|
||||
|
||||
5. 运行测试查看效果
|
||||
|
||||
|
||||

|
||||
|
After Width: | Height: | Size: 2.9 MiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 125 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 84 KiB |
|
After Width: | Height: | Size: 2.8 MiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/images/parts001.png
Normal file
|
After Width: | Height: | Size: 98 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/images/parts002.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/images/parts003.gif
Normal file
|
After Width: | Height: | Size: 23 MiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/images/parts004.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/images/parts005.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/images/parts006.png
Normal file
|
After Width: | Height: | Size: 250 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/images/parts007.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/images/parts009.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/images/parts010.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/images/parts011.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 454 KiB |
|
After Width: | Height: | Size: 308 KiB |
|
After Width: | Height: | Size: 327 KiB |
|
After Width: | Height: | Size: 310 KiB |
|
After Width: | Height: | Size: 278 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/images/skybox.png
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/images/skybox1.gif
Normal file
|
After Width: | Height: | Size: 457 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/images/skybox11.png
Normal file
|
After Width: | Height: | Size: 358 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/images/skybox12.png
Normal file
|
After Width: | Height: | Size: 708 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/11-内置零件/images/skybox13.png
Normal file
|
After Width: | Height: | Size: 400 KiB |
|
After Width: | Height: | Size: 40 KiB |
35
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/6-理解预设概念.md
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
front: https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/preset002.1e5e0e6f.png
|
||||
hard: 入门
|
||||
time: 10分钟
|
||||
---
|
||||
|
||||
# 理解预设概念
|
||||
|
||||
## 什么是预设?
|
||||
- 预设(Preset)就是预先设定的意思,即开发者们可以将方块、素材、实体、特效以及玩法逻辑拼装成一个预设。
|
||||
|
||||
- 预设作为文件被保存在行为包的Presets目录中,如下图,在资源管理器的常用目录中,可以找到Preset文件夹,当然你也可以在精简模式直接打开预设文件夹。
|
||||

|
||||
|
||||
- 在使用时,一个预设作为一个整体被放置在游戏中,被放置到游戏中的预设被称为实例。
|
||||
|
||||
- 预设的后缀是.preset,如果你对预设到底是什么感兴趣,可以使用文本编辑器打开预设文件,查看它的结构。
|
||||
|
||||
> 关于预设架构的使用示例,请查看[第一个预设Mod](../9-第一个预设Mod/0-创建新版作品.md)。
|
||||
|
||||
## 预设能做什么?
|
||||
- 当我们制作游戏时,游戏世界中的每个元素并不是都各具特色,独一无二的,相反,在很多情况下我们需要复用很多游戏资源和玩法逻辑,这时候我们如果能将资源或逻辑集成到一个预设中,就能在需要复用时,在游戏世界中快速地创造这类资源或逻辑的实例。
|
||||
|
||||
- 预设是各类游戏引擎经常使用的概念,主要目的是为了将构成游戏元素的资源和代码逻辑组装成一个可复用的文件,提高游戏制作效率。
|
||||
|
||||
举个例子:当我们需要制作一个塔防游戏时,需要制作许多种类的怪物,并且在不同时间和地点将不同组合的怪物生成到地图中,并让怪物沿着固定的路径向玩家的大本营进攻。
|
||||
将这个玩法逻辑梳理下,实际上我们可以复用的资源和逻辑代码有:
|
||||
1. 许多种类的怪物(实体预设)
|
||||
2. 指定时间指定地点刷新指定怪物的逻辑(刷怪点零件)
|
||||
3. 怪物沿着固定路径向大本营进攻的逻辑(怪物巡逻零件)
|
||||
|
||||
那么在我们真正去搭建游戏关卡时,只需要将上述的实体和零件代码组装成刷怪点预设和带有巡逻和进攻逻辑的实体预设,就能够快速制造出大量满足塔防玩法的刷怪点和具有进攻大本营逻辑的怪物了。
|
||||
|
||||
|
||||
|
||||
85
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/7-预设编辑器使用说明.md
Normal file
@@ -0,0 +1,85 @@
|
||||
---
|
||||
front: https://mc.res.netease.com/pc/zt/20201109161633/mc-dev/assets/img/preset002.1e5e0e6f.png
|
||||
hard: 入门
|
||||
time: 20分钟
|
||||
---
|
||||
|
||||
# 预设编辑器
|
||||
## 一、 启动方式
|
||||
打开预设编辑器的方式有两种:
|
||||
|
||||
- 通过顶部的编辑器切换页签进行切换
|
||||
- 在资源管理器中双击任意预设文件(xxx.preset)
|
||||
|
||||
## 二、 界面构成
|
||||
预设编辑器主要用于预设的拼装,预览和属性编辑。如下图所示:
|
||||
|
||||
- 层级面板:用于显示预设的父子结构关系。
|
||||
- 预览窗:用于预设的预览,以及对每个对象进行坐标变换的拖拽调整。
|
||||
- 属性面板:用于显示当前选中的层级条目的属性以及对其进行修改。
|
||||
- 资源管理器:通用面板,用于管理作品中的所有文件及目录。
|
||||
|
||||

|
||||
|
||||
> 注意:预设编辑器是对某一个预设的编辑,不能同时编辑多个预设。
|
||||
|
||||
## 三、 层级面板
|
||||
|
||||
- 层级面板用于显示当前正在编辑的预设的层级结构,通过树形图的方式显示他们的父子关系,如下图所示。
|
||||

|
||||
|
||||
- 层级面板支持搜索,如下图。与关卡编辑器的舞台一样,搜索结果也会显示与它相关的树形结构。
|
||||

|
||||
|
||||
- 层级面板,在根节点上右键,弹出如下菜单:
|
||||
- 在资源管理器中定位:在编辑器内置的资源管理器打开这个预设的路径
|
||||
- 添加素材:给预设添加素材,二级菜单为可添加的素材
|
||||
- 添加零件:给预设添加零件,二级菜单为可以添加的零件
|
||||
- 添加预设:给预设添加子预设,二级菜单为可以添加的预设
|
||||

|
||||
|
||||
- 在除了根节点之外的条目上右键,弹出如下菜单:
|
||||
- 复制:复制这个条目
|
||||
- 粘贴:在层级中粘贴这个条目
|
||||
- 创建副本:在层级中创建这个条目的副本
|
||||
- 重命名:对这个条目进行重命名
|
||||
- 删除:删除这个条目
|
||||
- 在资源管理器中定位:资源管理器打开这个条目对应的路径,并选中预设
|
||||
- 打开目录:在windows的资源管理器中打开这个条目对应的文件夹
|
||||

|
||||
|
||||
|
||||
> 当前不能改动子预设的层级
|
||||
|
||||
|
||||
## 四、 预览窗
|
||||
|
||||
- 预设编辑器的预览窗里,除了天空之外只会渲染当前正在编辑的预设。
|
||||
|
||||
- 你可以在预览窗中对预设条目的坐标变换进行操作。参考[关卡编辑器](../../11-组装简单玩法/0-关卡编辑器.md#三、预览窗)的预览窗。两个编辑器的预览窗的坐标变换操作基本相同。
|
||||

|
||||
> 注意:当你在进入预览窗时,实际上会被传送至当前作品的出生点。预览窗内仍然是我的世界,同样存在256的高度限制,这意味着你无法控制相机抵达过高或者过低的位置。
|
||||
|
||||
## 五、属性面板
|
||||
- 属性面板用于查看和修改当前选中的层级条目的属性,如修改预设属性、零件属性等,如图所示。
|
||||

|
||||
|
||||
## 六、资源管理器
|
||||
- 资源管理面板用于存储和显示当前作品中的所有文件,可以通过精简模式的预设和零件快速寻找需要的文件资源,也可以通过完整模式直接找到预设(Presets)和零件(Parts)文件夹。
|
||||

|
||||

|
||||
## 七、 顶部工具栏功能
|
||||
|
||||
- 撤销:移除上一次操作造成的影响,目前支持无限次的撤销,当切换编辑器后,不再记录之前的操作。
|
||||
- 重做:重新进行上一次撤销的操作。
|
||||
- 添加预设:给预设添加子预设,弹出菜单为可以添加的预设
|
||||
- 添加零件:给预设添加零件,弹出菜单为可以添加的零件
|
||||
- 添加素材:给预设添加素材,弹出菜单为当前可以添加的素材
|
||||
- 创建预设:弹出新建文件向导,并切换到预设分页,参考[新建文件](../../../15-资源管理/4-新建文件.md)。
|
||||
- 创建零件:弹出新建文件向导,并切换到零件分页,参考[新建文件](../../../15-资源管理/4-新建文件.md)。
|
||||
- 文件位置:资源管理器打开这个条目对应的路径,并选中当前正在编辑的预设。
|
||||
- 反馈:当在编辑器遇到闪退、报错等bug时,可随时通过反馈按钮前往开发者反馈页面向我们反馈。
|
||||
- 保存:保存当前预设文件。
|
||||
- 备份:在启动器的作品库中生成一份当前作品的拷贝。
|
||||
- 运行:保存所有编辑器的内容,并进行开发测试。
|
||||

|
||||
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/images/config_panel.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/images/new004.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/images/preset001.png
Normal file
|
After Width: | Height: | Size: 357 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/images/preset002.png
Normal file
|
After Width: | Height: | Size: 91 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/images/preset003.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/images/preset004.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/images/preset005.png
Normal file
|
After Width: | Height: | Size: 8.9 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/images/preset007.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/images/preset008.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/images/resource_panel.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
mcguide/20-玩法开发/14-预设玩法编程/0-理解预设系统/images/resource_panel_1.png
Normal file
|
After Width: | Height: | Size: 42 KiB |