Files
netease-modsdk-wiki/docs/mcguide/20-玩法开发/14-预设玩法编程/9-第一个预设Mod/2-在场景中实例化.md
2025-03-18 14:46:12 +08:00

52 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 在场景中实例化
## 将预设放入场景
打开关卡编辑器并且在资源管理器中打开我们的预设Preset文件夹。
在这里找到我们刚刚创建好的Cabinet预设并将其拖拽到场景中调整好位置后松开鼠标这样你就成功的在场景中创建了一个Cabinet预设的实例并且在关卡编辑器的舞台中你可以看到这个实例的结构。
在舞台上选中展览台节点,然后可以在预览窗中通过坐标系拖柄对其的位置进行实时更改。
![instance001](./images/instance001.png)
## 修改预设
现在我们重新在资源管理器中双击Cabinet预设在预设编辑器中打开它。
然后选中展览台素材使用Ctrl+D快捷键或者右键菜单的创建副本功能创建一个展览台素材的副本并且调整其的位置如下。
![instance002](./images/instance002.png)
然后保存,返回关卡编辑器。
你可以看到之前放置在场景中的展览台预设也跟着更新了。
在编辑器中,实例与预设是引用关系。场景中所有的实例,都是引用的某个预设的数据,所以,当预设发生改动时,实例也会跟着改动。
一个预设可以在场景中生成任意数量的实例,当你修改预设时,场景中的所有实例都会跟着改变。
![instance003](./images/instance003.png)
## 修改实例
下面,我们在舞台中创建一个展览台实例的副本,将其拖拽到一边,并按照如下方式对这两个实例进行重命名。
然后,我们将展览台(右)实例的其中一个展览台素材抬高一点,最终得到下图的样子。
可以看到,我们可以单独对某个实例进行修改,对实例的修改不会影响到其他实例,并且也不会影响到预设,你的预设依旧是左边这个实例的样子。
![instance004](./images/instance004.png)
此时,如果我们修改预设,比如说将展览台预设上面的素材摆到下面的展览台素材的左侧与他平齐。
然后返回关卡编辑器,你会发现,只有未经改动的实例发生了变化。
即如果实例的某一个节点发生了修改,实例会记录这种修改,并忽略他引用的预设的这个值。
![instance005](./images/instance005.png)