在 Unity 中使用网格仿真测试播放模式

如果将网格模拟器 prefab(或只是“模拟器”)添加到 Unity 项目,则可以使用网格仿真在“播放模式”中运行项目。 在此方案中,按 Unity 编辑器“播放”按钮时,你将大致预览内容在网格应用中运行时的外观。 这极大地加快了内容开发期间的迭代周期,并允许高级交互式内容的开发人员使用 Unity 提供的所有强大工具深入调试逻辑。

使用网格仿真的“播放模式”的外观与网格应用中的外观相似,但与网格应用中的外观不同。 我们正在努力尽可能减少差异,而无需牺牲快速迭代所需的轻量级环境。 使用网格仿真的“播放模式”的主要功能是能够在同一进程中运行多个客户端;这允许单个开发人员轻松获得多用户方案的第一印象。

若要在项目中将播放模式与网格仿真配合使用(或否):

  1. 确保已 导入网格工具包

  2. 确保场景包含原点下方的一块实心地板,该基层设置为 GroundCollision 层。 将地板的 XYZ 位置值设置为 0、0、0。

  3. 按“播放”按钮。 该工具包检查其名称中是否存在具有“EmulatorSetup”的 GameObject 在层次结构顶层。 如果没有,将显示此对话框:

    网格模拟器安装程序缺少对话框的屏幕截图。

    执行下列操作之一:

    若要确保每次单击“播放”时都会运行网格仿真:

    • 选择第一个按钮,添加工作网格EmulatorSetup prefab。MeshEmulatorSetup [NoUpload] prefab 显示在层次结构

    网格模拟器安装程序未将预制表添加到层次结构的屏幕截图。

    若要避免运行网格仿真,并阻止单击“播放”时再次出现“模拟器设置缺失”对话框:

    • 选择第二个按钮, 添加虚拟 NoMeshEmulatorSetup 游戏对象。 顾名思义,这实际上不会执行任何操作,但工具包将在其名称中找到“EmulatorSetup”,并且不会再次显示 模拟器安装程序缺少 对话框。

如果最初决定不想使用网格仿真模式,但稍后请更改主意,请从层次结构中删除 NoMeshEmulatorSetup [NoUpload] GameObject。 下次单击“播放”时,工具包将再次显示 模拟器安装程序缺失 对话框,然后单击该按钮添加模拟器。

Play 上的 Teleport Player

在大型场景中工作时,你可能会发现在启动时将玩家传送到特定位置很有价值。 若要实现此目的:

  1. 在层次结构,选择 MeshEmulatorSetup [NoUpload]
  2. 在检查器,导航到网格模拟器安装脚本。
  3. 在“播放上的 Teleport Player”部分中,输入希望玩家传送到的位置旋转 XYZ 值。

网格模拟器安装组件的屏幕截图,其中突出显示了“Play 上的 Teleport Player”部分。

网格仿真拆分屏幕

此功能允许在同一进程中运行多个客户端,并在同一窗口中并行显示它们。 网格工具包本身实现了一个非常最小的模拟网络组件,足以在客户端之间传达玩家位置,使不同的玩家能够将彼此视为高度风格化的虚拟形象:

网格仿真模式下并行显示的多个客户端的屏幕截图。

这足以预览静态内容。 开发交互式内容、视觉脚本、云脚本和/或 WebSlate 时,请记住,这些功能各自包含自己的网络机制,这些机制为多个用户提供同步体验的网格仿真预览。

执行下列操作之一:

  • 通过在网格模拟器设置组件中设置值,在进入播放模式之前增加初始屏幕计数:

网格模拟器安装组件的屏幕截图,初始屏幕计数属性设置为 2。

-或-

  1. 启动播放模式。

  2. DontDestroyOnLoad 场景中,导航到 EmulatorSplitScreen 组件,然后选择“ 添加”屏幕

    ___

现在,可以在每次进行迭代时,无需完成生成和上传过程即可快速测试 Unity 场景。

重要

如果在场景中使用视觉探查器,请确保网格模拟器安装组件中的“初始屏幕计数”设置设置为零。 如果为“1”或更高版本,则看不到 Visual Profiler。

网格模拟器设置组件的屏幕截图,初始屏幕计数设置为零。