Influence System Plugin

Goat Mountain Development - 9月 16, 2020

Spatial reasoning system utilising a 2D grid to store and query data at both design and runtime

  • 支持的平台
  • 支持的引擎版本
    4.24 - 4.25
  • 下载类型
    引擎插件
    此产品包含一款代码插件,含有预编译的二进制文件以及与虚幻引擎集成的所有源代码,能够安装到您选择的引擎版本中,并根据每个项目的需求启动。

The Influence System Plugin is a spatial reasoning system, primarily designed for use with AI pawns (Allows for many many other uses), to allow fast queries of both simple and complex information tied to locations in the game world.

 

Influence can be generated both at design time and runtime to allow both static and dynamic (runtime) information about the game world to be queried.

 

Queries are customizable in blueprint and fully extendable in c++ to fit the users need of query complexity. Built in queries include filtering by Influence Map, Source and adding weighting of influence maps.

 

The system comes with runtime features such as:

  • an easy to use blueprint interface for generating influence events and querying influence
  • a custom EQS test for querying influence using EQS
  • a virtual NavigationQueryFilter utilising the underlying Influence Grid to calculate path costs - In other words, the system can influence HOW pawns reach their goal, not just where they decide to go.

 

Static influence events can be generated at design time using blueprint implementable influence generators and baked into influence maps for runtime querying.

 

The system is fully extendable in C++ and has blueprint implementations of classes such as Influence Value Calculation which handles calculating values over event lifetimes.

The plugin is built as a framework and comes with a default implementation of a 2D Grid influence system. The system supports multiple grids in a single level.

 

The system is multithreaded and very fast.

技术细节

Features:

  • 2D Grid influence system implementation
  • Generation of, shape based, influence events in editor and runtime in C++ and Blueprint
  • Filtered Querying of influence data at runtime in C++ and Blueprint
  • Serialization of influence data
  • Extendable framework in C++
  • Custom influence value calculation in Blueprint
  • Parameterized influence queries exposed to Blueprint
  • Visual Debugger (visible in screenshots above)
  • Custom EQS Test and Navigation Query Filter with parameters exposed to Blueprint

 

Code Modules: (Please include a full list of each Plugin module and their module type (Runtime, Editor etc.))

  • InfluenceSystemPlugin (Runtime Module)
  • InfluenceSystemEditor (Editor Module)


Number of Blueprints: 1 Blueprint (editor tool), 1 Debug Material & Textures

Number of C++ Classes: 46 Classes & 43 Structs

Network Replicated: No, System is server only by design

Supported Development Platforms: Windows

Supported Target Build Platforms: Windows

Documentation: www.goatmountaindevelopment.com (Click Documentation)

Example Project: www.goatmountaindevelopment.com (Click Documentation)