Link Network Documentation

From Nexus Mods Wiki
Jump to: navigation, search

AI Link Network

AI links are a proprietary extension to the CryEngine, which also provides a similar but limited geometry links.

AI links are directional links which could be created between any 2 entities.

Link Network Documentation Image1.png

As such, a link features a link-start entity and link-end entity, called respectively “parent” entity and “child” entity (of that link). No hierarchical limitations apply which means, among other things, that you can also create a second reverse link where roles of parent and child are swapped. More links with different properties, used for different purposes, can be created between the same two entities in the same direction. You can really create any link structure you want.

Links are created in Sandbox Editor, and you can find the editor in the Rollup bar, when an entity is selected:

Link Network Documentation Image2.png
You can see a selected QSO q_wounded_soul, rendered links in the view port, and the links editor with a list of links leading FROM the selected entity.

Link properties

A link can have a name (also tag or tagName) and carry data.

For a link to carry data it must use a predefined linkType, as they are defined in LinkTagDefinitions.xml. Link type is defined by the linkTagName and the definition specifies what kind of data the link can carry. The data can be of a primitive type or of a compound type as defined in TypeDefinitions.xml.

Data is written in the name with following syntax:

linkTagName[member1Name(“member1Value”), member2Name(“member2Value”)]

where memberNames are optional, and if absent the system attempts to interpret the members in order of their definitions in LinkTypeDefinitions.xml.

Debug:

The links editor also features a Debug Links view which is capable of showing all links related to the selected entity.

Links are also rendered in the viewport. You can alter this debug view using various cvars with “LinkGizmo” in their name.

Color coding of the Link Gizmo:

Red links are links of undefined type. Green color is the default color for defined link types. You can also define a custom color to your defined type. Yellow color means that there are more links between the two entities.

Static vs. Dynamic

Any link you create in the Sandbox editor is a static link. Static links CANNOT be altered or deleted.

Dynamic links can be created and altered or deleted using AddLink and RemoveLink nodes in MBT.

Usage

Links are one of the major tool used for organizing the thousands of entities into a navigable space of relations between them. Which in turn is primarily used by the special GraphSearch node (and filters and some other specialized nodes) to quickly find the right set of entities to be used in MBT scripts.

Example: Quest Smart Objects regularly use, in their init script, LoadAllReferences utility tree to find and store most assets they need to work with (notice QuestActor and QuestPlace links in the image above).

 

Kingdom Come: Deliverance: Forum | Before you start | Tutorials & Instructions | Basic Mods | Tools | Documentation | Glossary | EULA