Example
Sistem animacije Aspose.3D organizovan je oko hijerarhije objekata koji povezuju vremenski uzorkovane podatke sa svojstvima scene.
- Example
AnimationClip je imenovani opseg reprodukcije (npr. „Walk“, „Run“) koji drži Scene. - Example
AnimationNode živi unutar klipa i povezuje animirane podatke sa specifičnim svojstvima na objektima scene. - Jedan
BindPoint povezuje AnimationNode na imenovani Property na A3DObject. - Example
AnimationChannel drži jedan skalar KeyframeSequence unutar tačke vezivanja. - A
KeyframeSequence je uređena lista KeyFrame vremensko‑vrednosni uzorci.
Sve klase animacije su u aspose.threed.animation podpaketu, iako su takođe dostupne direktno iz aspose.threed.
AnimationClip
Imenovani kontejner za jedan opseg reprodukcije. A Scene može da sadrži više klipova. Nasleđuje od SceneObject.
Example
| Example | Example |
|---|
AnimationClip(name=None) | Kreira klip sa opcionim imenom |
Example
| Example | Example | Example |
|---|
name | str | Naziv klipa (npr. "Walk") |
description | str | Opcioni opis |
start | float | Početno vreme u sekundama |
stop | float | Krajnje vreme u sekundama |
animations | list[AnimationNode] | Lista animacionih čvorova u ovom klipu (samo za čitanje) |
properties | PropertyCollection | Prilagođena svojstva |
Example
| Example | Tip povratne vrednosti | Example |
|---|
create_animation_node(node_name) | AnimationNode | Kreira i registruje novi AnimationNode u ovom klipu |
AnimationNode
Povezuje AnimationClip na jedan ili više BindPoint objekata koji ciljaju svojstva scene-objekta. Nasleđuje od A3DObject.
Example
| Example | Example |
|---|
AnimationNode(name=None) | Kreira čvor animacije sa opcionalnim imenom |
Example
| Example | Example | Example |
|---|
name | str | Naziv čvora |
bind_points | list[BindPoint] | Lista tačaka vezivanja samo za čitanje |
sub_animations | list[AnimationNode] | Lista podređenih čvorova animacije samo za čitanje |
properties | PropertyCollection | Prilagođena svojstva |
Example
| Example | Tip povratne vrednosti | 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
Povezuje jedan AnimationNode na jedan Property na jednom A3DObject. Svaki BindPoint može da sadrži više AnimationChannel objekte (po jedan po skalarnoj komponenti). Nasleđuje od A3DObject.
Example
| Example | Example | Example |
|---|
property | Property | Svojstvo scene‑objekta koje ova tačka vezivanja cilja |
channels_count | int | Broj kanala animacije u ovoj tački vezivanja |
Example
| Example | Tip povratne vrednosti | Example |
|---|
add_channel(name, value, type=None) | bool | Dodaje imenovani kanal sa podrazumevanom vrednošću |
get_channel(channel_name) | `AnimationChannel | None` |
get_keyframe_sequence(channel_name) | `KeyframeSequence | None` |
create_keyframe_sequence(name) | KeyframeSequence | Kreira novi KeyframeSequence za ovu tačku vezivanja |
bind_keyframe_sequence(channel_name, sequence) | None | Povezuje postojeći KeyframeSequence sa kanalom |
reset_channels() | None | Uklanja sve kanale |
AnimationChannel
Sadrži jedan skalar KeyframeSequence za jednu animiranu komponentu.
Example
| Example | Example | Example |
|---|
name | str | Naziv kanala (npr. "X", "Y", "Z") |
default_value | Any | Vrednost koja se koristi kada nema podataka o ključnim okvirima |
keyframe_sequence | `KeyframeSequence | None` |
KeyframeSequence
Uređeni spisak KeyFrame uzoraka za jedan skalarni kanal. Nasleđuje od A3DObject.
Example
| Example | Example |
|---|
KeyframeSequence(name=None) | Kreira praznu sekvencu ključnih okvira |
Example
| Example | Example | Example |
|---|
name | str | Naziv sekvence |
key_frames | list[KeyFrame] | Lista ključnih okvira samo za čitanje u hronološkom redosledu |
pre_behavior | Extrapolation | Ponašanje pre prvog ključnog okvira |
post_behavior | Extrapolation | Ponašanje posle poslednjeg ključnog okvira |
bind_point | `BindPoint | None` |
Example
| Example | Tip povratne vrednosti | Example |
|---|
add(time, value, interpolation=Interpolation.LINEAR) | None | Dodaje ključni okvir na time (sekundi) sa datim value i interpolation režim |
reset() | None | Briše sve ključne okvire i resetuje pre/post ponašanje |
KeyFrame
Jedan uzorak vremensko‑vrednosne vrednosti u KeyframeSequence.
Example
KeyFrame objekti se interno kreiraju od strane KeyframeSequence.add(); ne konstruirajte ih direktno.
Example
| Example | Example | Example |
|---|
time | float | Vremenski položaj u sekundama |
value | float | Animirana vrednost u ovom trenutku |
interpolation | Interpolation | Režim interpolacije primenjen između ovog ključnog okvira i sledećeg |
tangent_weight_mode | WeightedMode | Režim težine tangente (Bezier krive) |
step_mode | StepMode | Ponašanje koraka (PREVIOUS_VALUE ili NEXT_VALUE) |
next_in_tangent | `Vector2 | None` |
out_tangent | `Vector2 | None` |
out_weight | float | Težina odlazne tangente |
next_in_weight | float | Težina ulazne tangente |
tension | float | Parametar napetosti (TCB spline) |
continuity | float | Parametar kontinuiteta (TCB spline) |
bias | float | Parametar pristrasnosti (TCB spline) |
independent_tangent | bool | Example True, ulazne i izlazne tangente su nezavisne |
flat | bool | Example True, tangente su fiksirane ravno |
time_independent_tangent | bool | Example True, smer tangente je nezavisan od skaliranja vremena |
Example
Upravlja kako se vrednosti interpoliraju između uzastopnih ključnih okvira.
| Example | Example |
|---|
CONSTANT | Example |
LINEAR | Linearna interpolacija između vrednosti |
BEZIER | Kubni Bezier koristeći ulazne/izlazne tangente |
B_SPLINE | Uniformni B-spline |
CARDINAL_SPLINE | Kardinalni spline |
TCB_SPLINE | Tension–Continuity–Bias spline |
Example
Upravlja ponašanjem animacije izvan prvog i poslednjeg ključnog okvira.
| Example | Example |
|---|
CONSTANT | Zadrži graničnu vrednost |
GRADIENT | Ekstrapoliraj na osnovu gradijenta tangente graničnog ključnog okvira |
CYCLE | Ponovi opseg ključnog okvira (petlje) |
CYCLE_RELATIVE | Ponovi sa kumulativnim pomakom (u odnosu na krajnju vrednost) |
OSCILLATE | Ping-pong (naizmenično ponavljanje napred i nazad) |
Example
Vidi takođe