• Api Documentation
  • Source Code
Search Results for

    Show / Hide Table of Contents
    • SharpAssimp
      • Animation
      • AnimationBehaviour
      • AnimationInterpolation
      • AssimpContext
      • AssimpException
      • BlendMode
      • Bone
      • BoundingBox
      • Camera
      • CompileFlags
      • ConsoleLogStream
      • DefaultLogStream
      • EmbeddedTexture
      • ExcludeComponent
      • ExportDataBlob
      • ExportFormatDescription
      • Face
      • FileIOMode
      • FileIOSystem
      • FreeNativeDelegate
      • IMarshalable<Managed, Native>
      • INativeCustomMarshaler
      • IOStream
      • IOSystem
      • ImporterDescription
      • ImporterFeatureFlags
      • Light
      • LightSourceType
      • LogStream
      • LoggingCallback
      • Material
      • Material.PBRMaterialProperties
      • Material.ShaderMaterialProperties
      • MaterialProperty
      • Matrix3x3
      • MemoryHelper
      • Mesh
      • MeshAnimationAttachment
      • MeshAnimationChannel
      • MeshKey
      • MeshMorphAnimationChannel
      • MeshMorphKey
      • MeshMorphingMethod
      • MetaDataType
      • Metadata
      • Metadata.Entry
      • NativeCustomMarshalerAttribute
      • Node
      • NodeAnimationChannel
      • NodeCollection
      • Origin
      • PostProcessPreset
      • PostProcessSteps
      • PrimitiveType
      • PropertyType
      • QuaternionKey
      • Ray
      • ReturnCode
      • Scene
      • SceneFlags
      • ShadingMode
      • Texel
      • TextureFlags
      • TextureMapping
      • TextureOperation
      • TextureSlot
      • TextureType
      • TextureWrapMode
      • UVTransform
      • UVTransformFlags
      • VectorKey
      • VertexWeight
    • SharpAssimp.Configs
      • ACEvaluateSubdivisionConfig
      • ACSeparateBackfaceCullConfig
      • ASEReconstructNormalsConfig
      • AnimationAccuracyConfig
      • AppScaleConfig
      • BooleanPropertyConfig
      • ColladaIgnoreUpDirectionConfig
      • ColladaUseColladaNamesConfig
      • DeboneAllOrNoneConfig
      • DeboneThresholdConfig
      • ExportPointCloudsConfig
      • FBXConvertToMetersConfig
      • FBXImportAllGeometryLayersConfig
      • FBXImportAllMaterialsConfig
      • FBXImportAnimationsConfig
      • FBXImportCamerasConfig
      • FBXImportEmbeddedTexturesConfig
      • FBXImportEmbeddedTexturesLegacyNamingConfig
      • FBXImportLightsConfig
      • FBXImportMaterialsConfig
      • FBXOptimizeEmptyAnimationCurvesConfig
      • FBXPreservePivotsConfig
      • FBXStrictModeConfig
      • FavorSpeedConfig
      • FloatPropertyConfig
      • GlobalKeyFrameImportConfig
      • GlobalScaleConfig
      • IFCCylindricalTessellationConfig
      • IFCSkipSpaceRepresentationsConfig
      • IFCSmoothingAngleConfig
      • IFCUseCustomTriangulationConfig
      • IRRAnimationFrameRateConfig
      • IgnoreTextureCoordinatesConfig
      • IntegerPropertyConfig
      • KeepSceneHierarchyConfig
      • LWOImportOneLayerConfig
      • LWSAnimationEndConfig
      • LWSAnimationStartConfig
      • MD2KeyFrameImportConfig
      • MD3HandleMultiPartConfig
      • MD3KeyFrameImportConfig
      • MD3ShaderSourceConfig
      • MD3SkinNameConfig
      • MD5NoAnimationAutoLoadConfig
      • MDLColorMapConfig
      • MDLKeyFrameImportConfig
      • MaterialExcludeListConfig
      • MatrixPropertyConfig
      • MaxBoneCountConfig
      • MeasureTimeConfig
      • MeshTriangleLimitConfig
      • MeshVertexLimitConfig
      • MultithreadingConfig
      • NoSkeletonMeshesConfig
      • NodeExcludeListConfig
      • NormalSmoothingAngleConfig
      • NormalizeVertexComponentsConfig
      • OgreMaterialFileConfig
      • OgreTextureTypeFromFilenameConfig
      • PropertyConfig
      • RemoveComponentConfig
      • RemoveDegeneratePrimitivesCheckAreaConfig
      • RemoveDegeneratePrimitivesConfig
      • RemoveEmptyBonesConfig
      • RootTransformationConfig
      • SMDKeyFrameImportConfig
      • SmdLoadAnimationListConfig
      • SortByPrimitiveTypeConfig
      • StringPropertyConfig
      • TangentSmoothingAngleConfig
      • TangentTextureChannelIndexConfig
      • TerragenComputeTexCoordsConfig
      • TransformUVConfig
      • UnrealHandleFlagsConfig
      • UnrealKeyFrameImportConfig
      • VertexBoneWeightLimitConfig
      • VertexCacheSizeConfig
      • XFileUseDoublesConfig
    • SharpAssimp.Unmanaged
      • AiAnimMesh
      • AiAnimation
      • AiBone
      • AiCamera
      • AiConfigs
      • AiDefines
      • AiExportDataBlob
      • AiExportFormatDesc
      • AiFace
      • AiFile
      • AiFileCloseProc
      • AiFileFlushProc
      • AiFileIO
      • AiFileOpenProc
      • AiFileReadProc
      • AiFileSeek
      • AiFileTellProc
      • AiFileWriteProc
      • AiImporterDesc
      • AiLight
      • AiLogStream
      • AiLogStreamCallback
      • AiMatKeys
      • AiMaterial
      • AiMaterialProperty
      • AiMemoryInfo
      • AiMesh
      • AiMeshAnim
      • AiMeshColorArray
      • AiMeshMorphAnim
      • AiMeshMorphKey
      • AiMeshTextureCoordinateArray
      • AiMeshUVComponentArray
      • AiMetadata
      • AiMetadataEntry
      • AiNode
      • AiNodeAnim
      • AiScene
      • AiString
      • AiTexture
      • AssimpLibrary
      • Platform
      • UnmanagedFunctionNameAttribute
      • UnmanagedLibrary
      • UnmanagedLibraryResolver

    Class NodeAnimationChannel

    Describes the animation of a single node. The name specifies the bone/node which is affected by this animation chanenl. The keyframes are given in three separate seties of values, one for each position, rotation, and scaling. The transformation matrix is computed from these values and replaces the node's original transformation matrix at a specific time.

    This means all keys are absolute and not relative to the bone default pose. The order which the transformations are to be applied is scaling, rotation, and translation (SRT).

    Keys are in chronological order and duplicate keys do not pass the validation step. There most likely will be no negative time values, but they are not forbidden.

    Inheritance
    object
    NodeAnimationChannel
    Implements
    IMarshalable<NodeAnimationChannel, AiNodeAnim>
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: SharpAssimp
    Assembly: SharpAssimp.dll
    Syntax
    public sealed class NodeAnimationChannel : IMarshalable<NodeAnimationChannel, AiNodeAnim>

    Constructors

    | Edit this page View Source

    NodeAnimationChannel()

    Constructs a new instance of the NodeAnimationChannel class.

    Declaration
    public NodeAnimationChannel()

    Properties

    | Edit this page View Source

    HasPositionKeys

    Gets if this animation channel contains position keys.

    Declaration
    public bool HasPositionKeys { get; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    HasRotationKeys

    Gets if the animation channel contains rotation keys.

    Declaration
    public bool HasRotationKeys { get; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    HasScalingKeys

    Gets if the animation channel contains scaling keys.

    Declaration
    public bool HasScalingKeys { get; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    NodeName

    Gets or sets the name of the node affected by this animation. It must exist and it must be unique.

    Declaration
    public string NodeName { get; set; }
    Property Value
    Type Description
    string
    | Edit this page View Source

    PositionKeyCount

    Gets the number of position keys in the animation channel.

    Declaration
    public int PositionKeyCount { get; }
    Property Value
    Type Description
    int
    | Edit this page View Source

    PositionKeys

    Gets the position keys of this animation channel. Positions are specified as a 3D vector. If there are position keys, there should also be -at least- one scaling and one rotation key.

    Declaration
    public List<VectorKey> PositionKeys { get; }
    Property Value
    Type Description
    List<VectorKey>
    | Edit this page View Source

    PostState

    Gets or sets how the animation behaves after the last key was processed. By default the original transformation matrix of the affected node is taken.

    Declaration
    public AnimationBehaviour PostState { get; set; }
    Property Value
    Type Description
    AnimationBehaviour
    | Edit this page View Source

    PreState

    Gets or sets how the animation behaves before the first key is encountered. By default the original transformation matrix of the affected node is used.

    Declaration
    public AnimationBehaviour PreState { get; set; }
    Property Value
    Type Description
    AnimationBehaviour
    | Edit this page View Source

    RotationKeyCount

    Gets the number of rotation keys in the animation channel.

    Declaration
    public int RotationKeyCount { get; }
    Property Value
    Type Description
    int
    | Edit this page View Source

    RotationKeys

    Gets the rotation keys of this animation channel. Rotations are given as quaternions. If this exists, there should be -at least- one scaling and one position key.

    Declaration
    public List<QuaternionKey> RotationKeys { get; }
    Property Value
    Type Description
    List<QuaternionKey>
    | Edit this page View Source

    ScalingKeyCount

    Gets the number of scaling keys in the animation channel.

    Declaration
    public int ScalingKeyCount { get; }
    Property Value
    Type Description
    int
    | Edit this page View Source

    ScalingKeys

    Gets the scaling keys of this animation channel. Scalings are specified in a 3D vector. If there are scaling keys, there should also be -at least- one position and one rotation key.

    Declaration
    public List<VectorKey> ScalingKeys { get; }
    Property Value
    Type Description
    List<VectorKey>

    Methods

    | Edit this page View Source

    FreeNative(nint, bool)

    Frees unmanaged memory created by ToNative(nint, out Native).

    Declaration
    public static void FreeNative(nint nativeValue, bool freeNative)
    Parameters
    Type Name Description
    nint nativeValue

    Native value to free

    bool freeNative

    True if the unmanaged memory should be freed, false otherwise.

    Implements

    IMarshalable<Managed, Native>
    • Edit this page
    • View Source
    In this article
    Back to top Copyright (c) 2012-2020 Nicholas Woodfield, (c) 2024 Salvage, (c) 2025 Jérémy Ansel