Navigation
API > API/Plugins > API/Plugins/InterchangeNodes
The scene node represents a transform node in the scene. Scene nodes can have user-defined attributes. Use UInterchangeUserDefinedAttributesAPI to get and set user-defined attribute data.
| Name | UInterchangeSceneNode |
| Type | class |
| Header File | /Engine/Plugins/Interchange/Runtime/Source/Nodes/Public/InterchangeSceneNode.h |
| Include Path | #include "InterchangeSceneNode.h" |
Syntax
UCLASS (MinimalAPI, BlueprintType)
class UInterchangeSceneNode : public UInterchangeBaseNode
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UInterchangeBaseNode → UInterchangeSceneNode
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UInterchangeSceneNode() |
InterchangeSceneNode.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| CacheBindPoseGlobalTransform | TOptional< FTransform > | InterchangeSceneNode.h | ||
| CacheGlobalTransform | TOptional< FTransform > | Mutable caches for global transforms | InterchangeSceneNode.h | |
| CacheTimeZeroGlobalTransform | TOptional< FTransform > | InterchangeSceneNode.h | ||
| CurveAnimationTypes | UE::Interchange::TMapAttributeHelper< FString, EInterchangeAnimationPayLoadType > | A scene node can have Attributes defining Curves. (Mostly used for tracking Custom Attributes' Animation Types). | InterchangeSceneNode.h | |
| LayerNames | UE::Interchange::TArrayAttributeHelper< FString > | A scene node can be part of multiple Layers. | InterchangeSceneNode.h | |
| Macro_CustomActorVisibilityKey | const UE::Interchange::FAttributeKey | InterchangeSceneNode.h | ||
| Macro_CustomAnimationAssetUidToPlayKey | const UE::Interchange::FAttributeKey | A scene node can reference an animation asset on top of base asset: | InterchangeSceneNode.h | |
| Macro_CustomAssetInstanceUidKey | const UE::Interchange::FAttributeKey | A scene node can reference an asset. Asset can be Mesh, Light, camera... | InterchangeSceneNode.h | |
| Macro_CustomBindPoseLocalTransformKey | const UE::Interchange::FAttributeKey | Scene node Local bind pose transforms (the specialize type should be set to joint) | InterchangeSceneNode.h | |
| Macro_CustomComponentVisibilityKey | const UE::Interchange::FAttributeKey | A scene node can be invisible, but still be imported. We have two of these to match how you can separately animate actor and component visibility. | InterchangeSceneNode.h | |
| Macro_CustomGeometricTransformKey | const UE::Interchange::FAttributeKey | A scene node can have a transform apply to the mesh it reference. | InterchangeSceneNode.h | |
| Macro_CustomHasBindPoseKey | const UE::Interchange::FAttributeKey | Tracks if Scene Node Has Bind Pose. | InterchangeSceneNode.h | |
| Macro_CustomLocalTransformKey | const UE::Interchange::FAttributeKey | Scene node default local transforms. | InterchangeSceneNode.h | |
| Macro_CustomPivotNodeTransformKey | const UE::Interchange::FAttributeKey | A scene node can have a pivot transform apply to the mesh it reference (use this pivot only if you are not baking the vertices of the mesh). | InterchangeSceneNode.h | |
| Macro_CustomTimeZeroLocalTransformKey | const UE::Interchange::FAttributeKey | Scene node local transforms at time zero. This attribute is important for rigid mesh import or if the translator did not fill the bind pose. | InterchangeSceneNode.h | |
| MeshToGlobalBindPoseReferences | UE::Interchange::TMapAttributeHelper< FString, FMatrix > | BindPose References per Mesh for a JointNode. | InterchangeSceneNode.h | |
| MorphTargetCurveWeights | UE::Interchange::TMapAttributeHelper< FString, float > | A scene node can have different MorphTarget curve settings: | InterchangeSceneNode.h | |
| NodeSpecializeTypes | UE::Interchange::TArrayAttributeHelper< FString > | A scene node can represent many special types. | InterchangeSceneNode.h | |
| SlotMaterialDependencies | UE::Interchange::TMapAttributeHelper< FString, FString > | A scene node can have is own set of materials for the mesh it reference. | InterchangeSceneNode.h | |
| Tags | UE::Interchange::TArrayAttributeHelper< FString > | A scene node can have multiple Tags. | InterchangeSceneNode.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool AddLayerName
(
const FString& LayerName |
Add LayerName that this SceneNode (Actor) is supposed to be part of. | InterchangeSceneNode.h | |
bool AddSpecializedType
(
const FString& SpecializedType |
InterchangeSceneNode.h |
|
|
bool AddTag
(
const FString& Tag |
Add Tag that this SceneNode (Actor) is supposed to have. | InterchangeSceneNode.h | |
bool GetAnimationCurveTypeForCurveName
(
const FString& CurveName, |
Gets the Animation Curve Type for the given CurveName. | InterchangeSceneNode.h |
|
bool GetCustomActorVisibility
(
bool& bOutIsVisible |
Gets whether actors spawned from this node should be visible | InterchangeSceneNode.h |
|
bool GetCustomAnimationAssetUidToPlay
(
FString& AttributeValue |
Get the Animation Asset To Play by this Scene Node. | InterchangeSceneNode.h |
|
bool GetCustomAssetInstanceUid
(
FString& AttributeValue |
Get which asset, if any, a scene node is instantiating. | InterchangeSceneNode.h |
|
bool GetCustomBindPoseGlobalTransform
(
const UInterchangeBaseNodeContainer* BaseNodeContainer, |
Get the global transform of the bind pose scene node. | InterchangeSceneNode.h |
|
bool GetCustomBindPoseLocalTransform
(
FTransform& AttributeValue |
Get the local transform of the bind pose scene node. | InterchangeSceneNode.h |
|
bool GetCustomComponentVisibility
(
bool& bOutIsVisible |
Gets whether components spawned from this node should be visible | InterchangeSceneNode.h |
|
bool GetCustomGeometricTransform
(
FTransform& AttributeValue |
Get the geometric offset. Any mesh attached to this scene node will be offset using this transform. | InterchangeSceneNode.h |
|
bool GetCustomGlobalTransform
(
const UInterchangeBaseNodeContainer* BaseNodeContainer, |
Get the default scene node global transform. | InterchangeSceneNode.h |
|
bool GetCustomHasBindPose
(
bool& bHasBindPose |
Gets if the joint has BindPose (if the setter was used, otherwise returns with false and T0 evaluation presumes bHasBindPose==true). | InterchangeSceneNode.h |
|
bool GetCustomLocalTransform
(
FTransform& AttributeValue |
Get the default scene node local transform. | InterchangeSceneNode.h |
|
bool GetCustomPivotNodeTransform
(
FTransform& AttributeValue |
Get the node pivot geometric offset. | InterchangeSceneNode.h |
|
bool GetCustomTimeZeroGlobalTransform
(
const UInterchangeBaseNodeContainer* BaseNodeContainer, |
Get the global transform of the time-zero scene node. | InterchangeSceneNode.h |
|
bool GetCustomTimeZeroLocalTransform
(
FTransform& AttributeValue |
Time zero transform is the transform of the node at time zero. | InterchangeSceneNode.h |
|
bool GetGlobalBindPoseReferenceForMeshUID
(
const FString& MeshUID, |
Get the Global Bind Pose Reference for given MeshUID. | InterchangeSceneNode.h |
|
void GetLayerNames
(
TArray< FString >& OutLayerNames |
Gets the LayerNames that this SceneNode (Actor) is supposed to be part of. | InterchangeSceneNode.h | |
void GetMorphTargetCurveWeights
(
TMap< FString, float >& OutMorphTargetCurveWeights |
Get MorphTargets and their weights. | InterchangeSceneNode.h |
|
void GetSlotMaterialDependencies
(
TMap< FString, FString >& OutMaterialDependencies |
Retrieve the correspondence table between slot names and assigned materials for this object. | InterchangeSceneNode.h |
|
bool GetSlotMaterialDependencyUid
(
const FString& SlotName, |
Retrieve the Material dependency for a given slot of this object. | InterchangeSceneNode.h |
|
void GetSpecializedType
(
const int32 Index, |
InterchangeSceneNode.h |
|
|
int32 GetSpecializedTypeCount() |
Get the specialized type this scene node represents (for example, Joint or LODGroup). | InterchangeSceneNode.h |
|
void GetSpecializedTypes
(
TArray< FString >& OutSpecializedTypes |
InterchangeSceneNode.h |
|
|
void GetTags
(
TArray< FString >& OutTags |
Gets the Tags that this SceneNode (Actor) is supposed to have. | InterchangeSceneNode.h | |
bool IsSpecializedTypeContains
(
const FString& SpecializedType |
InterchangeSceneNode.h |
|
|
bool RemoveLayerName
(
const FString& LayerName |
Remove LayerName that this SceneNode (Actor) is supposed to be part of. | InterchangeSceneNode.h | |
bool RemoveSlotMaterialDependencyUid
(
const FString& SlotName |
Remove the Material dependency associated with the given slot name from this object. | InterchangeSceneNode.h |
|
bool RemoveSpecializedType
(
const FString& SpecializedType |
InterchangeSceneNode.h |
|
|
bool RemoveTag
(
const FString& Tag |
Remove Tag that this SceneNode (Actor) is supposed to have. | InterchangeSceneNode.h | |
bool SetAnimationCurveTypeForCurveName
(
const FString& CurveName, |
Sets the Animation Curve Type for the given CurveName (StepCurve or Curve). | InterchangeSceneNode.h |
|
bool SetCustomActorVisibility
(
bool bInIsVisible |
Sets whether actors spawned from this node should be visible | InterchangeSceneNode.h |
|
bool SetCustomAnimationAssetUidToPlay
(
const FString& AttributeValue |
Set the Animation Asset To Play by this Scene Node. | InterchangeSceneNode.h |
|
bool SetCustomAssetInstanceUid
(
const FString& AttributeValue |
Add an asset for this scene node to instantiate. | InterchangeSceneNode.h |
|
bool SetCustomBindPoseLocalTransform
(
const UInterchangeBaseNodeContainer* BaseNodeContainer, |
Set the local transform of the bind pose scene node. | InterchangeSceneNode.h |
|
bool SetCustomComponentVisibility
(
bool bInIsVisible |
Sets whether components spawned from this node should be visible | InterchangeSceneNode.h |
|
bool SetCustomGeometricTransform
(
const FTransform& AttributeValue |
Set the geometric offset. Any mesh attached to this scene node will be offset using this transform. | InterchangeSceneNode.h |
|
bool SetCustomHasBindPose
(
const bool& bHasBindPose |
Sets if Joint has Bind Pose. | InterchangeSceneNode.h |
|
bool SetCustomLocalTransform
(
const UInterchangeBaseNodeContainer* BaseNodeContainer, |
Set the default scene node local transform. | InterchangeSceneNode.h |
|
bool SetCustomPivotNodeTransform
(
const FTransform& AttributeValue |
Set the node pivot geometric offset. | InterchangeSceneNode.h |
|
bool SetCustomTimeZeroLocalTransform
(
const UInterchangeBaseNodeContainer* BaseNodeContainer, |
Set the local transform of the time-zero scene node. | InterchangeSceneNode.h |
|
void SetGlobalBindPoseReferenceForMeshUIDs
(
const TMap< FString, FMatrix >& GlobalBindPoseReferenceForMeshUIDs |
Set the Global Bind Pose Referenced for MeshUIDs. | InterchangeSceneNode.h |
|
bool SetMorphTargetCurveWeight
(
const FString& MorphTargetName, |
Set MorphTarget with given weight. | InterchangeSceneNode.h |
|
bool SetSlotMaterialDependencyUid
(
const FString& SlotName, |
Add the specified Material dependency to a specific slot name of this object. | InterchangeSceneNode.h |
|
Overridden from UInterchangeBaseNode
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FString GetAttributeCategory
(
const UE::Interchange::FAttributeKey& NodeAttributeKey |
InterchangeSceneNode.h | ||
virtual FName GetIconName () |
Icon names are created by adding "InterchangeIcon_" in front of the specialized type. | InterchangeSceneNode.h | |
virtual FString GetKeyDisplayName
(
const UE::Interchange::FAttributeKey& NodeAttributeKey |
InterchangeSceneNode.h | ||
virtual FString GetTypeName() |
Return the node type name of the class. This is used when reporting errors. | InterchangeSceneNode.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void Serialize
(
FArchive& Ar |
Override Serialize() to restore SlotMaterialDependencies on load. | InterchangeSceneNode.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void ResetAllGlobalTransformCaches
(
const UInterchangeBaseNodeContainer* BaseNodeContainer |
Skeleton bone API End This static function ensures all the global transform caches are reset for all the UInterchangeSceneNode nodes in the UInterchangeBaseNodeContainer. | InterchangeSceneNode.h | |
static void ResetGlobalTransformCachesOfNodeAndAllChildren
(
const UInterchangeBaseNodeContainer* BaseNodeContainer, |
This static function ensures all the global transform caches are reset for all the UInterchangeSceneNode nodes children in the UInterchangeBaseNodeContainer. | InterchangeSceneNode.h |