Animation — Aspose.3D FOSS for Python API Reference

Enumerations

Aspose.3D एनीमेशन सिस्टम वस्तुओं की एक पदानुक्रम के आसपास व्यवस्थित है जो समय-नमूना डेटा को सीन प्रॉपर्टीज़ से बाइंड करती हैं।.

  • Enumerations AnimationClip एक नामित प्लेबैक रेंज (जैसे “Walk”, “Run”) है जो एक द्वारा रखी गई Scene.
  • Enumerations AnimationNode एक क्लिप के भीतर रहता है और एनीमेटेड डेटा को सीन ऑब्जेक्ट्स की विशिष्ट प्रॉपर्टीज़ से बाइंड करता है।.
  • एक BindPoint एक को जोड़ता है AnimationNode को एक नामित Property पर एक A3DObject.
  • Enumerations AnimationChannel एक एकल स्केलर रखता है KeyframeSequence एक बाइंड पॉइंट के भीतर।.
  • एक KeyframeSequence एक क्रमबद्ध सूची है KeyFrame समय‑मान नमूने।.

सभी एनीमेशन क्लासेस यहाँ हैं aspose.threed.animation उप‑पैकेज में, हालांकि वे सीधे यहाँ से भी पहुँच योग्य हैं aspose.threed.

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

AnimationClip

एक नामित कंटेनर एक प्लेबैक रेंज के लिए। एक Scene एकाधिक क्लिप्स रख सकता है। Inherits from SceneObject.

Enumerations

EnumerationsEnumerations
AnimationClip(name=None)एक वैकल्पिक नाम के साथ क्लिप बनाता है

Enumerations

EnumerationsEnumerationsEnumerations
namestrक्लिप नाम (जैसे. "Walk")
descriptionstrवैकल्पिक विवरण
startfloatसेकंड में प्रारंभ समय
stopfloatसेकंड में समाप्ति समय
animationslist[AnimationNode]इस क्लिप में एनीमेशन नोड्स की केवल‑पढ़ने योग्य सूची
propertiesPropertyCollectionकस्टम प्रॉपर्टीज़

Enumerations

Enumerationsरिटर्न टाइपEnumerations
create_animation_node(node_name)AnimationNodeएक नया बनाता है और पंजीकृत करता है AnimationNode इस क्लिप में

AnimationNode

एक को बाइंड करता है AnimationClip एक या अधिक को BindPoint ऑब्जेक्ट्स जो सीन-ऑब्जेक्ट प्रॉपर्टीज़ को लक्षित करते हैं। से विरासत में प्राप्त A3DObject.

Enumerations

EnumerationsEnumerations
AnimationNode(name=None)वैकल्पिक नाम के साथ एक एनीमेशन नोड बनाता है

Enumerations

EnumerationsEnumerationsEnumerations
namestrनोड नाम
bind_pointslist[BindPoint]बाइंड पॉइंट्स की केवल‑पढ़ने योग्य सूची
sub_animationslist[AnimationNode]चाइल्ड एनीमेशन नोड्स की केवल‑पढ़ने योग्य सूची
propertiesPropertyCollectionकस्टम प्रॉपर्टीज़

Enumerations

Enumerationsरिटर्न टाइपEnumerations
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

एक को जोड़ता है AnimationNode एक एकल को Property पर एक A3DObject. प्रत्येक BindPoint एकाधिक रख सकता है AnimationChannel ऑब्जेक्ट्स (प्रत्येक स्केलर घटक के लिए एक)। से विरासत में प्राप्त करता है A3DObject.

Enumerations

EnumerationsEnumerationsEnumerations
propertyPropertyयह बाइंड पॉइंट जिस सीन-ऑब्जेक्ट प्रॉपर्टी को लक्षित करता है
channels_countintइस बाइंड पॉइंट में एनीमेशन चैनलों की संख्या

Enumerations

Enumerationsरिटर्न टाइपEnumerations
add_channel(name, value, type=None)boolडिफ़ॉल्ट मान के साथ एक नामित चैनल जोड़ता है
get_channel(channel_name)`AnimationChannelNone`
get_keyframe_sequence(channel_name)`KeyframeSequenceNone`
create_keyframe_sequence(name)KeyframeSequenceएक नया बनाता है KeyframeSequence इस बाइंड पॉइंट के लिए
bind_keyframe_sequence(channel_name, sequence)Noneएक मौजूदा को संबद्ध करता है KeyframeSequence एक चैनल के साथ
reset_channels()Noneसभी चैनलों को हटाता है

AnimationChannel

एक एकल स्केलर रखता है KeyframeSequence एक एनिमेटेड घटक के लिए।.

Enumerations

EnumerationsEnumerationsEnumerations
namestrचैनल नाम (जैसे. "X", "Y", "Z")
default_valueAnyजब कोई कीफ़्रेम डेटा मौजूद नहीं होता है तो उपयोग किया जाने वाला मान
keyframe_sequence`KeyframeSequenceNone`

KeyframeSequence

एक क्रमबद्ध सूची of KeyFrame एकल स्केलर चैनल के लिए नमूने। विरासत में प्राप्त A3DObject.

Enumerations

EnumerationsEnumerations
KeyframeSequence(name=None)एक खाली कीफ़्रेम अनुक्रम बनाता है

Enumerations

EnumerationsEnumerationsEnumerations
namestrअनुक्रम नाम
key_frameslist[KeyFrame]क्रमानुसार क्रम में कीफ़्रेम की केवल‑पढ़ने योग्य सूची
pre_behaviorExtrapolationपहले कीफ़्रेम से पहले का व्यवहार
post_behaviorExtrapolationअंतिम कीफ़्रेम के बाद का व्यवहार
bind_point`BindPointNone`

Enumerations

Enumerationsरिटर्न टाइपEnumerations
add(time, value, interpolation=Interpolation.LINEAR)Noneएक कीफ़्रेम को यहाँ जोड़ता है time (seconds) दिए गए value और interpolation मोड
reset()Noneसभी keyframes साफ़ करता है और प्री/पोस्ट behaviour रीसेट करता है

KeyFrame

एक एकल समय‑मान नमूना एक में KeyframeSequence.

Enumerations

KeyFrame objects आंतरिक रूप से द्वारा बनाए जाते हैं KeyframeSequence.add(); उन्हें सीधे निर्माण न करें।.

Enumerations

EnumerationsEnumerationsEnumerations
timefloatसेकंड में समय स्थिति
valuefloatइस समय पर एनिमेटेड मान
interpolationInterpolationइस कीफ़्रेम और अगले के बीच लागू किया गया इंटरपोलेशन मोड
tangent_weight_modeWeightedModeटैन्जेंट वेट मोड (Bezier curves)
step_modeStepModeस्टेप व्यवहार (PREVIOUS_VALUE या NEXT_VALUE)
next_in_tangent`Vector2None`
out_tangent`Vector2None`
out_weightfloatआउटगोइंग टैन्जेंट वेट
next_in_weightfloatइनकमिंग टैन्जेंट वेट
tensionfloatटेंशन पैरामीटर (TCB स्प्लाइन)
continuityfloatसततता पैरामीटर (TCB स्प्लाइन)
biasfloatबायस पैरामीटर (TCB स्प्लाइन)
independent_tangentboolEnumerations True, इन और आउट टैन्जेंट स्वतंत्र हैं
flatboolEnumerations True, टैन्जेंट क्लैम्प्ड फ्लैट हैं
time_independent_tangentboolEnumerations True, टैन्जेंट दिशा समय स्केलिंग से स्वतंत्र है

Enumerations

नियंत्रित करता है कि मान क्रमिक keyframes के बीच कैसे इंटरपोलेट होते हैं।.

EnumerationsEnumerations
CONSTANTEnumerations
LINEARमानों के बीच रैखिक इंटरपोलेशन
BEZIERइन/आउट टैन्जेंट का उपयोग करके क्यूबिक बेज़ियर
B_SPLINEयूनिफॉर्म B-स्प्लाइन
CARDINAL_SPLINEकार्डिनल स्प्लाइन
TCB_SPLINEटेंशन–कंटिन्यूटी–बायस स्प्लाइन

Enumerations

पहले और अंतिम keyframe के परे एनीमेशन व्यवहार को नियंत्रित करता है।.

EnumerationsEnumerations
CONSTANTसीमा मान को रखें
GRADIENTसीमा की कीफ़्रेम के टैन्जेंट ग्रेडिएंट पर एक्सट्रापोलेट करें
CYCLEकीफ़्रेम रेंज को दोहराएँ (लूप्स)
CYCLE_RELATIVEसंचयी ऑफ़सेट के साथ दोहराएँ (अंत मान के सापेक्ष)
OSCILLATEपिंग-पॉंग (आगे और पीछे वैकल्पिक दोहराव)

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

संबंधित देखें

 हिन्दी