خلاصه
Geo Text COMP متن را در فضای سهبعدی (3D) رندر میکند.
-
این کامپوننت هیچ SOPی را نمیخواند یا تولید نمیکند، بلکه مستقیماً با استفاده از کتابخانه Slug رندر انجام میدهد.
-
میتواند با هر متریال MAT نورپردازی (lit) و تکسچرگذاری (textured) شود.
ویژگیها
-
تنظیم فونت، رنگ، اندازه، بولد، ایتالیک، فاصله بین کاراکترها (tracking) و چندخطی، مشابه Text COMP.
-
برخلاف Text COMP که مرز Width و Height دارد، Geo Text این مرز را ندارد و بهجای آن از Layout Box استفاده میکند.
-
Layout Box دارای عرض و ارتفاع است.
-
بهصورت پیشفرض، گوشه پایین-چپ آن در مختصات (0,0,0) فضای شیء قرار میگیرد.
-
با تنظیم Layout Box Anchor U و V روی (0.5, 0.5)، میتوان مرکز جعبه را روی (0,0,0) گذاشت.
-
-
با Layout Box میتوان متن را راستچین یا بالاچین کرد، آن را به محدودهی جعبه کلیپ نمود و حتی Padding به هر طرف اضافه کرد.
📌 معادل دوبعدی این کامپوننت: Text COMP
📌 برای تغییرات کاراکتر بهصورت جداگانه: Text Formatting Codes
رندر چندرشتهای مستقل
برای رندر چند متن که هرکدام موقعیت و استایل جداگانه داشته باشند:
-
از Specification DAT و Specification CHOP استفاده میشود.
-
هر ردیف در Spec DAT یک بلاک متنی (Text Block) است.
-
ستون
textرشته متن را مشخص میکند و پارامتر Text را override میکند. -
بقیه ستونها پارامترهای Geo Text (مثل
tx،fontsizeو غیره) را override میکنند. -
بعضی ستونها پارامتر مستقیم ندارند ولی رفتار خاص دارند (مثل
append).
Spec CHOP
-
میتواند مقدارهای عددی (مثل tx, ty, rz, fontcolorr و …) برای هر بلاک بدهد.
-
تعداد سمپلهای Spec CHOP باید برابر تعداد ردیفهای Spec DAT باشد.
پارامترهایی که میتوان override کرد
-
اندازه فونت، رنگ فونت، Tracking
-
همهی پارامترهای مربوط به Layout Box و alignment
-
ستونهای ترنسفورم (tx, ty, tz, rx, ry, rz, sx, sy, sz)
ستون append
-
وقتی مقدار
append = 1باشد، بلاک جدید دقیقاً بعد از بلاک قبلی قرار میگیرد. -
ترنسفورمها به بلاکهای بعدی ارث میرسند.
ترنسفورمهای محلی (Local)
-
ستونهایی مثل
ltx, lrzترنسفورم محلی اعمال میکنند که به بلاکهای append بعدی منتقل نمیشوند. -
اگر ستون
localxform = preباشد، ترنسفورم محلی قبل از ترنسفورمهای ارثبری در فضای جهانی اعمال میشود.
نکته در رندر
Geo Text برای نمایش حروف از Blending و Transparency استفاده میکند.
-
هر کاراکتر (glyph) یک مستطیل نیمهشفاف است.
-
برای جلوگیری از دیدن پسزمینه مستطیلها:
-
متن باید بعد از هندسههای پشت سرش رندر شود.
-
این کار با Draw Priority در صفحه Render انجام میشود (مقدار منفیتر یعنی دیرتر کشیده شود).
-
-
متنها طبق ترتیب ردیفهای Spec DAT کشیده میشوند.
-
پس بهتر است سطرهایی که عقبتر هستند زودتر در جدول بیایند.
-
📌 برای گزینههای ترنسفورم بیشتر: OP Snippets
شباهت
Geo Text شبیه Text COMP است، با این تفاوت که Text دوبعدی است و Geo Text سهبعدی.
پارامترها
Text Page
-
Mode (mode): مشخص میکند متن از کجا گرفته شود:
-
از پارامتر Text
-
یا از Specification DAT / CHOP
-
-
Text (text): وقتی در حالت Text باشد، رشتهای که رندر میشود را مشخص میکند.
-
Specification DAT (specdat):
-
داده از یک جدول DAT خوانده میشود.
-
هر ردیف یک خط متن است که میتواند ترنسفورم، رنگ، چینش و تنظیمات متفاوتی داشته باشد.
-
اگر ستونی خالی بماند، مقدار پیشفرض پارامتر اعمال میشود.
-
ستونهای معتبر: text, tx, ty, tz, rx, ry, rz, sx, sy, sz, px, py, pz, ltx, lty, ltz, lrx, lry, lrz, lsx, lsy, lsz, lpx, lpy, lpz, fontcolorr, fontcolorg, fontcolorb, fontalpha, alignx, aligny, alignymode, fontsize, tracking, skew, horzstretch, linespacing, wordwrap, layoutsizew, layoutsizeh, layoutanchoru, layoutanchorv, textpaddingl, textpaddingr, textpaddingb, textpaddingt, render, append, localxform.
-
-
Specification CHOP (specchop): داده عددی را به بلاکهای متنی اعمال میکند. هر سمپل مربوط به یک ردیف در Spec DAT است.
-
Sort by Depth (sorted): وقتی فعال شود، ردیفها از عقب به جلو (نسبت به دوربین) کشیده میشوند تا شفافیت درست کار کند. (روی تعداد زیاد متن سنگین است).
-
Formatting Codes (formatcodes): فعالسازی کدهای فرمت مثل
{#color(255,0,0);}. -
Parse Escape Sequences (escapeseq): پشتیبانی از
\t,\n,\rبرای تب و خط جدید. -
Smart Punctuation (smartpunct): جایگزینی خودکار گیومهها، سه نقطه (…) و خط فاصله (—).
-
Word Wrap (wordwrap): شکستن متن وقتی از عرض Layout Box بیشتر شود.
Font Page
-
Font (font): انتخاب فونت از لیست سیستم. (اولین بار انتخاب ممکن است کمی طول بکشد).
-
Font File (fontfile): انتخاب فایل فونت دلخواه (غیرثبتشده در سیستم).
-
Bold (bold): نمایش متن بولد.
-
Italic (italic): نمایش متن ایتالیک.
-
Font Size (fontsize): اندازه فونت (واحد بر اساس فضای صحنه).
-
Tracking (tracking): فاصله افقی بین کاراکترها.
-
Skew (skew): کج کردن بالای کاراکترها.
-
Horz Stretch (horzstretch): کشیدگی افقی حروف.
-
Line Spacing (linespacing): فاصله بین خطوط.
-
Font Color (fontcolor): رنگ فونت (RGB).
-
Font Alpha (fontalpha): شفافیت فونت.
-
Layout Box Anchor U/V: مشخصکردن نقطهی چرخش و مبنای جعبه.
-
Layout Box Size (layoutsize): عرض و ارتفاع جعبه مجازی.
-
Clip to Layout Box: برش متن بیرون از جعبه.
-
Text Padding: فاصله از لبههای جعبه.
-
Horizontal Align (alignx): چینش افقی (Left, Center, Right).
-
Vertical Align (aligny): چینش عمودی (Top, Center, Bottom).
-
Vertical Align Mode (alignymode):
-
با Font Metrics (ثابت، بسته به فونت)
-
یا Bounding Box (وابسته به متن، مناسب متن استاتیک).
-
Xform Page
-
Transform Order (xord): ترتیب اعمال Scale, Rotate, Translate.
-
Rotate Order (rord): ترتیب اعمال چرخشها (Rx, Ry, Rz).
-
Translate (t): جابجایی روی محورهای X, Y, Z.
-
Rotate (r): چرخش روی محورهای X, Y, Z.
-
Scale (s): مقیاس روی محورهای X, Y, Z.
-
Pivot (p): نقطه مرجع برای مقیاس و چرخش.
وضیحات چرخش و مقیاس
-
Pivot Points: اگر یک کامپوننت با Pivot های مختلف بچرخد، نتایج متفاوتی میدهد.
-
Uniform Scale (مقیاس یکنواخت): اندازه کامپوننت را در هر سه محور به یک نسبت تغییر میدهد.
-
⚠️ نکته: تغییر Scale در کانالهای دوربین پیشنهاد نمیشود. ولی اگر انجام شود، خروجی رندر تا حد ممکن با Viewport هماهنگ خواهد بود.
-
پارامتر Parent Transform
-
Parent Transform Source: جایگزین پارامتر قدیمی Constrain To است. تعیین میکند موقعیت اولیه شیء از کجا گرفته شود:
-
Parent (Hierarchy) → از والد
-
Specify Parent Object → شیء مشخص
-
World Origin → مبدا جهان
-
-
Parent Object: اجازه میدهد این کامپوننت به مسیر شیء دیگری قفل شود.
-
Look At: باعث میشود کامپوننت همیشه به سمت یک کامپوننت دیگر نگاه کند (Origin آن).
-
مثال: دوربینی که همیشه حرکت یک شیء دیگر را دنبال میکند.
-
📌 ترفند: اگر بخواهی دوربین روی نقطهای که در صحنه وجود ندارد تمرکز کند → یک Null بساز، Display Flag آن را خاموش کن، دوربین را Parent آن کن و پارامتر Look At دوربین را روی Null بگذار.
-
-
Forward Direction: تعیین میکند کدام محور (±X, ±Y, ±Z) بهعنوان جهت جلو در نظر گرفته شود.
-
Look At Up Vector: هنگام استفاده از Look At، یک Up Vector هم میتوان تعریف کرد:
-
Don’t Use Up Vector → بدون بردار بالا (ممکن است انیمیشن بد شود).
-
Use Up Vector → دقیقاً تعیین میکند محور Y مثبت کجا باشد.
-
Use Quaternions → از کواترنیون برای محاسبه چرخش روان استفاده میکند.
-
Use Roll → زاویه Roll هم قابل کنترل است.
-
پارامتر Path
-
Path SOP: نام SOPی که مسیر حرکت را تعریف میکند (مثلاً مسیر حرکت دوربین).
-
Roll: زاویه چرخش شیء در طول مسیر.
-
Position: موقعیت روی مسیر، بین 0 (ابتدا) تا 1 (انتهای مسیر). تا عدد 10 هم قابل تکرار (Loop) است.
-
Orient along Path: اگر فعال شود، محور Z مثبت کامپوننت در راستای مسیر قرار میگیرد.
-
Orient Up Vector: تعیین میکند محور Y مثبت کجا باشد (X/Y/Z).
-
Auto-Bank Factor: چرخش خودکار بر اساس انحنای مسیر. مقدار 0 یعنی غیرفعال.
Parameters – Pre-Xform Page
این بخش دقیقاً مثل این است که یک والد برای شیء اضافه شود.
ترتیب اعمال:
-
Apply Pre-Transform: فعالسازی Pre-Xform.
-
Transform Order / Rotate Order / Translate / Rotate / Scale / Pivot: مثل صفحه Xform.
-
Uniform Scale: مقیاس یکنواخت.
-
Reset Transform: ریست کردن ترنسفورم این صفحه.
-
Commit to Main Transform: انتقال مقادیر این صفحه به Xform اصلی.
-
Xform Matrix/CHOP/DAT: استفاده از یک ماتریس 4×4 برای ترنسفورم مستقیم. ترتیب اعمال:
Parameters – Instance Page
قابلیت Instancing برای ساخت چند نسخه (Instance) از هندسه روی GPU.
-
Instancing: روشن/خاموش.
-
Instance Count Mode:
-
Manual → تعداد را دستی بدهی.
-
OP Length → تعداد از تعداد سطرهای DAT یا نمونههای CHOP گرفته شود.
-
-
Num Instances: تعداد نمونهها (وقتی Manual باشد).
-
Default Instance OP: تعیین CHOP یا DAT پیشفرض برای دادههای Instance.
-
First Row is: در صورت استفاده از DAT:
-
Ignored → ردیف اول نادیده گرفته میشود.
-
Names → ردیف اول نام ستونهاست.
-
Values → ردیف اول داده اولین Instance است.
-
-
Transform Order / Rotate Order: ترتیب اعمال ترنسفورمها برای هر Instance.
-
Translate / Rotate / Scale / Pivot OP: میتوان برای هرکدام یک CHOP/DAT/SOP داد.
-
هرکدام از محورهای X/Y/Z جداگانه قابل کنترل هستند.
-
Active: کانالی که تعیین میکند کدام Instance رندر شود (0 = خاموش).
Parameters – Instance 2 Page
وقتی داده از TOP/CHOP/SOP/DAT بیاید، به ترتیب به ویژگیهای Instance نگاشت میشود.
-
Rotate to Vector: امکان چرخش هر Instance به سمت یک بردار خاص.
-
Forward Direction → تعیین محور جلو.
-
Rotate to OP → منبع داده.
-
X/Y/Z → دادهی چرخش.
-
-
Rotate Up Vector: تعیین محور بالا (X/Y/Z).
-
Instance Order: ترتیب اعمال World Transform و Instance Transform:
-
Instance → World
-
World → Instance
-
-
Texture Mode:
-
Replace → جایگزینی مختصات UV
-
Transform → انتقال UV
-
-
Color Mode:
-
Replace, Multiply, Add, Subtract
-
-
Instance Textures: میتوان چندین TOP داد. هر Instance با استفاده از پارامتر Texture Index یکی از آنها را انتخاب میکند.
-
محدودیت: ویندوز حداکثر 16384 بافت، macOS حداکثر 128 بافت همزمان.
-
Parameters – Instance 3 Page
اینجا میتوان ویژگیهای سفارشی (Custom Attributes) تعریف کرد که در GLSL MAT قابل استفاده باشند.
-
TDInstanceCustomAttrib0(), TDInstanceCustomAttrib1() و … برای دسترسی.
-
هر GPU تعداد متفاوتی ویژگی سفارشی پشتیبانی میکند.
-
پارامترها: OP منبع + مقادیر X/Y/Z/W.
Parameters – Render Page
کنترل متریال و رندرینگ کامپوننت.
-
Material: انتخاب MAT.
-
Render: روشن/خاموش بودن نمایش.
-
Draw Priority: ترتیب کشیدن (اعداد کوچکتر دیرتر کشیده میشوند → برای شفافیت مهم است).
-
Pick Priority: اولویت انتخاب هنگام استفاده از Render Pick.
-
Wireframe Color: رنگ نمایش در حالت Wireframe.
-
Light Mask: محدودکردن چراغهایی که روی این هندسه تأثیر میگذارند.
Parameters – Extensions Page
مدیریت Extensionهای پایتون برای این کامپوننت.
-
Extension: لیست Extensionها.
-
Object: کلاس پایتونی متصل.
-
Name: نام اختیاری.
-
Promote: اگر روشن باشد متدها مستقیم در کامپوننت در دسترس هستند (n.SomeFunction). اگر خاموش باشد باید از
.extصدا زده شوند (n.ext.SomeFunction). -
Re-Init Extensions: بازکامپایل تمام Extensionها.
Parameters – Common Page
تنظیمات عمومی مربوط به نمایش، کپی و ارتباط با فایلها.
-
Parent Shortcut / Global OP Shortcut: نام مستعار برای دسترسی سریع به مسیر کامپوننت.
-
Internal OP: تعریف اپراتورهای داخلی و نام میانبر برایشان.
-
Node View: تعیین نمایشگر گره.
-
Enable Cloning / Clone Master: تنظیمات Clone.
-
Load on Demand: فقط هنگام نیاز بارگذاری شود.
-
Enable External .tox: وصلکردن فایل خارجی tox.
-
External .tox Path: مسیر فایل tox.
-
Reload Custom/Built-in Parameters: هنگام بارگذاری مجدد، مقادیر پارامترها را ریست کند یا نه.
-
Save Backup of External: بکاپ گرفتن داخل toe.
-
Sub-Component to Load: انتخاب یک COMP خاص از فایل tox.
-
Relative File Path Behavior: تنظیم اینکه مسیرهای نسبی داخل کامپوننت نسبت به toe باشد یا tox یا والد.
