步骤 5:查看模拟 - AWS SimSpace Weaver

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

步骤 5:查看模拟

SimSpace Weaver 应用程序 SDK 提供了不同的选项来查看示例应用程序。如果您没有 Unreal Engine 的任何本地开发支持,则可以使用示例控制台客户端。Unreal Engine 客户端的说明会假定您使用的是 Windows。

当实体事件发生时,控制台客户端会显示一个事件列表。客户端从 ViewApp 中获取实体事件信息。如果您的控制台客户端显示了事件列表,则确认了模拟中与 ViewApp 和活动的网络连接。

PathfindingSample 模拟在二维平面上创建静止和移动的实体。移动的实体围绕静止实体移动。Unreal Engine 客户端提供实体事件的可视化效果。

Windows console client
要求
使用示例控制台客户端连接到示例应用程序
  1. 命令提示符窗口中,转到控制台客户端的文件夹(在应用程序 SDK 文件夹中)。

    cd sdk-folder\packaging-tools\clients\PathfindingSampleClients\ConsoleClient
  2. 使用 CMake3 在该文件夹中创建 Visual Studio 解决方案。

    cmake .
    注意

    请确保在末尾加上空格和句点。

    重要

    保持命令提示符窗口处于打开状态,以便执行后续步骤。

  3. 在 Visual Studio 中打开您在上一步中创建的 PathfindingSampleConsoleClient.sln

  4. 选择 RelWithDebInfo 构建配置。

  5. 选择 Build > Build Solution

  6. 在之前的命令提示符窗口中,转到控制台客户端文件夹中的构建输出文件夹。

    cd RelWithDebInfo
  7. 使用您的 ViewApp IP 地址和端口号运行客户端。

    .\ConsoleClient.exe --url tcp://ip-address:port-number

    命令提示符窗口应该会显示实体更新、删除和创建事件的数字,类似于以下示例输出。

    注意

    以下示例输出中的 IP 地址和端口号是占位符。向控制台客户端提供您的 ViewApp IP 地址和端口号。如果要连接到在 AWS Cloud 中运行的 ViewApp,请提供 Actual 端口号。当您连接到在本地系统上运行的 ViewApp 时,请提供 IP 地址和端口号 127.0.0.1:7000。有关更多信息,请参阅本地开发

    
    ##PathfindingSample#ViewApp Message Reader##
    
    Added argument url:tcp://198.51.100.135:4321
    Some subscription arguments are missing, restoring defaults.
    
    *****
    Sample usage without a MoveStrategy:
    ConsoleClient --url tcp://198.51.100.135:4321 --subs-center-x 600 --subs-center-y 500 --subs-radius 50
    Sample usage with CircleMoveStrategy:
    ConsoleClient --url tcp://198.51.100.135:4321 --subs-center-x 600 --subs-center-y 500 --subs-radius 50 --subs-move-strategy circle --circle-center-x 500 --circle-center-y 500 --circle-speed 0.001
    
    *****
    Starting NNG client. NNG version: 1.2.4
    Creating socket ...done.
    Connecting to View App ... done.
    Initiating connection to tcp:// 198.51.100.135:4321 ... done.
    
    Receiving messages ...
    [2022-10-04 19:13:00.710] CreateEntity Count: 72
    [2022-10-04 19:13:00.756] UpdateEntity Count: 42
    [2022-10-04 19:13:00.794] DeleteEntity Count: 72
    [2022-10-04 19:13:03.690] CreateEntity Count: 11
    [2022-10-04 19:13:03.725] UpdateEntity Count: 2
    [2022-10-04 19:13:03.757] UpdateEntity Count: 2
    [2022-10-04 19:13:03.790] UpdateEntity Count: 2
    
    
    注意

    有关故障排除指导,请参阅PathfindingSample 控制台客户端无法连接

  8. CTRL +C 可退出控制台客户端。

Linux console client
重要

为方便起见,我们提供了这些说明。在某些 Linux 环境中可能不适用。这些过程不受支持。

该过程假定您完全在 Linux 环境中工作。您也可以在 Windows 内置的客户端中查看模拟。

要求
  • CMake3

  • C 编译器(已包含在 Amazon Linux 2 中)

  • Git

使用示例控制台客户端连接到示例应用程序
  1. Linux Shell 提示符下,转到控制台客户端的文件夹(在应用程序 SDK 文件夹中)。

    cd sdk-folder/packaging-tools/clients/PathfindingSampleClients/ConsoleClient
  2. 创建一个构建文件夹。

    mkdir build
  3. 转到构建文件夹。

    cd build
  4. 使用 CMake3 构建客户端。

    cmake3 ../ && cmake3 --build .
    注意

    请确保在末尾加上空格和句点。

  5. 使用您的 ViewApp IP 地址和端口号运行客户端。

    ./ConsoleClient --url tcp://ip-address:port-number

    命令提示符窗口应该会显示实体更新、删除和创建事件的数字,类似于以下示例输出。

    注意

    以下示例输出中的 IP 地址和端口号是占位符。向控制台客户端提供您的 ViewApp IP 地址和端口号。如果要连接到在 AWS Cloud 中运行的 ViewApp,请提供 Actual 端口号。当您连接到在本地系统上运行的 ViewApp 时,请提供 IP 地址和端口号 127.0.0.1:7000。有关更多信息,请参阅本地开发

    
    ##PathfindingSample#ViewApp Message Reader##
    
    Added argument url:tcp://198.51.100.135:4321
    Some subscription arguments are missing, restoring defaults.
    
    *****
    Sample usage without a MoveStrategy:
    ConsoleClient --url tcp://198.51.100.135:4321 --subs-center-x 600 --subs-center-y 500 --subs-radius 50
    Sample usage with CircleMoveStrategy:
    ConsoleClient --url tcp://198.51.100.135:4321 --subs-center-x 600 --subs-center-y 500 --subs-radius 50 --subs-move-strategy circle --circle-center-x 500 --circle-center-y 500 --circle-speed 0.001
    
    *****
    Starting NNG client. NNG version: 1.2.4
    Creating socket ...done.
    Connecting to View App ... done.
    Initiating connection to tcp:// 198.51.100.135:4321 ... done.
    
    Receiving messages ...
    [2022-10-04 19:13:00.710] CreateEntity Count: 72
    [2022-10-04 19:13:00.756] UpdateEntity Count: 42
    [2022-10-04 19:13:00.794] DeleteEntity Count: 72
    [2022-10-04 19:13:03.690] CreateEntity Count: 11
    [2022-10-04 19:13:03.725] UpdateEntity Count: 2
    [2022-10-04 19:13:03.757] UpdateEntity Count: 2
    [2022-10-04 19:13:03.790] UpdateEntity Count: 2
    
    
    注意

    有关故障排除指导,请参阅PathfindingSample 控制台客户端无法连接

  6. CTRL +C 可退出控制台客户端。

Unreal Engine on Windows
要求
  • Unreal Engine 5 开发环境

  • Microsoft .NET Framework 4.8 Developer Pack

  • Windows 控制台客户端(参阅本页面上的 Windows 控制台客户端选项卡)

重要

不支持 Unreal Engine 和 .NET 的其他版本,这可能会导致问题。

使用示例 Unreal 客户端连接到示例应用程序
  1. Unreal Engine 客户端使用控制台客户端中的 NNG 库。如果尚未构建控制台客户端,则必须为 Windows 构建控制台客户端。有关更多信息,请参阅本页面上的 Windows 控制台客户端选项卡。

  2. 文件管理器窗口中,转至 sdk-folder\packaging-tools\clients\PathfindingSampleClients\UnrealClient

  3. 打开 UnrealClient.uproject

  4. 如果编辑器询问是否要重建 UnrealClient 模块,请选择 yes

  5. 文本编辑器中,打开 sdk-folder\packaging-tools\clients\PathfindingSampleClients\UnrealClient\view_app_url.txt

  6. 在查看应用程序中更新 URL 的 IP 地址和端口号:tcp://ip-address:port-number(它应该类似于 tcp://198.51.100.135:1234)。

  7. Unreal 编辑器中,选择 play

您的 Unreal 编辑器应该会显示模拟的可视化效果,类似于以下屏幕截图。


            在 Unreal 编辑器中显示的视图,该视图在一个平面上显示了立方体和移动的球体。
注意

Unreal 编辑器可能需要几分钟才能显示出模拟效果,具体取决于本地开发系统的性能。在此期间,系统可能出现冻结状态。

使用 WASD 键在 Unreal 可在客户端中移动实体。按住鼠标按钮并拖动鼠标可转动实体。

您可以按 [(左方括号)键来缩小订阅区域的大小。您可以按 ](右方括号)键来扩大订阅区域的大小。订阅区域的大小决定客户端中显示的实体数量。

要在模拟中创建实体,您可以按 C 键。客户端会向查看应用程序发送 CreateEntity 命令。然后,查看应用程序将创建实体并将其转移到空间域中。

您可以在 project-folder\src\PathfindingSample\ViewApp\Driver\ViewAppDriver.cpp 中检查 ViewAppDriver::HandleEntityCreationRequests 的代码,了解应用程序是如何实现此过程的。