Noise TOP

پرش به ناوبری | پرش به جستجو

خلاصه (Summary)

Noise TOP انواع مختلفی از الگوهای نویز را تولید می‌کند، از جمله Perlin، Simplex، Sparse، Alligator و Random. بعضی از انواع نویز روی CPU اجرا می‌شوند و بعضی دیگر روی GPU محاسبه می‌شوند. آن‌هایی که روی GPU محاسبه می‌شوند، کلمهٔ GPU را در نام خود دارند.

ورودی اول می‌تواند بسته به پارامترها، به روش‌های مختلف با نویز تولیدشده ترکیب شود.

ورودی دوم می‌تواند برای تعیین مختصات نویز به‌ازای هر پیکسل استفاده شود.
اگر ورودی دوم متصل نباشد، مختصات نویز همان مختصات تکسچر ۰ تا ۱ خروجی است؛ یعنی موقعیت پیکسل در تکسچر خروجی.
اگر ورودی دوم متصل باشد، موقعیت پیکسل در تکسچر خروجی برای نمونه‌برداری از ورودی دوم استفاده می‌شود و مقادیر RGBA آن پیکسل نمونه‌برداری‌شده، به‌عنوان مختصات XYZW نویز استفاده خواهند شد.

نکته: این TOP از تکسچرهای سه‌بعدی (3D Textures) و آرایه‌های تکسچر دوبعدی (2D Texture Arrays) پشتیبانی می‌کند. برای اینکه این TOP خروجی سه‌بعدی تولید کند، باید ورودی آن از نوع تکسچر سه‌بعدی باشد. می‌توانید از Texture 3D TOP یا GLSL TOP برای ساخت تکسچر سه‌بعدی استفاده کنید.

noiseTOP_Class


فهرست مطالب (Contents)

  1. Summary

  2. Parameters – Noise Page

  3. Parameters – Transform Page

  4. Parameters – Output Page

  5. Parameters – Common Page

  6. Operator Inputs

  7. Info CHOP Channels
      7.1 Common TOP Info Channels
      7.2 Common Operator Info Channels


Parameters – Noise Page

Type (type) ⊞

تابع نویزی که برای تولید نویز استفاده می‌شود. توابع موجود عبارت‌اند از: (فهرست انواع نویز)

Seed (seed)

هر عددی (صحیح یا اعشاری) که مولد اعداد تصادفی را شروع می‌کند. هر مقدار Seed الگوی نویزی کاملاً متفاوت تولید می‌کند، اما با ویژگی‌های کلی مشابه.

Period (period)

فاصلهٔ تقریبی بین قله‌های یک سیکل نویز. این مقدار بر حسب واحد (Units) بیان می‌شود. افزایش Period باعث کشیده‌تر شدن الگوی نویز می‌شود.
Period عکس فرکانس است. اگر Period برابر ۲ ثانیه باشد، فرکانس پایه ۰٫۵ سیکل بر ثانیه یا ۰٫۵ هرتز است. هرتز به نام مهندس برق و صدا در قرن ۱۹ نام‌گذاری شده، نه اون یارو ماشین‌باز 😄

اگر Type روی Random تنظیم شده باشد، مقدار صفر باعث تولید نویز کاملاً تصادفی می‌شود. در غیر این صورت، Period باید بزرگ‌تر از صفر باشد.

Harmonics (harmon)

تعداد مؤلفه‌های فرکانس بالاتر که روی فرکانس پایه لایه می‌شوند. هرچه این عدد بیشتر باشد، نویز ناهموارتر (bumpier) خواهد شد (به شرطی که Roughness صفر نباشد). مقدار ۰ فقط شکل پایه را می‌دهد.

Harmonic Spread (spread)

ضریبی که فرکانس هارمونیک‌ها با آن افزایش می‌یابد. مقدار معمول آن ۲ است.
برای مثال: Spread برابر ۳ و فرکانس پایه ۰٫۱ هرتز، هارمونیک‌هایی با فرکانس‌های ۰٫۳، ۰٫۹، ۲٫۷ هرتز و … تولید می‌کند.
این پارامتر فقط برای نوع Harmonic Summation معتبر است.

Harmonic Gain (gain)

مقدار شدت (Gain) هارمونیک‌هایی که روی فرکانس پایه اضافه می‌شوند.

Roughness (rough)

کنترل‌کنندهٔ تأثیر نویزهای با فرکانس بالاتر است.

  • وقتی Roughness صفر باشد، تمام هارمونیک‌های بالاتر از فرکانس پایه بی‌اثر می‌شوند.

  • وقتی برابر ۱ باشد، همهٔ هارمونیک‌ها دامنه‌ای برابر با فرکانس پایه دارند.

  • وقتی بین ۰ و ۱ باشد، دامنهٔ هارمونیک‌ها به‌صورت نمایی از فرکانس پایه کاهش می‌یابد.

مقدار پیش‌فرض ۰٫۵ است. یعنی دامنهٔ هارمونیک اول نصف فرکانس پایه، دومی ۰٫۲۵ و سومی ۰٫۱۲۵ است.
هارمونیک‌ها به فرکانس پایه اضافه می‌شوند تا شکل نهایی ساخته شود.
برای دیدن اثر هارمونیک‌ها، هر دو پارامتر Harmonics و Roughness باید غیر صفر باشند.

Exponent (exp)

مقادیر نویز را به سمت ۰ یا به سمت +۱ و −۱ هل می‌دهد (مقدار به توان Exponent می‌رسد).
توان‌های بزرگ‌تر از ۱ مقدار را به سمت صفر می‌کشند و توان‌های کوچک‌تر از ۱ قله‌ها را به سمت +۱ و −۱ تقویت می‌کنند.
از این پارامتر برای تغییر شکل کانال‌ها استفاده می‌شود.

Amplitude (amp)

دامنهٔ مقدار نویز را مشخص می‌کند (اسکیل خروجی).

Offset (offset)

رنگ میانی الگوی نویز را تعیین می‌کند. مقدار پیش‌فرض خاکستری ۰٫۵ است.

Monochrome (mono)

سوییچ بین نویز رنگی و تک‌رنگ.

Aspect Correct (aspectcorrect)

مشخص می‌کند که آیا نسبت تصویر (Aspect Ratio) در محاسبهٔ مختصات نویز لحاظ شود یا نه.
اگر خاموش باشد، نویز برای تطبیق با تکسچر غیرمربعی کشیده می‌شود.


Parameters – Transform Page

پارامترهای Translate، Rotate، Scale و Pivot به شما اجازه می‌دهند بخش متفاوتی از فضای نویز سه‌بعدی را نمونه‌برداری کنید.
فرض کنید برای هر نقطهٔ XYZ در فضا یک مقدار نویز وجود دارد. به‌طور معمول، Noise TOP فضای نویز را از نقطهٔ (0,0,0) در امتداد محور X و با گام‌های ۲/Period نمونه‌برداری می‌کند.
با تغییر Transform، صفحه‌ای که Noise TOP روی آن نمونه‌برداری می‌کند را جابه‌جا، چرخان یا مقیاس می‌دهید.

مثال: یک چرخش کوچک در محور Y مثل این است که در کوهستان در یک مسیر مستقیم راه بروید و ارتفاع را ثبت کنید، بعد از همان نقطهٔ شروع، با زاویه‌ای کمی متفاوت راه بیفتید؛ ابتدا ارتفاع‌ها شبیه‌اند، ولی کم‌کم متفاوت می‌شوند.

Transform Order (xord) ⊞

ترتیب اعمال Transformها را مشخص می‌کند. تغییر ترتیب می‌تواند نتیجهٔ نهایی را کاملاً عوض کند؛ درست مثل اینکه اول یک بلوک بروی و بعد به شرق بپیچی، یا برعکس.

Rotate Order (rord) ⊞

ترتیب اعمال چرخش‌ها را تعیین می‌کند. تغییر ترتیب چرخش‌ها، موقعیت نهایی را تغییر می‌دهد.

Translate (t) ⊞

جابجایی صفحهٔ نمونه‌برداری در فضای نویز.

Rotate (r) ⊞

چرخاندن صفحهٔ نمونه‌برداری در فضای نویز.

Scale (s) ⊞

مقیاس‌دهی صفحهٔ نمونه‌برداری.

Pivot (p) ⊞

کنترل نقطهٔ Pivot برای Transform صفحهٔ نمونه‌برداری.

Translate 4D (t4d)

در نویز چهاربعدی، این پارامتر جابجایی در مختصات چهارم را اعمال می‌کند. Transformهای قبلی روی بعد چهارم اثری ندارند.

Scale 4D (s4d)

در نویز چهاربعدی، مقیاس‌دهی مختصات چهارم را انجام می‌دهد.


Parameters – Output Page

RGB (rgb) ⊞

وقتی ورودی به Noise TOP متصل باشد، الگوی نویز با استفاده از مختصات UV و تنظیمات این منو روی تصویر ورودی قرار می‌گیرد.

Input Scale (inputscale)

میزان تأثیر تصویر ورودی روی خروجی.

Noise Scale (noisescale)

میزان تأثیر نویز روی خروجی.

Alpha (alpha) ⊞

تنظیم کانال آلفای تصویر خروجی.

Dither (dither)

برای کاهش banding و آرتیفکت‌های ناشی از محدودیت دقت نمایشگرهای ۸بیتی استفاده می‌شود.

Gradient (gradient)

با فعال‌سازی، گرادیان (یا شیب) تابع نویز خروجی داده می‌شود.
فعلاً فقط برای حالت Performance در نویزهای Simplex و Perlin پشتیبانی می‌شود.

  • در نویز دوبعدی: کانال‌های RG مشتقات XY را می‌گیرند

  • در نویز سه‌بعدی: کانال‌های RGB مشتقات XYZ

  • در نویز چهاربعدی: کانال‌های RGBA مشتقات XYZW

توجه: این گرادیان مشتق تابع نویز است، نه مشتق تصویر نویز.

Mode (mode) ⊞

انتخاب بین Performance و Quality.
Performance همان نویز قدیمی TouchDesigner است.
Quality بعضی آرتیفکت‌ها و مشکلات هم‌راستایی محوری را کاهش می‌دهد، اما کندتر است.
فعلاً فقط برای Simplex Noise فعال است.


Parameters – Common Page

Output Resolution (outputresolution) ⊞

تغییر سریع رزولوشن خروجی TOP.

Resolution (resolution) ⊞

فقط وقتی فعال است که Output Resolution روی Custom Resolution باشد.
بعضی Generatorها مثل Constant و Ramp ورودی ندارند و فقط از این مقدار برای تعیین اندازه استفاده می‌کنند.

Resolution Menu (resmenu)

لیستی از رزولوشن‌های پرکاربرد.

Use Global Res Multiplier (resmult)

از Global Resolution Multiplier موجود در
Edit > Preferences > TOPs
استفاده می‌کند. این مقدار رزولوشن همهٔ TOPها را ضرب می‌کند و برای اجرا روی سیستم‌های ضعیف‌تر بسیار کاربردی است.

Output Aspect (outputaspect) ⊞

نسبت تصویر خروجی را تنظیم می‌کند. هنگام ترکیب TOPهایی با نسبت تصویر متفاوت، مراقب نتایج غیرمنتظره باشید.

Aspect (aspect) ⊞

زمانی استفاده می‌شود که Output Aspect روی Custom Aspect باشد.

Aspect Menu (armenu)

نسبت‌های تصویر رایج.

Input Smoothness (inputfiltertype) ⊞

فیلتر پیکسلی تصویر ورودی TOP.

Fill Viewer (fillmode) ⊞

نحوهٔ نمایش تصویر در Viewer.
نکته: برای درک بهتر عملکرد TOPها، بهتر است در ابتدای کار روی Native Resolution تنظیم شود.

Viewer Smoothness (filtertype) ⊞

کنترل فیلتر پیکسلی Viewer.

Passes (npasses)

عملیات TOP را به تعداد مشخص تکرار می‌کند. هر پاس نتیجهٔ قبلی را به‌عنوان ورودی پاس بعدی استفاده می‌کند.
استثنا: GLSL TOP در حالت Compute Shader.

Channel Mask (chanmask)

انتخاب کانال‌هایی که TOP روی آن‌ها عمل می‌کند (R، G، B، A).

Pixel Format (format) ⊞

فرمت ذخیره‌سازی دادهٔ هر کانال تصویر.


Operator Inputs

Input 0: Composite Input
کنترل عملیات ترکیب از طریق پارامترهای Output Page.

Input 1: Noise Coordinate Map
تکسچری که lookup دو، سه یا چهاربعدی به میدان نویز را مشخص می‌کند.


Info CHOP Channels

اطلاعات اضافی Noise TOP از طریق Info CHOP در دسترس است.

Common TOP Info Channels

  • resx: رزولوشن افقی (پیکسل)

  • resy: رزولوشن عمودی

  • aspectx: نسبت افقی

  • aspecty: نسبت عمودی

  • depth: عمق آرایهٔ 2D یا 3D

  • gpu_memory_used: میزان حافظهٔ GPU مصرف‌شده

Common Operator Info Channels

  • total_cooks: تعداد دفعات Cook شدن

  • cook_time: مدت زمان آخرین Cook (میلی‌ثانیه)

  • cook_frame: شمارهٔ فریم Cook نسبت به تایم‌لاین

  • cook_abs_frame: شمارهٔ فریم نسبت به زمان مطلق

  • cook_start_time: زمان شروع Cook

  • cook_end_time: زمان پایان Cook

  • cooked_this_frame: آیا در این فریم Cook شده

  • warnings: تعداد هشدارها

  • errors: تعداد خطاها