خلاصه
Alembic SOP دنبالههای هندسه (geometry sequences) فایل Alembic را بارگذاری و پخش میکند.
نوعهای اولیه (primitive) پشتیبانیشده در Alembic شامل polymesh، منحنیها (curves)، و نقاط (points) برای هندسه هستند. همچنین، تبدیلهای Alembic هم پشتیبانی میشوند.
برای فایلهای Alembic که شامل انیمیشن هستند، از پارامتر Time استفاده کنید و به منوی Unit توجه کنید تا بتوانید کنترل کنید که در فریمها، ثانیهها، یا هر واحد دلخواه دیگر نمایش داده شود.
یک آرشیو Alembic میتواند شامل یک یا چند مسیر شیء (object path) برای یک یا چند هندسه باشد. میتوان همه این اشیاء را یکجا مشاهده کرد یا آنها را بهطور جداگانه از طریق منوی پارامتر Object Path انتخاب نمود.
هر شیء در اسکیمای (schema) فایل Alembic میتواند دارای ویژگیهای استاندارد یا سفارشی باشد. ویژگیهای استاندارد عبارتند از: نرمال (N)، سرعت (V)، و مختصات بافت (UV). چندین ویژگی سفارشی با نامها و نوعهای انعطافپذیرتر نیز میتوانند در یک اسکیمای Alembic وجود داشته باشند. انواع ویژگیهای سفارشی میتوانند شامل موارد زیر باشند:
آرایههای float
آرایههای عدد صحیح (integer)
بردارهای دوبعدی یا سهبعدی float
ماتریس با 16 عنصر float
تبدیل بین حوزههای (scope) هندسههای Alembic به نوع ویژگیهای TouchDesigner در جدول زیر نشان داده شده است:
حوزه Alembic | ویژگی TouchDesigner |
---|---|
Varying, Vertex | Point |
Facevarying | Vertex |
Uniform, Constant | Primitive |
Alembic SOP به شما اجازه میدهد هندسه را هم روی CPU و هم روی GPU بارگذاری کنید. استفاده از GPU بسیار سریعتر است، اما محدودیتهایی دارد:
در حالت مستقیم GPU، نمیتوانید SOPهای اضافی را پاییندستی متصل کنید.
در حالت مستقیم GPU، وقتی چند شیء با مجموعههای مختلفی از ویژگیها وجود دارند، یک مقدار پیشفرض برای ویژگیهای مفقود هر شیء استفاده میشود. بهعنوان مثال، اگر یک هندسه دادههای نرمال داشته باشد و دیگری نداشته باشد، مقادیر x، y، و z بردار نرمال برای هندسهای که ویژگی نرمال ندارد بهترتیب روی (0, 0, 1) تنظیم میشوند.
پارامترها – صفحه
Alembic File (file) – مسیر فایل Alembic.
Object Path (objectpath) – مشخص کنید کدام شیء هندسه بارگذاری شود. هر شیء هندسه میتواند نمایانگر سلسلهمراتبی از چند هندسه باشد. همچنین میتوانید گزینه All Objects را انتخاب کنید. (این گزینه بهصورت پیشفرض فعال است.)
Time (time) – تعیین میکند کدام بخش از دنباله نمونههای Alembic بارگذاری شود. منوی واحد زمان، واحدهای زمانی فعلی را به واحد انتخابشده تبدیل میکند. گزینههای موجود: Frames، Seconds، Fraction.
Time Unit (timeunit) – انتخاب واحد زمان.
Transform (xform) – انتخاب کنید چه تبدیلی اعمال شود اگر دادههای تبدیل در فایل Alembic ورودی موجود باشند:
None – هیچ تبدیلی اعمال نمیشود و هندسه در مبدأ قرار میگیرد.
Static Local Transformation – اعمال تبدیل محلی ایستا برای اشیاء انتخابشده.
Static World Transformation – اعمال تبدیل جهانی ایستا برای اشیاء انتخابشده و والدهای آنها.
Dynamic Transformation – در صورت وجود هندسههای پویا یا انیمیشنی، تبدیل پویا اعمال میشود (شامل محلی و جهانی).
Interpolation (interp) – در صورت وجود هندسههای پویا، بین نمونهها/کلیدفریمها در فایل Alembic میانیابی انجام دهد:
None – بدون میانیابی.
Smooth Interpolation – میانیابی نرم بین هر دو نمونه محاسبه میشود.
Straight to GPU (straightgpu) – هندسه را مستقیماً به GPU بارگذاری میکند. (سریعتر است، اما نمیتوانید از آن در SOPهای دیگر یا SOP to CHOP/DAT استفاده کنید.) توصیه میشود که نرمالها و UVها از قبل baked شده باشند.
Compute Normal (compnml) – نرمالها را برای هندسه ورودی ایجاد میکند.
Unload (loadfile) – در حالت “on” فایل را آزاد و بسته میکند. در حالت “off”، دوباره بارگذاری میشود. وقتی فایل آزاد شود، میتواند توسط برنامههای دیگر بازنویسی یا حذف شود.
کانالهای Info CHOP
اطلاعات اضافی مربوط به Alembic SOP از طریق یک Info CHOP در دسترس است.
کانالهای خاص Alembic SOP
start_time
– زمان شروع.end_time
– زمان پایان.
کانالهای عمومی SOP Info
num_points
– تعداد نقاط در این SOP.num_prims
– تعداد primitives در این SOP.num_particles
– تعداد ذرات در این SOP.last_vbo_update_time
– زمان صرفشده در نخ دیگر برای بهروزرسانی دادههای هندسه روی GPU از دادههای CPU.last_meta_vbo_update_time
– زمان صرفشده برای بهروزرسانی دادههای سطح متا (مثل metaball یا nurbs).
کانالهای عمومی Operator Info
total_cooks
– تعداد دفعات cook شدن از زمان شروع پردازش.cook_time
– مدت زمان آخرین cook بر حسب میلیثانیه.cook_frame
– شماره فریم در تایملاین کامپوننت که آخرین cook انجام شد.cook_abs_frame
– شماره فریم در زمان مطلق که آخرین cook انجام شد.cook_start_time
– زمان شروع cook در فریم (ms).cook_end_time
– زمان پایان cook در فریم (ms).cooked_this_frame
– اگر اپراتور در این فریم cook شده باشد مقدار 1.warnings
– تعداد هشدارها.errors
– تعداد خطاها.