Example
Det Aspose.3D-animationssystemet är organiserat kring en hierarki av objekt som binder tidsprovade data till scenegenskaper.
- Example
AnimationClip är ett namngivet uppspelningsintervall (t.ex. “Walk”, “Run”) som hålls av en Scene. - Example
AnimationNode finns i ett klipp och binder animerad data till specifika egenskaper på scenobjekt. - En
BindPoint ansluter en AnimationNode till ett namngivet Property på en A3DObject. - Example
AnimationChannel innehåller en enda skalär KeyframeSequence inom en bindningspunkt. - En
KeyframeSequence är en ordnad lista över KeyFrame tids‑värdeprover.
Alla animationsklasser finns i aspose.threed.animation underpaketet, men de är också åtkomliga direkt från aspose.threed.
AnimationClip
En namngiven behållare för ett uppspelningsintervall. En Scene kan innehålla flera klipp. Ärver från SceneObject.
Example
| Example | Example |
|---|
AnimationClip(name=None) | Skapar ett klipp med ett valfritt namn |
Example
| Example | Example | Example |
|---|
name | str | Klippnamn (t.ex. "Walk") |
description | str | Valfri beskrivning |
start | float | Starttid i sekunder |
stop | float | Sluttid i sekunder |
animations | list[AnimationNode] | Skrivskyddad lista över animationsnoder i detta klipp |
properties | PropertyCollection | Anpassade egenskaper |
Example
| Example | Returtyp | Example |
|---|
create_animation_node(node_name) | AnimationNode | Skapar och registrerar en ny AnimationNode i detta klipp |
AnimationNode
Binder en AnimationClip till en eller flera BindPoint objekt som riktar sig mot scen-objektsegenskaper. Ärver från A3DObject.
Example
| Example | Example |
|---|
AnimationNode(name=None) | Skapar en animationsnod med valfritt namn |
Example
| Example | Example | Example |
|---|
name | str | Nodnamn |
bind_points | list[BindPoint] | Skrivskyddad lista över bindningspunkter |
sub_animations | list[AnimationNode] | Skrivskyddad lista över underordnade animationsnoder |
properties | PropertyCollection | Anpassade egenskaper |
Example
| Example | Returtyp | Example |
|---|
find_bind_point(target, name) | `BindPoint | None` |
get_bind_point(target, prop_name, create) | `BindPoint | None` |
create_bind_point(obj, prop_name) | `BindPoint | None` |
get_keyframe_sequence(target, prop_name, channel_name, create) | `KeyframeSequence | None` |
BindPoint
Kopplar en AnimationNode till en enda Property på en A3DObject. Varje BindPoint kan innehålla flera AnimationChannel objekt (ett per skalär komponent). Ärver från A3DObject.
Example
| Example | Example | Example |
|---|
property | Property | Scenobjektets egenskap som denna bindningspunkt riktar mot |
channels_count | int | Antal animationskanaler i denna bindningspunkt |
Example
| Example | Returtyp | Example |
|---|
add_channel(name, value, type=None) | bool | Lägger till en namngiven kanal med ett standardvärde |
get_channel(channel_name) | `AnimationChannel | None` |
get_keyframe_sequence(channel_name) | `KeyframeSequence | None` |
create_keyframe_sequence(name) | KeyframeSequence | Skapar en ny KeyframeSequence för denna bindningspunkt |
bind_keyframe_sequence(channel_name, sequence) | None | Associerar en befintlig KeyframeSequence med en kanal |
reset_channels() | None | Tar bort alla kanaler |
AnimationChannel
Innehåller en enda skalär KeyframeSequence för en animerad komponent.
Example
| Example | Example | Example |
|---|
name | str | Kanalnamn (t.ex. "X", "Y", "Z") |
default_value | Any | Värde som används när ingen keyframe-data finns |
keyframe_sequence | `KeyframeSequence | None` |
KeyframeSequence
En ordnad lista över KeyFrame samples för en enda skalär kanal. Ärver från A3DObject.
Example
| Example | Example |
|---|
KeyframeSequence(name=None) | Skapar en tom keyframe-sekvens |
Example
| Example | Example | Example |
|---|
name | str | Sekvensnamn |
key_frames | list[KeyFrame] | Skrivskyddad lista med keyframes i kronologisk ordning |
pre_behavior | Extrapolation | Beteende före den första keyframe |
post_behavior | Extrapolation | Beteende efter den sista keyframe |
bind_point | `BindPoint | None` |
Example
| Example | Returtyp | Example |
|---|
add(time, value, interpolation=Interpolation.LINEAR) | None | Lägger till en keyframe vid time (sekunder) med den givna value och interpolation läge |
reset() | None | Rensar alla keyframes och återställer pre/post-beteende |
KeyFrame
Ett enstaka tidsvärdesample i en KeyframeSequence.
Example
KeyFrame objekt skapas internt av KeyframeSequence.add(); konstruera dem inte direkt.
Example
| Example | Example | Example |
|---|
time | float | Tidsposition i sekunder |
value | float | Animerat värde vid denna tid |
interpolation | Interpolation | Interpolationsläge som tillämpas mellan denna nyckelbildruta och nästa |
tangent_weight_mode | WeightedMode | Tangentviktläge (Bezier-kurvor) |
step_mode | StepMode | Stegbeteende (PREVIOUS_VALUE eller NEXT_VALUE) |
next_in_tangent | `Vector2 | None` |
out_tangent | `Vector2 | None` |
out_weight | float | Utgående tangentvikt |
next_in_weight | float | Inkommande tangentvikt |
tension | float | Spänningsparameter (TCB-spline) |
continuity | float | Kontinuitetsparameter (TCB-spline) |
bias | float | Biasparameter (TCB-spline) |
independent_tangent | bool | Example True, in- och ut-tangenter är oberoende |
flat | bool | Example True, tangenter är klämda platta |
time_independent_tangent | bool | Example True, tangentens riktning är oberoende av tids-skalning |
Example
Styr hur värden interpoleras mellan på varandra följande nyckelbilder.
| Example | Example |
|---|
CONSTANT | Example |
LINEAR | Linjär interpolation mellan värden |
BEZIER | Cubic Bezier med in/ut-tangenter |
B_SPLINE | Uniform B-spline |
CARDINAL_SPLINE | Cardinal spline |
TCB_SPLINE | Tension–Continuity–Bias spline |
Example
Styr animationens beteende bortom den första och sista nyckelbilden.
| Example | Example |
|---|
CONSTANT | Behåll gränsvärdet |
GRADIENT | Extrapolera vid tangentens lutning för gränsnyckelbilden |
CYCLE | Upprepa nyckelbildsintervallet (loopar) |
CYCLE_RELATIVE | Upprepa med kumulativ förskjutning (relativt slutvärdet) |
OSCILLATE | Ping-pong (växlande framåt- och bakåtrepetition) |
Example
Se även