Animation — Aspose.3D FOSS for Python API Reference

Enumerations

Det Aspose.3D animasjonssystemet er organisert rundt et hierarki av objekter som binder tidsprøvedata til scenegenskaper.

  • Enumerations AnimationClip er et navngitt avspillingsområde (f.eks. “Walk”, “Run”) holdt av en Scene.
  • Enumerations AnimationNode ligger inne i et klipp og binder animert data til spesifikke egenskaper på scenobjekter.
  • En BindPoint kobler en AnimationNode til en navngitt Property på en A3DObject.
  • Enumerations AnimationChannel holder en enkelt skalar KeyframeSequence innenfor et bindepunkt.
  • En KeyframeSequence er en ordnet liste over KeyFrame tids‑verdiprøver.

Alle animasjonsklasser er i aspose.threed.animation underpakken, selv om de også er tilgjengelige direkte fra aspose.threed.

from aspose.threed.animation import (
    AnimationClip,
    AnimationNode,
    AnimationChannel,
    BindPoint,
    KeyFrame,
    KeyframeSequence,
    Interpolation,
    ExtrapolationType,
)

AnimationClip

En navngitt beholder for ett avspillingsområde. En Scene kan inneholde flere klipp. Arver fra SceneObject.

Enumerations

EnumerationsEnumerations
AnimationClip(name=None)Oppretter et klipp med et valgfritt navn

Enumerations

EnumerationsEnumerationsEnumerations
namestrKlippnavn (f.eks. "Walk")
descriptionstrValgfri beskrivelse
startfloatStarttid i sekunder
stopfloatSluttid i sekunder
animationslist[AnimationNode]Skrivebeskyttet liste over animasjonsnoder i dette klippet
propertiesPropertyCollectionEgendefinerte egenskaper

Enumerations

EnumerationsReturtypeEnumerations
create_animation_node(node_name)AnimationNodeOppretter og registrerer en ny AnimationNode i dette klippet

AnimationNode

Binder en AnimationClip til en eller flere BindPoint objekter som retter seg mot scene-objekt-egenskaper. Arver fra A3DObject.

Enumerations

EnumerationsEnumerations
AnimationNode(name=None)Oppretter en animasjonsnode med valgfritt navn

Enumerations

EnumerationsEnumerationsEnumerations
namestrNodenavn
bind_pointslist[BindPoint]Skrivebeskyttet liste over bindepunkter
sub_animationslist[AnimationNode]Skrivebeskyttet liste over underordnede animasjonsnoder
propertiesPropertyCollectionEgendefinerte egenskaper

Enumerations

EnumerationsReturtypeEnumerations
find_bind_point(target, name)`BindPointNone`
get_bind_point(target, prop_name, create)`BindPointNone`
create_bind_point(obj, prop_name)`BindPointNone`
get_keyframe_sequence(target, prop_name, channel_name, create)`KeyframeSequenceNone`

BindPoint

Kobler en AnimationNode til en enkelt Property på en A3DObject. Hver BindPoint kan inneholde flere AnimationChannel objekter (en per skalar komponent). Arver fra A3DObject.

Enumerations

EnumerationsEnumerationsEnumerations
propertyPropertyScene-objekt-egenskapen som dette bindepunktet retter seg mot
channels_countintAntall animasjonskanaler i dette bindepunktet

Enumerations

EnumerationsReturtypeEnumerations
add_channel(name, value, type=None)boolLegger til en navngitt kanal med en standardverdi
get_channel(channel_name)`AnimationChannelNone`
get_keyframe_sequence(channel_name)`KeyframeSequenceNone`
create_keyframe_sequence(name)KeyframeSequenceOppretter en ny KeyframeSequence for dette bindepunktet
bind_keyframe_sequence(channel_name, sequence)NoneKnytter en eksisterende KeyframeSequence med en kanal
reset_channels()NoneFjerner alle kanaler

AnimationChannel

Inneholder en enkelt skalar KeyframeSequence for en animert komponent.

Enumerations

EnumerationsEnumerationsEnumerations
namestrKanalnavn (f.eks. "X", "Y", "Z")
default_valueAnyVerdi som brukes når ingen keyframe-data er tilstede
keyframe_sequence`KeyframeSequenceNone`

KeyframeSequence

En ordnet liste over KeyFrame prøver for en enkelt skalar kanal. Arver fra A3DObject.

Enumerations

EnumerationsEnumerations
KeyframeSequence(name=None)Oppretter en tom keyframe-sekvens

Enumerations

EnumerationsEnumerationsEnumerations
namestrSekvensnavn
key_frameslist[KeyFrame]Skrivebeskyttet liste over keyframes i kronologisk rekkefølge
pre_behaviorExtrapolationOppførsel før den første keyframe
post_behaviorExtrapolationOppførsel etter den siste keyframe
bind_point`BindPointNone`

Enumerations

EnumerationsReturtypeEnumerations
add(time, value, interpolation=Interpolation.LINEAR)NoneLegger til en keyframe ved time (sekunder) med den gitte value og interpolation modus
reset()NoneFjerner alle nøkkelbilder og tilbakestiller pre/post‑atferd

KeyFrame

Et enkelt tids‑verdiprøve i en KeyframeSequence.

Enumerations

KeyFrame objekter opprettes internt av KeyframeSequence.add(); ikke konstruer dem direkte.

Enumerations

EnumerationsEnumerationsEnumerations
timefloatTidsposisjon i sekunder
valuefloatAnimert verdi ved dette tidspunktet
interpolationInterpolationInterpolasjonsmodus brukt mellom denne nøkkelrammen og den neste
tangent_weight_modeWeightedModeTangential vektmodus (Bezier-kurver)
step_modeStepModeStegoppførsel (PREVIOUS_VALUE eller NEXT_VALUE)
next_in_tangent`Vector2None`
out_tangent`Vector2None`
out_weightfloatUtgående tangentvekt
next_in_weightfloatInnkommende tangentvekt
tensionfloatSpenningsparameter (TCB-spline)
continuityfloatKontinuitetsparameter (TCB spline)
biasfloatBias-parameter (TCB spline)
independent_tangentboolEnumerations True, inn- og ut-tangenter er uavhengige
flatboolEnumerations True, tangenter er klemmet flate
time_independent_tangentboolEnumerations True, tangentretning er uavhengig av tids-skalering

Enumerations

Kontrollerer hvordan verdier interpoleres mellom påfølgende keyframes.

EnumerationsEnumerations
CONSTANTEnumerations
LINEARLineær interpolasjon mellom verdier
BEZIERKubisk Bezier ved bruk av inn/ut-tangenter
B_SPLINEUniform B-spline
CARDINAL_SPLINECardinal spline
TCB_SPLINETension–Continuity–Bias-spline

Enumerations

Kontrollerer animasjonsatferd utover den første og siste keyframe.

EnumerationsEnumerations
CONSTANTHold grenseverdien
GRADIENTEkstrapoler ved tangentgradienten til grense‑keyframe
CYCLEGjenta keyframe‑området (sløyfer)
CYCLE_RELATIVEGjenta med kumulativ forskyvning (relativt til sluttverdien)
OSCILLATEPing-pong (vekselvis fremover- og bakovergjentakelse)

Enumerations

from aspose.threed import Scene
from aspose.threed.animation import AnimationClip, Interpolation
from aspose.threed.utilities import Vector3

scene = Scene()
node = scene.root_node.create_child_node("animated_box")
node.transform.translation = Vector3(0.0, 0.0, 0.0)

# Create an animation clip
clip = AnimationClip("Move")
clip.start = 0.0
clip.stop  = 2.0

# Create an animation node inside the clip
anim_node = clip.create_animation_node("box_anim")

# Get keyframe sequences for the X and Y translation channels
seq_x = anim_node.get_keyframe_sequence(node.transform, "Translation", "X", True)
seq_y = anim_node.get_keyframe_sequence(node.transform, "Translation", "Y", True)

if seq_x:
    seq_x.add(0.0,  0.0,  Interpolation.LINEAR)
    seq_x.add(1.0, 10.0,  Interpolation.LINEAR)
    seq_x.add(2.0,  0.0,  Interpolation.LINEAR)

if seq_y:
    seq_y.add(0.0,  0.0, Interpolation.BEZIER)
    seq_y.add(1.0,  5.0, Interpolation.BEZIER)
    seq_y.add(2.0,  0.0, Interpolation.BEZIER)

# Export to FBX to preserve animation data
scene.save("animated.fbx")

Se også

 Norsk