Modifiers

From C4 Engine Wiki
Revision as of 11:52, 15 July 2023 by Eric Lengyel (talk | contribs) (Created page with "__NOTOC__ A '''modifier''' is something that can be assigned to an instance node in order to change the appearance or properties of the world it references in some way. There are several modifiers built into the engine, and an application may define additional custom modifiers for its own use. Modifiers are assigned to an instance node in the World Editor under the '''Modifiers''' tab in the Node Info window. == Standard Modifiers == The following modifiers are bui...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

A modifier is something that can be assigned to an instance node in order to change the appearance or properties of the world it references in some way. There are several modifiers built into the engine, and an application may define additional custom modifiers for its own use. Modifiers are assigned to an instance node in the World Editor under the Modifiers tab in the Node Info window.

Standard Modifiers

The following modifiers are built into the core engine.

Setting

Description

Augment Instance

Loads another world alongside the instanced world. This can be useful for adding details to an object or adding physics to an object that is ordinarily immovable. The secondary world is instanced just like the originally instanced world, so data is shared among multiple instances of worlds loaded with this modifier.

  • The Instanced world name setting specifies the name of the world resource to be loaded.

Wake Controller

Searches through all top-level nodes in the instanced world and wakes all controllers that are found.

Sleep Controller

Searches through all top-level nodes in the instanced world and puts all controllers that are found to sleep.

Connect Instance

Connects one of the outgoing connectors belonging to the instance node to a named node in the instanced world.

  • The Outgoing connector key setting specifies the connector attached to the instance node that will be connected to a node in the instanced world.
  • The Target node name setting specifies the name of the node inside the instanced world to which the connector will be connected.

Move Connector Inside

Takes an incoming connector that is connected to the instance node from outside the instance and reconnects it to a named node inside the instanced world.

  • The Incoming connector key setting specifies the connector targeting the instance node that will be reconnected to a node inside the instanced world.
  • The Target node name setting specifies the name of the node inside the instanced world to which the connector will be connected.

Move Connector Outside

Takes an incoming connector that is connected to the instance node from inside the instance and reconnects it to a node outside the instanced world.

  • The Incoming connector key setting specifies the connector targeting the instance node that will be reconnected to a node outside the instanced world.
  • The target connector key setting specifies the connector targeting a node outside the instanced world to which the connector will be connected.

Enable Nodes

Enables a named node in the instanced world.

  • The Node type setting specifies the type of node inside the instanced world that will be enabled. If no name is specified then all nodes of this type are enabled. If the type is set to <Any>, then any node with a matching name is enabled regardless of its type.
  • The Node name (blank for all) setting specifies the name of the node inside the instanced world that will be enabled. If no name is given, then all nodes matching the Node type setting are enabled.

Disable Nodes

Disables a named node in the instanced world.

  • The Node type setting specifies the type of node inside the instanced world that will be disabled. If no name is specified then all nodes of this type are disabled. If the type is set to <Any>, then any node with a matching name is disabled regardless of its type.
  • The Node name (blank for all) setting specifies the name of the node inside the instanced world that will be disabled. If no name is given, then all nodes matching the Node type setting are disabled.

Delete Nodes

Deletes a named node in the instanced world.

  • The Node type setting specifies the type of node inside the instanced world that will be deleted. If no name is specified then all nodes of this type are deleted. If the type is set to <Any>, then any node with a matching name is deleted regardless of its type.
  • The Node name (blank for all) setting specifies the name of the node inside the instanced world that will be deleted. If no name is given, then all nodes matching the Node type setting are deleted.

Enable Interactivity

Enables interactivity for a named node in the instanced world.

  • The Node name (blank for all) setting specifies the name of the node inside the instanced world that will have interactivity enabled. The node must already have an interaction property assigned to it. If no name is given, then interactivity is enabled for all nodes in the instanced world that have interaction properties assigned to them.

Disable Interactivity

Disables interactivity for a named node in the instanced world.

  • The Node name (blank for all) setting specifies the name of the node inside the instanced world that will have interactivity disabled. The node must already have an interaction property assigned to it. If no name is given, then interactivity is disabled for all nodes in the instanced world that have interaction properties assigned to them.

Set Perspective Mask

Changes the perspective mask for nodes inside the instanced world having a specific type and/or name.

  • The Node type setting specifies the type of node inside the instanced world that will be modified. If no name is specified then all nodes of this type are modified. If the type is set to <Any>, then any node with a matching name is modified regardless of its type.
  • The Node name (blank for all) setting specifies the name of the node inside the instanced world that will be modified. If no name is given, then all nodes matching the Node type setting are modified.
  • The check boxes under the Perspective Mask heading specify in what perspectives the modified nodes will be visible.

Replace Material

Replaces the material for a named geometry node in the instanced world with the material assigned to the instance node itself. If no name is given, then the materials for all geometry nodes in the instanced world are replaced.

  • The Node name (blank for all) setting specifies the name of the node inside the instanced world that will have its material replaced.

Remove Physics

Finds a top-level node having a Rigid Body Controller in the instanced world and removes the controller. This modifier also deletes any physics shapes and joints in the entire instanced world.

Set Shape Substance

Sets the substance type for shape nodes inside the instanced world.

  • The Node name (blank for all) setting specifies the name of the node inside the instanced world that will be modified. If no name is given, then all shape nodes are modified.
  • The Shape substance setting specifies the substance type to assign to each shape node. Substance types are registered by the game module using the MaterialObject::RegisterSubstance function.

See Also