Example
نظام الرسوم المتحركة Aspose.3D مُنظم حول تسلسل هرمي من الكائنات التي تربط البيانات المأخوذة على فترات زمنية بخصائص المشهد.
- Example
AnimationClip هو نطاق تشغيل مسمى (مثل “Walk”، “Run”) محتفظ به من قبل Scene. - Example
AnimationNode يعيش داخل مقطع ويربط البيانات المتحركة بخصائص محددة على كائنات المشهد. - أ
BindPoint يربط AnimationNode إلى مسمى Property على A3DObject. - Example
AnimationChannel يحتوي على قيمة عددية واحدة KeyframeSequence داخل نقطة ربط. - أ
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 |
keyframe_sequence | `KeyframeSequence | None` |
KeyframeSequence
قائمة مرتبة من KeyFrame عينات لقناة scalar واحدة. يرث من A3DObject.
Example
| Example | Example |
|---|
KeyframeSequence(name=None) | ينشئ تسلسل keyframe فارغ |
Example
| Example | Example | Example |
|---|
name | str | اسم التسلسل |
key_frames | list[KeyFrame] | قائمة للقراءة فقط من keyframes بترتيب زمني |
pre_behavior | Extrapolation | السلوك قبل أول keyframe |
post_behavior | Extrapolation | السلوك بعد آخر keyframe |
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 | وضع وزن المماس (منحنيات بيزير) |
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 spline) |
bias | float | معامل الانحياز (TCB spline) |
independent_tangent | bool | Example True, المماس الداخلي والخارجي مستقلان |
flat | bool | Example True, المماس مقفل مسطح |
time_independent_tangent | bool | Example True, اتجاه المماس مستقل عن مقياس الزمن |
Example
يتحكم في كيفية استيفاء القيم بين الإطارات المفتاحية المتتالية.
| Example | Example |
|---|
CONSTANT | Example |
LINEAR | الاستيفاء الخطي بين القيم |
BEZIER | منحنى بيزيه مكعب باستخدام المماس الداخلي/الخارجي |
B_SPLINE | منحنى B-spline المتساوي |
CARDINAL_SPLINE | منحنى كاردينال |
TCB_SPLINE | منحنى التوتر‑الاستمرارية‑التحيز |
Example
يتحكم في سلوك الرسوم المتحركة بعد الإطار المفتاحي الأول والأخير.
| Example | Example |
|---|
CONSTANT | احتفظ بقيمة الحد |
GRADIENT | استخرج عند تدرج المماس لإطار المفتاح الحدّي |
CYCLE | كرر نطاق إطار المفتاح (حلقات) |
CYCLE_RELATIVE | كرر مع إزاحة تراكمية (نسبة إلى القيمة النهائية) |
OSCILLATE | Ping-pong (تبديل متناوب إلى الأمام والخلف) |
Example
انظر أيضًا