خلاصه
Arm SOP تمام هندسههای لازم برای یک بازو را ایجاد میکند و یک سطح صاف و بدون پیچخوردگی (skin) ارائه میدهد که بازو را به بدن متصل میکند. این بازو از طریق معکوسسینماتیک (Inverse Kinematics) که به یک نقش دست (Handprint) متصل است، کنترل میشود.
پارامترها – صفحه Arm
Capture Type (capttype) – ⊞ – شما میتوانید از بیضیها (Ellipses) یا ناحیههای Capture بهعنوان هندسه تغییر شکل استفاده کنید.
Ellipses (ellipses) – برای استفاده همراه با Skeleton SOP.
Capture Regions (cregions) – برای استفاده همراه با Capture SOP.
Arm Axis (axis) – ⊞ – جایگذاری مدل در راستای محور +X یا -X.
+X (posx)
-X (negx)
Radius (bonerad) – کنترل مقیاس شعاع دایرهها.
Rotate Hand (rotatehand) – این پارامتر دست و مفصل مچ را میچرخاند تا با جهت شیء Handprint مطابقت پیدا کند.
توجه: برای عملکرد صحیح، مقیاس Transform های End Affector (Handprint) باید روی 1 باقی بماند.
اگر مقدار کانال روی 0 باشد → چرخش دست نسبت به ساعد انجام میشود.
اگر مقدار کانال روی 1 باشد → چرخش دست همان جهت End Affector خواهد بود.
Auto Elbow Twist (autoelbow) – پیچخوردگی پیشفرض مفصل آرنج را به موقعیت طبیعیتری تغییر میدهد.
Elbow Twist (elbowtwist) – زاویه چرخش مفصل آرنج را مشخص میکند.
Flip Elbow (flipelbow) – این سوییچ بازو را با استفاده از یک راهحل جایگزین برای موقعیت آرنج قرار میدهد.
پارامترها – صفحه Lengths
(تصویر: TouchGeometry216.gif)
کنترل طول استخوانها و مفصلها طبق شکل:
Clavicle (clavlength) – طول ترقوه.
Humerus (humlength) – طول بازو (استخوان بازو).
Ulna (ulnalength) – طول ساعد (اولنا).
Hand (handlength) – طول دست.
Shoulder Joint (shoulder) – طول مفصل شانه.
Elbow Joint (elbow) – طول مفصل آرنج.
Wrist Joint (wrist) – طول مفصل مچ.
پارامترها – صفحه Transforms
وقتی بازو برای رسیدن به End Affector (نقش دست) قرار میگیرد، ممکن است شانه، آرنج و مچ خمیدگیهای غیرطبیعی تولید کنند. این فیلدهای Transform امکان تنظیم دستی هر دایره کنترلی از هر مفصل را میدهند تا مشکل رفع شود.
هر دایره مفصل (مثلاً Shoulder 1) سه فیلد Transform دارد (دو Translate و یک Scale).
این مقادیر بسته به میزان خمیدگی مفصل اعمال میشوند:
وقتی بازو کاملاً کشیده است → Transformها هیچ اثری ندارند.
وقتی زاویه مفصلها 90 درجه است → Transformها بیشترین اثر را دارند.
بنابراین قبل از تنظیم این مقادیر، مفصلها را روی زاویه 90 قرار دهید.
شانهها (Shoulder)
Shoulder 1 (shoulder1t) – ⊞ – موقعیت X, Z دایره اول شانه و مقیاس کلی آن.
X (shoulder1tx) – موقعیت X
Y (shoulder1ty) – موقعیت Z (برچسبگذاری بهاشتباه Y است)
Z (shoulder1tz) – مقیاس کلی (برچسبگذاری بهاشتباه Z است)
Shoulder 2 → (shoulder2t: tx, ty, tz)
Shoulder 3 → (shoulder3t: tx, ty, tz)
Shoulder 4 → (shoulder4t: tx, ty, tz)
Shoulder 5 → (shoulder5t: tx, ty, tz)
آرنجها (Elbow)
Elbow 1 → (elbow1t: tx, ty, tz)
Elbow 2 → (elbow2t: tx, ty, tz)
Elbow 3 → (elbow3t: tx, ty, tz)
Elbow 4 → (elbow4t: tx, ty, tz)
Elbow 5 → (elbow5t: tx, ty, tz)
مچها (Wrist)
Wrist 1 → (wrist1t: tx, ty, tz)
Wrist 2 → (wrist2t: tx, ty, tz)
Wrist 3 → (wrist3t: tx, ty, tz)
Wrist 4 → (wrist4t: tx, ty, tz)
Wrist 5 → (wrist5t: tx, ty, tz)
(برای همه مفصلها توضیح مشابه است: موقعیت X, Z و مقیاس کلی – که بعضی مقادیر بهاشتباه Y/Z برچسب خوردهاند)
پارامترها – صفحه End Affector
Affector Object (affector) – End Affector میتواند یک شیء دیگر باشد یا توسط یک جعبه پیشفرض تعریف شود، که با Transformهای زیر کنترل میشود.
Translate (t) – ⊞ – جابهجایی End Affector (برای توضیح کامل، به Transform SOP مراجعه کنید).
X (tx) – انتقال در محور X
Y (ty) – انتقال در محور Y
Z (tz) – انتقال در محور Z
Rotate (r) – ⊞ – چرخش End Affector.
X (rx) – چرخش حول محور X
Y (ry) – چرخش حول محور Y
Z (rz) – چرخش حول محور Z
Scale (s) – ⊞ – مقیاس End Affector.
X (sx) – مقیاس X
Y (sy) – مقیاس Y
Z (sz) – مقیاس Z
کانالهای Info CHOP
اطلاعات اضافه برای Arm SOP از طریق Info CHOP در دسترس است.
کانالهای عمومی SOP Info
num_points – تعداد نقاط در این SOP.
num_prims – تعداد پرایمیتیوها.
num_particles – تعداد ذرات.
last_vbo_update_time – زمان صرفشده در نخ دیگر برای بهروزرسانی دادههای هندسه روی GPU از دادههای CPU.
last_meta_vbo_update_time – زمان صرفشده در نخ دیگر برای بهروزرسانی دادههای سطح متا (metaballs یا 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 – تعداد خطاها (در صورت وجود).