خلاصه
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 – تعداد خطاها (در صورت وجود).
