目录
概述
通过此功能,您可以在 Unity 和 UNITE 中创建的场景之间来回切换。
通过使用此功能,可以创建完全不同的表达方式,不受 UNITE 的限制。
要使用此功能,您需要事先在 Unity 中创建一个场景。
我们准备了一个示例来检查操作,因此当您想用有效的东西来检查时,请查看示例。
从 UNITE 调用统一场景
[场面控制] > [调出Unity场面]事件中使用。
[调出Unity场面]事件命令的设置如下。
① 选择要调用的Unity场景。
打开 “Build Setting”窗口
必须将先前创建的 Unity 场景添加到 “Build Setting ”中的 “构建中包含的场景”。
这样就可以通过事件命令选择场景。
② 选择是否卸载地图场景
每种场景的卸载方式都有各自的优缺点。
③指定要传递的变量
此处指定的变量允许在 Unite 场景中引用其值。
此外,返回 UNITE 时,Unity 场景的结果值将存储在变量中。
*如果指定了“(None)”,则在引用时值将变为 0,并且不会存储结果值。
*变量以 int 类型引用和存储。
从 Unity 场景访问 UNITE
①命名空间。
using RPGMaker.Codebase.Runtime.Event.Screen;
②获取 “变量 ”的值。
CallUnitySceneProcessor.GetVariableValue()
③带返回值返回 UNITE 场景。
CallUnitySceneProcessor.ReturnToUnite(num)
卸载 Unity 场景,将返回值(num)存储到变量中,然后返回 UNITE。
关于卸载场景
调用 CallUnitySceneProcessor.ReturnToUnite() 时、
所有已加载的场景都将被卸载(DontDestroyOnLoad 和 SceneMap 除外)。
您不希望被销毁的游戏对象应使用 Object.DontDestroyOnLoad() 移至 DontDestroyOnLoad。
请尽可能使用 SetActive(false) 使这些游戏对象处于非活动状态。
这样做是为了减少发生冲突问题的可能性,例如,如果有一个以上的 AudioListner。
当调用 Unity 场景时,已停用的 GameObject 应重新设置为活动状态。
关于资产
Unity 场景运行时引用的资产必须包含在以下其中之一:由 UNITE 管理的资产、构建中场景引用的资产或 Resources, StreamingAssets 下的资产。
由 UNITE 执行的可寻址资产管理是针对 UNITE 资产的,因此如果 Unity 场景引用了可寻址资产,则需要额外的支持。
样品
下面是该功能的一个示例。
设置了一个 Unity 场景和一个调用 Unity 场景的事件。
*导入时请尝试使用新创建的空项目。
导入方法如下所示。
- 下载示例软件包
- 导入示例软件包
- 执行 BuildSetting
- 执行测试
1.下载示例软件包
从此处下载样本数据 (https://cdn.tkool.jp/updata/unite/UnityScene_Sample.unitypackage)
下载数据采用单元包格式。
2.导入样本软件包
打开 UNITE 并选择 [资源]>[导入包]>[自定义包...]。 选择 .
选择下载的 unitypackage 文件,弹出以下屏幕。
按下 [导入] 按钮。
过一会儿,一张名为 “Unity 场景调用测试 ”的地图就会添加进来。
(如果未添加地图,请重启系统)
3.执行 BuildSetting
选择 [RPG Maker] > [Layout] > [RPG Maker + Unity Editor]。
双击 Assets\UnityScene_Sample\UnityScene\TestScene.unity 打开场景。
返回 UNITE 窗口,选择 “构建可执行文件 ”图标。
按下 [Add Scene(添加场景)] 按钮。
如果 “UnityScene_Sample/UnityScene/TestScene ”被添加到构建中包含的场景中,则添加成功。
返回地图并设置玩家的初始位置。
运行测试游戏并操作水晶事件。
如果显示以下场景,则表示已成功过渡到统一场景。
5 秒钟后,您将返回到 UNITE。
评论
0 条评论
请登录写评论。