资源类型:UE插件
支持软件:UE5.3
文件格式:持续更新
包含内容:插件
在为插件添加了一些很酷的功能以及 Loot Generator 的推出后,插件的价格将会增加。
- 这是一种非常强大、动态可扩展且易于插拔的优化算法,适用于您的项目,采用“分而治之”原则。
- 该系统可以处理数千个 actor。您可以创建一个完整的世界,每个 actor 都会始终记住他的参数(角色生命值、角色饥饿度、植物生长水平等)。
- 试想一下,你家里有一扇窗户,你打开它咬了一口苹果,跑了几百公里的地球,里面还有百万演员,当你回来时,窗户也会打开,但苹果已经变质了。而这一切都以最高的 FPS 实现。
- 您自己控制角色附近的 actor 数量。是的,所有这些都带有多人游戏支持。这是几年实施优化算法的经验,是一个完美的创造。这是市场上最好的报价。
包括 2 个模块。优化和生成器。
- 优化模块 – Sectors Director:
- “Divide and Conquer” – 最佳优化算法。一种将整个游戏世界划分为多个区域的技术,每个区域分别存储有关该区域内所有参与者的信息。这允许您使用任意数量的 actor 和任何大小的世界。简单地说,如果你在世界上有数十万个演员,例如:NPC、武器、食物、箱子、门,一般来说,你的角色可以与之互动的一切,它们都会不断加载计算机并且难以处理。该系统优化了所有参与者:它会记住但不实时处理当前在活动扇区之外的那些参与者的参数,但是一旦这些参与者出现在活动扇区中,考虑到临时变化(例如,20 分钟前咬的苹果已经腐烂了)。
- 所有 Actor 都有多个优化阶段。
- 0 – active actor 阶段,不受 GWO 系统的任何限制。
- 1 – 舞台,角色位于摄像机的可见区域之外,角色受 Event Tick 限制,其动画被简化,阴影和网格被禁用。这发生在客户端,因此实际上,在服务器上,参与者不受限制,并在正确的时间执行其所有事件。
- 2 – 阶段,角色很远,他的信息被保存并卸载,如有必要,将进行静态网格的替换。现在 actor 正在等待 player 接近他,他将再次加载到系统中,并保存所有变量。
3. 因此,每个扇区只存储必要的信息,但也可能有很多扇区。而在这里我们还创建了一个强大的优化,我们有一个经常使用的扇区缓存,所以如果角色主要在一个区域移动,那么缓存中的数据就会立即加载。
4. 使用连接到您的角色的组件,实现我们的优化系统非常简单。每个角色都有一个唯一的 ID,可以保存在公共系统中。
5. 每个 Actor 或 NPC 在活动扇区中单独处理,您可以指定其与 Actor 之间的可见距离。例如,大型 Actor 可能显示在很远的距离,而较小的 Actor 可能出现在近距离。这样您就可以平衡项目的 FPS。
6. 可以调整扇区的大小以适应您的世界。
7. 不需要在您的级别创建标记。该系统是完全动态可扩展的。
8. 动态资产加载系统。如果您进入了对象的可见性区域,并且有很多对象,那么它们不会全部在一个帧中生成,但您可以调整生成,例如,在 1 帧中跳过 2 个帧 5 个 actor。然后所有生成都非常顺利地进行,没有楣板。
9. 使用系统进行优化,将 actor 替换为实例静态网格。为了最大限度地提高项目的沉浸感,您可能需要显示大量交互式 Actor。例如,想象一个城市。每间公寓都有互动演员、门、空调、冰箱和电视。这些 Actor 中的每一个在工作时以及等待您的交互时都会发出声音,并且它们总是占用 CPU 资源。是的,在插件和优化的帮助下,它们将被删除,但如果你从远处看这套公寓,你不会看到空调或其他演员。在我们的系统中,所有这些 actor 都将被 Instance 替换,并且像树一样,它们将从远处显示,同时几乎不使用任何资源。而当接近时,他们会被真正的演员轻轻地取代,并会恢复信息。您的电视将再次打开。现在,想象一下一整座城市,里面有数十万名演员。使用该系统,这很容易实现。
- 种群控制模块 – Spawner:
- 这个刷怪箱可以处理任何任务,这不仅是 NPC 的生成,也是任何 actor 的生成。例如,水果或武器。您的项目可能需要的一切。
- 与 Sectors Director 完全集成。通过为每个 actor 使用唯一的 ID,每个生成器总是知道属于他的 actor 的状态/状态/参数。
- 为了获得最大的方便,在每个生成器中,没有必要为每个 actor 的生成进行单独的设置。现在你可以基于 DataTable 创建列表,每个生成器可以有任意数量的列表。例如,您有一个包含侏儒和兽人的 NPC 生成列表,第二个列表可能包含魔术师和战士。您可以为每个生成器添加任意数量的列表,既快速又方便。另一个例子,在开发过程中,您决定将 NPC 弓箭手添加到一些刷怪箱中。您可以简单地将弓箭手添加到其中一个列表中,或者创建另一个列表并简单地将它们添加到刷怪箱中。
- 对于列表中的每个角色,您可以灵活地配置大量参数,例如生成几率、取决于一天中的时间的生成几率、生成距离、随机旋转、重生时间、最小生成距离(这样 actor 就不会在您面前生成)以及更多其他参数。
- 现在,在 actor 生成设置中,您可以配置生成 actor 的最大数量,以及世界中活动 actor 的最大数量。这样你可以限制只生成 5 个兽人,如果生成了这个数量的兽人,刷怪笼会等到它们被摧毁。
- 当前准备生成的所有 actor 都将传输到 Sectors Director,它可以根据设置而不是在一帧中生成所有人。例如,每 1 帧 2 个 actor,然后跳过帧,您可以自行配置其数量。因此,所有 actor 的生成都非常流畅,没有 FPS 损失。
- In RunTime, the spawner can change spawn points if you want it to. This is done so that the spawn is always random, which makes the world unique and interesting.
- 生成器始终监控 actor 种群。有了它,您可以轻松支持您世界中的大量 actor。这允许创建大型人口世界。
- 有关您的角色的所有信息都保存在任意距离。如果生成了一个 actor,并且您对他执行了一些操作并走了很长一段距离,那么当您返回时,所有信息都将恢复,无论是生命值还是任何其他参数。
- 在设置生成器时,它会将整个区域划分为多个扇区,并显示这些扇区中的生成点。您可以配置每个扇区中的参与者数量。此外,在 Runtime 中,这些区域可以混合以创建独特的世界。
- 在开始时生成。您希望某些对象从远处可见,尤其是当它们很大并且将使用 实例 进一步优化时。只需在列表中启用此功能,生成器将在启动时使用 spawn queues生成所有内容,因此它不会导致您的项目冻结。
这个插件将不断改进和扩展。
技术细节
很多人问这个插件是否可以在没有专用服务器的情况下优化你的演员和 NPC。当然可以。为此插件制作的预告片没有任何专用服务器。
特征:
- “Divide and Conquer” – 最佳优化算法。
- 保存和加载系统
- 软角色生成
- 该系统可以优化任意数量的 actor,即使有数百万个 actor
- 生成列表。生成设置具有最大的灵活性。
- The plugin is easy to use.
- 完整的多人游戏支持
- 所有计算都在服务器端完成。
- 不需要 C++ 知识。所有必要的功能都显示在蓝图中
- 创建大世界很容易
- 在 Discord 中免费支持我们的产品
- 这是市场上最好的报价。
代码模块:
- AGWOSpawner (类型: 运行时)
- AGWOSpawnZoneBlocking(类型:运行时)
- AGWOSectorsDirector (Type: Runtime)
- UGWOPlayerComponent (类型: 运行时)
- AGWOGeneralAccess (类型: 运行时)
- UGWOActorComponent (类型: 运行时)
蓝图数量:8
C++ 类数:9
复制的网络:是
支持的开发平台: Win64、Mac、Linux
支持的目标构建平台:Win64、Mac、Linux
示例项目:包括
评论(0)