创建简单的云脚本项目
在本文中,你将使用网格云脚本创建和发布一个简单的项目。 本文假定已在 系统上设置云脚本。 建议先熟悉当前网格工具包已知问题列表,然后再开始使用网格云脚本进行开发。
使用网格云脚本创建场景
以下说明演示如何创建具有多维数据集的简单环境,该多维数据集在用户单击时旋转该多维数据集。
转到名为 “新建”或更新现有项目的文章。 如果要创建新项目,请确保按照名为 “创建新项目”部分的所有步骤进行操作。 如果要更新现有项目,请对名为 “更新现有项目”的部分执行相同的操作。
创建新场景。
向场景添加旅行点。
保存场景并将其命名。 对于此示例,我们将使用名称 MyFirstCloudScripting。
在菜单栏上,选择 GameObject>Mesh Toolkit>设置云脚本。
请注意,名为 Mesh Cloud Scripting 的游戏对象显示在层次结构中,并且已选中。 如果单击检查器中的“打开应用程序文件夹”按钮...
...你将在 Windows 文件资源管理器中看到,这会在 Assets 中创建名为 MyFirstCloudScripting.csproj 的新 ASP.NET Core > 项目。MeshCloudScripting > MyFirstCloudScripting 文件夹。
修改场景
使用网格仿真设置播放模式。 请确保向场景添加一个 GameObject,该场景可以充当地板并将其设置为 GroundCollision 层。
使用网格仿真设置播放模式时,它会将 prefab MeshEmulatorSetup[NoUpoload] 添加到场景,其中包含你将从此开始使用的相机。 不再需要默认 的主相机 GameObject;请将其删除。
在菜单栏上,选择 GameObject>3D 对象>多维数据集。
在层次结构中,将多维数据集拖动到网格云脚本对象,使多维数据集成为该对象的子对象。
选中多维数据集后,在检查器中导航到转换组件,然后将多维数据集的位置和旋转值更改为以下内容:
位置:X = 0.1、Y = 1.5、Z = 3.3。
旋转:X = -15,Y = 0.8,Z = 0.1
提示:MeshEmulatorSetup[NoUpload] prefab 中的相机是 AvatarHead 的子对象。
在检查器中,单击“添加组件”,然后选择“网格可交互设置”。
保存场景。
修改 C# 项目
在层次结构中,选择网格云脚本对象。
在检查器中,导航到网格云脚本组件,然后单击“打开应用程序文件夹”按钮。 这将打开文件资源管理器,并显示项目内容的视图。
在
App.cs
代码编辑器中打开脚本。请注意,在 App 类中,有两个变量:
private readonly ILogger<App> _logger; private readonly ICloudApplication _app;
将以下内容添加为第三个变量:
private float _angle = 0;
StartAsync 方法包含单个注释:“在此处添加应用启动代码”。将它替换为下面的代码,使 StartAsync 方法如下所示:
public Task StartAsync(CancellationToken token) { // First we find the TransformNode that corresponds to our Cube gameobject var transform = _app.Scene.FindFirstChild<TransformNode>(); // Then we find the InteractableNode child of that TransformNode var sensor = transform.FindFirstChild<InteractableNode>(); // Handle a button click sensor.Selected += (_, _) => { // Update the angle on each click _angle += MathF.PI / 8; transform.Rotation = new Rotation { X = 1, Y = 0, Z = 0, Angle = _angle }; }; return Task.CompletedTask; }
保存您的工作。
在本地运行应用程序
- 在 Unity 中,单击“Unity 编辑器播放”按钮。
- 在 “游戏 ”窗口中,单击“多维数据集”。 每次单击时,多维数据集都会在其“X”轴上旋转。
- 完成后,退出“播放模式”。
使用 Visual Studio 调试应用程序(可选)
在层次结构中,确保已选择网格云脚本对象。
在检查器中,导航到网格云脚本组件,然后选择“启用应用程序调试”。
输入“播放”模式并选择调试器。
打开App.cs文件,然后添加断点,然后继续执行。
在 Unity 中,单击多维数据集。
注意
默认情况下,应用程序将在处于非活动状态的两分钟后超时。 若要增加此窗口,请在清单文件中设置一个 "debugTimeoutSecs"
值(示例: "debugTimeoutSecs": "240"
) 。
生成和发布环境
若要生成和发布环境,请按照生成和发布环境文章中的说明进行操作。
从 Unity 连接到云脚本服务
注意
仅当 ServiceMode 设置为 Dev 时,才可用。
- 在层次结构中,确保已选择网格云脚本对象。
- 在检查器中,导航到网格云脚本组件,然后打开“开发人员设置”下拉列表。
- 取消选择 运行本地云脚本服务器。
- 单击“Unity 编辑器播放”按钮。
创建事件并从网格应用加入该事件
- 使用刚生成和发布的环境创建事件。 如果需要指导,请参阅如何在 网格门户中创建事件。
- 在网格应用中加入事件。
在Microsoft网格应用程序中显示网格云脚本服务错误(可选)
默认情况下,云脚本服务中的错误消息不会显示在网格应用中,以最大程度地减少用户中断。 如果需要出于调试目的显示这些消息,请使用以下步骤:
打开网格应用。
单击“菜单”按钮,然后选择“设置”。
在左侧菜单栏中,选择“ 面向开发人员”。
将 “显示网格脚本”错误 按钮切换为“打开”。