Animation — Aspose.3D FOSS for Python API Reference

Enumerations

A Aspose.3D animációs rendszer egy objektumhierarchia köré szerveződik, amely időmintavételezett adatokat köt a jelenet tulajdonságaihoz.

  • Enumerations AnimationClip egy névvel ellátott lejátszási tartomány (pl. “Walk”, “Run”), amelyet egy Scene.
  • Enumerations AnimationNode egy klipben él, és animált adatokat köt a jelenetobjektumok konkrét tulajdonságaihoz.
  • A BindPoint csatlakoztat egy AnimationNode egy névvel ellátott Property egy A3DObject.
  • Enumerations AnimationChannel egyetlen skalárt tárol KeyframeSequence egy kötési ponton belül.
  • A KeyframeSequence egy rendezett lista a KeyFrame idő‑érték minták.

Minden animációs osztály a aspose.threed.animation alcsomagban, bár közvetlenül is elérhetők innen aspose.threed.

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

AnimationClip

Egy névvel ellátott tároló egy lejátszási tartományhoz. Egy Scene több klipet is tárolhat. Örökli a SceneObject.

Enumerations

EnumerationsEnumerations
AnimationClip(name=None)Létrehoz egy klipet opcionális névvel

Enumerations

EnumerationsEnumerationsEnumerations
namestrKlip neve (pl. "Walk")
descriptionstrOpcionális leírás
startfloatKezdési idő másodpercben
stopfloatBefejezési idő másodpercben
animationslist[AnimationNode]Csak olvasható lista a klipben lévő animációs csomópontokról
propertiesPropertyCollectionEgyéni tulajdonságok

Enumerations

EnumerationsVisszatérési típusEnumerations
create_animation_node(node_name)AnimationNodeLétrehoz és regisztrál egy új AnimationNode ebben a klipben

AnimationNode

Köt egy AnimationClip egy vagy több BindPoint objektumok, amelyek a jelenet-objektum tulajdonságait célozzák. Örökli a A3DObject.

Enumerations

EnumerationsEnumerations
AnimationNode(name=None)Létrehoz egy animációs csomópontot opcionális névvel

Enumerations

EnumerationsEnumerationsEnumerations
namestrCsomópont neve
bind_pointslist[BindPoint]Csak olvasható lista a kötési pontokról
sub_animationslist[AnimationNode]Csak olvasható lista a gyermek animációs csomópontokról
propertiesPropertyCollectionEgyéni tulajdonságok

Enumerations

EnumerationsVisszatérési típusEnumerations
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

Kapcsol egy AnimationNode egyetlenhez Property egy A3DObject. Minden BindPoint több elemet tarthat AnimationChannel objektumokat (egy a skalár komponensenként). Örökli a A3DObject.

Enumerations

EnumerationsEnumerationsEnumerations
propertyPropertyA jelenet-objektum tulajdonsága, amelyre ez a kötési pont irányul
channels_countintAz animációs csatornák száma ebben a kötési pontban

Enumerations

EnumerationsVisszatérési típusEnumerations
add_channel(name, value, type=None)boolHozzáad egy névvel ellátott csatornát alapértelmezett értékkel
get_channel(channel_name)`AnimationChannelNone`
get_keyframe_sequence(channel_name)`KeyframeSequenceNone`
create_keyframe_sequence(name)KeyframeSequenceLétrehoz egy új KeyframeSequence ehhez a kötési ponthoz
bind_keyframe_sequence(channel_name, sequence)NoneKapcsol egy meglévő KeyframeSequence csatornával
reset_channels()NoneEltávolítja az összes csatornát

AnimationChannel

Egyetlen skalárt tartalmaz KeyframeSequence egy animált komponenshez.

Enumerations

EnumerationsEnumerationsEnumerations
namestrCsatorna neve (pl. "X", "Y", "Z")
default_valueAnyAz érték, amely akkor használatos, ha nincs kulcskocka adat
keyframe_sequence`KeyframeSequenceNone`

KeyframeSequence

Rendezett lista a KeyFrame minták egyetlen skalár csatornához. Örökli a A3DObject.

Enumerations

EnumerationsEnumerations
KeyframeSequence(name=None)Üres kulcskocka sorozatot hoz létre

Enumerations

EnumerationsEnumerationsEnumerations
namestrSorozat neve
key_frameslist[KeyFrame]Csak olvasható lista a kulcskockákról kronológiai sorrendben
pre_behaviorExtrapolationViselkedés az első kulcskocka előtt
post_behaviorExtrapolationViselkedés az utolsó kulcskocka után
bind_point`BindPointNone`

Enumerations

EnumerationsVisszatérési típusEnumerations
add(time, value, interpolation=Interpolation.LINEAR)NoneKulcskockát fűz hozzá a time (másodperc) a megadott value és interpolation mód
reset()NoneTörli az összes kulcskockát és visszaállítja az elő-/utó viselkedést

KeyFrame

Egyetlen időérték-minta egy KeyframeSequence.

Enumerations

KeyFrame objektumok belsőleg jönnek létre a KeyframeSequence.add(); ne hozd létre őket közvetlenül.

Enumerations

EnumerationsEnumerationsEnumerations
timefloatIdőpozíció másodpercben
valuefloatAnimált érték ebben az időpontban
interpolationInterpolationInterpolációs mód ennek a kulcskockának és a következőnek a között
tangent_weight_modeWeightedModeÉrintő súly mód (Bezier-görbék)
step_modeStepModeLépés viselkedése (PREVIOUS_VALUE vagy NEXT_VALUE)
next_in_tangent`Vector2None`
out_tangent`Vector2None`
out_weightfloatKimenő érintő súly
next_in_weightfloatBejövő érintő súly
tensionfloatFeszültség paraméter (TCB spline)
continuityfloatFolytonosság paraméter (TCB spline)
biasfloatEltolás paraméter (TCB spline)
independent_tangentboolEnumerations True, a be- és kimenő érintők függetlenek
flatboolEnumerations True, az érintők laposan rögzítve vannak
time_independent_tangentboolEnumerations True, az érintő iránya független az időskálázástól

Enumerations

Szabályozza, hogyan interpolálódnak az értékek egymást követő kulcsképkockák között.

EnumerationsEnumerations
CONSTANTEnumerations
LINEARLineáris interpoláció az értékek között
BEZIERKöbös Bezier bemeneti/kimeneti érintőkkel
B_SPLINEEgyenletes B-spline
CARDINAL_SPLINECardinal görbe
TCB_SPLINEFeszültség–Kontinuitás–Eltolás spline

Enumerations

Szabályozza az animáció viselkedését az első és az utolsó kulcsképkockán túl.

EnumerationsEnumerations
CONSTANTTartsa a határértéket
GRADIENTExtrapoláljon a határkulcskocka érintő meredékén
CYCLEIsmételje a kulcskocka tartományt (ciklusok)
CYCLE_RELATIVEIsmételje kumulatív eltolással (a végértékhez viszonyítva)
OSCILLATEPing-pong (váltakozó előre és hátra ismétlés)

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")

Lásd még

 Magyar