Example
Системата за 3D анимация Aspose е организирана около йерархия от обекти, които свързват данни, взети във времеви проби, към свойства на сцената.
- Example
AnimationClip е именуван диапазон за възпроизвеждане (например “Walk”, “Run”) задържан от a Scene. - Example
AnimationNode се намира в клип и свързва анимирани данни със специфични свойства на обекти в сцената. - Е
BindPoint свързва с AnimationNode към именуван Property на A3DObject. - Example
AnimationChannel съдържа един скалар KeyframeSequence в рамките на точка за свързване. - A
KeyframeSequence е подреден списък от KeyFrame времево‑стойностни проби.
Всички класове за анимация са в aspose.threed.animation под‑пакет, въпреки че те са достъпни директно от aspose.threed.
AnimationClip
Именуван контейнер за един диапазон на възпроизвеждане. A Scene може да съдържа множество клипове. Наследява от SceneObject.
Example
| Example | Example |
|---|
AnimationClip(name=None) | Създава клип с незадължително име |
Example
| Example | Example | Example |
|---|
name | str | Име на клип (напр. "Walk") |
description | str | Опционално описание |
start | float | Начално време в секунди |
stop | float | Крайно време в секунди |
animations | list[AnimationNode] | Списък само за четене на анимационни възли в този клип |
properties | PropertyCollection | Персонализирани свойства |
Example
| Example | Тип на връщане | Example |
|---|
create_animation_node(node_name) | AnimationNode | Създава и регистрира нов AnimationNode в този клип |
AnimationNode
Свързва AnimationClip към едно или повече BindPoint обекти, насочени към свойства на сценичен обект. Наследява от A3DObject.
Example
| Example | Example |
|---|
AnimationNode(name=None) | Създава анимационен възел с незадължително име |
Example
| Example | Example | Example |
|---|
name | str | Име на възела |
bind_points | list[BindPoint] | Списък само за четене на точки за свързване |
sub_animations | list[AnimationNode] | Списък само за четене на дъщерни анимационни възли |
properties | PropertyCollection | Персонализирани свойства |
Example
| Example | Тип на връщане | 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
Свързва едно AnimationNode към едно Property на едно A3DObject. Всеки BindPoint може да съдържа множество AnimationChannel обекти (по един за скаларен компонент). Наследява от A3DObject.
Example
| Example | Example | Example |
|---|
property | Property | Свойството на сценичния обект, към което тази точка за свързване се насочва |
channels_count | int | Брой анимационни канали в тази точка за свързване |
Example
| Example | Тип на връщане | Example |
|---|
add_channel(name, value, type=None) | bool | Добавя именуван канал със стойност по подразбиране |
get_channel(channel_name) | `AnimationChannel | None` |
get_keyframe_sequence(channel_name) | `KeyframeSequence | None` |
create_keyframe_sequence(name) | KeyframeSequence | Създава нов KeyframeSequence за тази точка на свързване |
bind_keyframe_sequence(channel_name, sequence) | None | Свързва съществуващ KeyframeSequence с канал |
reset_channels() | None | Премахва всички канали |
AnimationChannel
Съдържа един скалар KeyframeSequence за един анимиран компонент.
Example
| Example | Example | Example |
|---|
name | str | Име на канал (например. "X", "Y", "Z") |
default_value | Any | Стойност, използвана когато няма данни за ключови кадри |
keyframe_sequence | `KeyframeSequence | None` |
KeyframeSequence
Подреден списък от KeyFrame проби за един скаларен канал. Наследява от A3DObject.
Example
| Example | Example |
|---|
KeyframeSequence(name=None) | Създава празна последователност от ключови кадри |
Example
| Example | Example | Example |
|---|
name | str | Име на последователността |
key_frames | list[KeyFrame] | Списък само за четене на ключови кадри в хронологичен ред |
pre_behavior | Extrapolation | Поведение преди първия ключов кадър |
post_behavior | Extrapolation | Поведение след последния ключов кадър |
bind_point | `BindPoint | None` |
Example
| Example | Тип на връщане | Example |
|---|
add(time, value, interpolation=Interpolation.LINEAR) | None | Добавя ключов кадър в time (секунди) с даденото value и interpolation режим |
reset() | None | Изчиства всички ключови кадри и нулира пред/след поведение |
KeyFrame
Един единствен пример за време‑стойност в KeyframeSequence.
Example
KeyFrame обектите се създават вътрешно от KeyframeSequence.add(); не ги конструирайте директно.
Example
| Example | Example | Example |
|---|
time | float | Времева позиция в секунди |
value | float | Анимирана стойност в този момент |
interpolation | Interpolation | Режим на интерполация, приложен между този ключов кадър и следващия |
tangent_weight_mode | WeightedMode | Режим на тегло на тангентата (Bezier криви) |
step_mode | StepMode | Поведение при стъпка (PREVIOUS_VALUE или NEXT_VALUE) |
next_in_tangent | `Vector2 | None` |
out_tangent | `Vector2 | None` |
out_weight | float | Изходящо тегло на тангентата |
next_in_weight | float | Тегло на входната тангента |
tension | float | Параметър за напрежение (TCB сплайн) |
continuity | float | Параметър за непрекъснатост (TCB сплайн) |
bias | float | Параметър за изкривяване (TCB сплайн) |
independent_tangent | bool | Example True, входните и изходните тангенти са независими |
flat | bool | Example True, тангентите са ограничени и плоски |
time_independent_tangent | bool | Example True, посоката на тангентата е независима от мащабирането на времето |
Example
Контролира как стойностите се интерполира между последователни ключови кадри.
| Example | Example |
|---|
CONSTANT | Example |
LINEAR | Линейна интерполация между стойностите |
BEZIER | Cubic Bezier, използващ входни/изходни тангенти |
B_SPLINE | Униформен B-сплайн |
CARDINAL_SPLINE | Кардинален сплайн |
TCB_SPLINE | Тегло–Континуитет–Наклон сплайн |
Example
Контролира поведението на анимацията извън първия и последния ключов кадър.
| Example | Example |
|---|
CONSTANT | Запази граничната стойност |
GRADIENT | Екстраполирай при градиент на тангентата на граничния ключов кадър |
CYCLE | Повтори диапазона на ключовия кадър (цикли) |
CYCLE_RELATIVE | Повтори с кумулативно отместване (относително към крайната стойност) |
OSCILLATE | Пинг-понг (алтернативно напред и назад повторение) |
Example
Вижте също