Navigation
API > API/Plugins > API/Plugins/NeuralMorphModel
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UNeuralMorphNetwork
References
| Module | NeuralMorphModel |
| Header | /Engine/Plugins/Animation/MLDeformer/NeuralMorphModel/Source/NeuralMorphModel/Public/NeuralMorphNetwork.h |
| Include | #include "NeuralMorphNetwork.h" |
Syntax
UCLASS ()
class UNeuralMorphNetwork : public UObject
Remarks
The specialized neural network for the Neural Morph Model. This class is used to do inference at runtime at a higher performance than using UNeuralNetwork. The reason why it is faster is because it is a highly specialized network for this specific model. When the model is a local mode based model, there can be actually two neural networks inside this: one main network and a bone/curve group network. The group network uses groups of bones or curves to generate morph targets, rather than individual bones/curves.
Constructors
| Type | Name | Description | |
|---|---|---|---|
| These are required because of the use of TSharedPtr. | |||
UNeuralMorphNetwork
(
const FObjectInitializer& ObjectInitializer |
|||
UNeuralMorphNetwork
(
FVTableHelper& Helper |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| UNeuralMorphNetworkInstance * | Create an instance of this neural network. | ||
| void | Empty () |
Clear the network, getting rid of all weights and biases. | |
| UNeuralMorphMLP * | GetGroupMLP () |
||
| UE::NNE::IModelCPU * | Get the Model used for group of bones and curves. | ||
| const TArrayView< const float > | Get the means of each input, used for normalizing the input values. | ||
| const TArrayView< const float > | GetInputStds () |
Get the standard deviations of each input, used for normalizing the input values. | |
| PRAGMA_DISABLE_DEPRECATION_WARNINGSUNeuralMorphMLP * | GetMainMLP () |
||
| UE::NNE::IModelCPU * | GetMainModel () |
Get the main Model. | |
| ENeuralMorphMode | GetMode () |
Get the mode that the model was trained for, either global or local mode. | |
| int32 | GetNumBones () |
Get the number of bones that are input to the network. | |
| int32 | GetNumCurves () |
Get the number of curves that are input to the network. | |
| int32 | Get the number of floats used to represent a single curve value. | ||
| int32 | Get the number of network inputs for the group network. | ||
| int32 | Get the number of network outputs for the group network. | ||
| int32 | GetNumGroups () |
Get the number of groups. | |
| int32 | GetNumInputs () |
Get the number of network inputs. This is the number of main network inputs. | |
| int32 | Get the number of items per group. | ||
| int32 | Get the number of network inputs for the main network. | ||
| int32 | Get the number of network outputs for the main network. | ||
| int32 | Get the number of morph targets per bone. | ||
| int32 | Get the number of network outputs. | ||
| bool | IsEmpty () |
Check if the network is empty or not. | |
| bool | Load the network from a file on disk. When loading fails, the network will be emptied. |
Overridden from UObject
| Type | Name | Description | |
|---|---|---|---|
| void | PostLoad () |
Used to convert the legacy neural network format to the NNE format |