خلاصه
Line MAT برای رندر کردن قطعهخطهای سهبعدی، نقاط و بردارها استفاده میشود.
ضخامت و رنگ خط میتواند بر اساس فاصله تا دوربین تغییر کند. دو مدل برای این کار وجود دارد:
افت به صورت ۱/z (z = فاصله از دوربین)
مدل Near-Far که در آن عرض و رنگ خط در فاصله نزدیک و دور مشخص میشود و سپس با سه کنترل rolloff تغییر میکند.
برای خطوط، انواع cap و joint (مفصلها) وجود دارد: گرد، مربعی، پیکان.
مدل نوردهی flat-shaded است (یعنی تحت تأثیر نور صحنه قرار نمیگیرد).
قابلیت رسم لبهها (مانند لبههای پلیگون)، نقاط و بردارها از روی نقاط وجود دارد.
از انواع primitive پشتیبانی میکند: polygon، mesh، NURBS، quad و …
میتواند پلیگون بسته یا باز را مدیریت کند.
همچنین:
امکان رندر نقطه روی هر Point وجود دارد.
امکان رسم یک بردار روی هر Point وجود دارد (بر اساس Attribute مثل Normal).
نقاط و بردارها میتوانند رنگ و آلفای مستقل داشته باشند.
🔹 Line Width مستقل از رزولوشن است: ضخامت ۱ معادل یکهزارم عرض تصویر خواهد بود (چه در Ortho Camera و چه Perspective).
🔹 برای تغییر ضخامت خط یا نقطه به صورت per-point، میتوان Attribute به نام width روی SOP اضافه کرد. (مثلاً مقدار ۲ یعنی دو برابر ضخامت معمول). برای مقیاسدهی per-point بدون تغییر در خط اصلی، از Attribute به نام pscale استفاده کنید.
🔹 اگر در حال انیمیت کردن Ortho Width یا Field of View هستید، با فعالکردن پارامتر Width Affected by FOV/Ortho Width، ضخامت خطوط متناسب با زوم تغییر میکند.
پارامترها – Setup Page
(کنترل کلی برای خطوط، نقاط و بردارها – هر تغییری روی همه اعمال میشود)
Depth Interpolation Model (depthinterpolationmodel): انتخاب مدل تغییر عرض خط بر اساس فاصله.
Inverse Distance Exponent (inversedistanceexponent): سرعت کاهش عرض با فاصله (۱/r یا ۱/r²).
Distance Near (distancenear): فاصله نزدیک از دوربین.
Distance Far (distancefar): فاصله دور از دوربین.
Width Near (widthnear): ضخامت ثابت در فاصله نزدیک.
Width Far (widthfar): ضخامت ثابت در فاصله دور.
Width Affected by FOV/OrthoWidth (widthaffectedbyfov): تعیین تأثیر زوم دوربین بر ضخامت خطوط.
Width Bias, Steepness, Linearize: تنظیم منحنی تغییر ضخامت (S Curve).
Color Bias, Steepness, Linearize: مشابه بالا، ولی برای تغییر رنگ.
Lift Direction (liftdirection): جابجایی خط روی سطح: Along Camera Z / Along Normal / Toward Camera.
Lift Scale (liftscale): شدت بلند شدن خط از سطح.
Num Points in Circle (numptsincircle): تعداد نقاط برای ترسیم قوس دایرهای.
پارامترها – Line Page
Draw Lines: فعال/غیرفعال کردن رسم خط.
Line Joint Type (linejointtype): نوع joint بین دو خط (Round, Miter, Bevel).
Miter Threshold: آستانه زاویه برای تبدیل joint به Bevel.
Line Start/End Cap Type: نوع cap ابتدا/انتها (Round, Square, Triangle, Arrow, None).
Line End Taper Strength: قدرت باریکشدن انتهای خط.
Line Near/Far Color & Alpha: تعیین رنگ و آلفا در فاصله نزدیک و دور.
پارامترها – Point Page
Draw Points: فعال/غیرفعال کردن رسم نقاط.
Point Type: نوع نقطه (Circle, Sphere, Square, Cone, Sprite).
Point Size Multiplier: ضریب مقیاس سایز نقطه.
Point Near/Far Color & Alpha: رنگ و آلفا برای فاصله نزدیک/دور.
Point Lift Direction / Scale: مشابه خطوط، تعیین جابجایی و شدت آن.
پارامترها – Vector Page
Draw Vectors: فعال/غیرفعال کردن رسم بردارها روی نقاط.
Scale: ضریب طول بردار.
Vector Start/End Cap Type: نوع cap ابتدا/انتها (Round, Square, Triangle, Arrow, None).
Vector Taper Strength: ضریب باریکشدن انتهای بردار.
Vector Near/Far Color & Alpha: رنگ و آلفا در فاصله نزدیک/دور.
پارامترها – Caps Page
کنترل ابعاد capها:
Round Width/Height
Square Width/Height
Triangle Width/Height
Arrow Width/Height/Tail Length
End Cap Width/Height Multiplier
Start Cap Pullback / End Cap Pullback
پارامترها – Attributes Page
Line Position/Width/Color Attribute
Point Position/Size/Color Attribute
Vector Attribute Type: مشخص میکند XYZ بردار از کجا گرفته شود (SOP Attribute یا Instance Attribute).
Vector Attribute (vectoratt): انتخاب Attribute مثل N, P, Cd, uv یا سفارشی.
Vector Instance Custom Attribute Index: تعیین Index در حالت Instance.
پارامترها – Deform Page
(مثل In MAT)
Deform: فعالسازی deform روی متریال.
Get Bone Data: از SOP / MAT دیگر / DeformIn MAT.
SOP with Capture Data: مشخص کردن SOP حاوی داده capture.
pCaptPath / pCaptData: ویژگیهای deform.
Skeleton Root Path: مسیر root اسکلت.
MAT: MAT مرجع برای deform.
پارامترها – Common Page
🔹 Blending (شفافیت)
ترکیب رنگ Source و Destination.
Blend Operation: Add / Subtract / Min / Max.
Source Blend / Dest Blend: شامل Zero, One, Source Alpha, Dest Alpha, Constant Color, Constant Alpha و …
Separate Alpha Function: کنترل ترکیب آلفا جداگانه.
Blend Constant Color/Alpha.
Legacy Alpha Behavior / Post-Mult Alpha.
🔹 Depth Test (تست عمق)
فعال/غیرفعال کردن تست عمق.
Depth Test Function: Less, Greater, Equal, Always و …
Write Depth Values: نوشتن مقادیر عمق.
🔹 Alpha Test (تست آلفا)
فعال/غیرفعال کردن.
Alpha Func: انتخاب شرط (کمتر، بیشتر، مساوی).
Alpha Threshold: آستانه مقایسه آلفا.
🔹 Wire Frame (نمای سیمی)
حالتها: Off, OpenGL Tesselated, Topology.
Wire Width: ضخامت خطوط سیمی.
🔹 Cull Face (حذف وجهها)
تنظیم کدام وجهها رندر شوند: Neither, Back, Front, Both.
🔹 Polygon Depth Offset
فعالسازی افست عمق پلیگون برای جلوگیری از Z-Fighting.
Info CHOP Channels
اطلاعات Line MAT از طریق Info CHOP در دسترس است:
total_cooks: تعداد دفعات پردازش.
cook_time: مدت آخرین پردازش (ms).
cook_frame / cook_abs_frame: شماره فریم آخرین پردازش.
cook_start_time / cook_end_time: زمان شروع/پایان پردازش.
cooked_this_frame: اگر در این فریم پردازش شده = ۱.
warnings: تعداد هشدارها.
errors: تعداد خطاها.