Open 3D Engine SceneProcessing Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::SceneProcessingConfig::SceneProcessingConfigRequests Class Referenceabstract

Inherits EBusTraits.

Public Member Functions

virtual const AZStd::vector< AZStd::unique_ptr< SoftNameSetting > > * GetSoftNames ()=0
 
virtual bool AddNodeSoftName (const char *pattern, SceneAPI::SceneCore::PatternMatcher::MatchApproach approach, const char *virtualType, bool includeChildren)=0
 Adds a virtual type for matching against the name of scene nodes. @pattern: The string pattern that will be used to match the name of nodes within asset files. If approach == PreFix, then pattern looks like "name_". And a node named "name_abc" would match. If approach == PostFix, then pattern looks like "_name". And a node named "abc_name" would match. If approach == RegEx, the pattern is a regular expression. @approach: See pattern. @virtualType: This string will be internally CRC32'ed. For nodes that match pattern, this will be the virtual type of the node. @includeChildren: For each parent node, If true, it will do pattern matching across the children nodes, otherwise the pattern matching will always stop at root nodes.
 
virtual bool AddFileSoftName (const char *pattern, SceneAPI::SceneCore::PatternMatcher::MatchApproach approach, const char *virtualType, bool inclusive, const AZStd::string &graphObjectTypeName)=0
 Adds a virtual type for matching against the name of asset files. @pattern See AddNodeSoftName(...) @approach See AddNodeSoftName(...) @virtualType See AddNodeSoftName(...) @inclusive 1. If the asset file name doesn't match the pattern then the value of this flag is irrelevant. No VirtualType will be assigned to any root node within the asset file.
 

Static Public Attributes

static const EBusHandlerPolicy HandlerPolicy = EBusHandlerPolicy::Single
 
static const EBusAddressPolicy AddressPolicy = EBusAddressPolicy::Single
 

Member Function Documentation

◆ AddFileSoftName()

virtual bool AZ::SceneProcessingConfig::SceneProcessingConfigRequests::AddFileSoftName ( const char *  pattern,
SceneAPI::SceneCore::PatternMatcher::MatchApproach  approach,
const char *  virtualType,
bool  inclusive,
const AZStd::string &  graphObjectTypeName 
)
pure virtual

Adds a virtual type for matching against the name of asset files. @pattern See AddNodeSoftName(...) @approach See AddNodeSoftName(...) @virtualType See AddNodeSoftName(...) @inclusive 1. If the asset file name doesn't match the pattern then the value of this flag is irrelevant. No VirtualType will be assigned to any root node within the asset file.

  1. If the asset file name MATCHES the pattern, then: 2.1. If at least one root node of type graphObjectTypeName is found in the scene then the Virtual Type is assigned or NOT depending on the value of this parameter. 2.2. If none of the root nodes are of type graphObjectTypeName then the Virtual Type is assigned or NOT depending on the NEGATED value of this parameter. @graphObjectTypeName TYPEINFO_Name() of a SceneAPI::DataTypes::IGraphObject derived class. e.g. SceneAPI::DataTypes::IAnimationData::TYPEINFO_Name().
    Returns
    See AddNodeSoftName(...)
    Precondition
    Example: AddFileSoftName("_anim", PatternMatcher::MatchApproach::PostFix, "Ignore", false, SceneAPI::DataTypes::IAnimationData::TYPEINFO_Name()) If the filename ends with "_anim" this will mark all nodes as "Ignore" unless they're derived from IAnimationData. This will cause only animations to be exported from the source scene file even if there's other data available.

◆ AddNodeSoftName()

virtual bool AZ::SceneProcessingConfig::SceneProcessingConfigRequests::AddNodeSoftName ( const char *  pattern,
SceneAPI::SceneCore::PatternMatcher::MatchApproach  approach,
const char *  virtualType,
bool  includeChildren 
)
pure virtual

Adds a virtual type for matching against the name of scene nodes. @pattern: The string pattern that will be used to match the name of nodes within asset files. If approach == PreFix, then pattern looks like "name_". And a node named "name_abc" would match. If approach == PostFix, then pattern looks like "_name". And a node named "abc_name" would match. If approach == RegEx, the pattern is a regular expression. @approach: See pattern. @virtualType: This string will be internally CRC32'ed. For nodes that match pattern, this will be the virtual type of the node. @includeChildren: For each parent node, If true, it will do pattern matching across the children nodes, otherwise the pattern matching will always stop at root nodes.

Returns
: true if the new virtualType doesn't exist already (matched by Crc) AND it is added to the end of the list.
Precondition
Here is an example: AddNodeSoftName("_lod1", PatternMatcher::MatchApproach::PostFix, "LODMesh1", true)

The documentation for this class was generated from the following file: