Link Network Documentation
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.
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:
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:
where memberNames are optional, and if absent the system attempts to interpret the members in order of their definitions in LinkTypeDefinitions.xml.
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.
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|