در گرافیک کامپیوتری Subsurface scattering(SSS) که نام subsurface light transport (SSLT) نیز شناخته می شود، اشاره به متریال هایی دارد که در آن نور به درون سطح متریال نفوذ میکند و از سطح آن عبور میکند. زمانی که نور از سطح یک متریال عبور کرده و به درون آن نفوذ کند، بخشی از پرتوهای نور در زیر آن سطح پخش می شود و بخش دیگر جذب می شود. بخش کمی از نور هم از سطح خارج شده و به سمت دیگری بازتاب میکند. متریال Subsurface scattering در سالهای اخیر بشدت مورد توجه قرار گرفته است و تلاش موتورهای رندرینگ و الگوریم های آن برای طبیعی تر رندر کردن این افکت بسیار زیاد شده است. به گونه ای که کمتر موتور رندرینگی را میتوان یافت که از گزینه SSS پشتیبانی نکند. از آنجایی که این نوع متریال بسیار بسیار کاربردی است، از شما دعوت میکنم که به ادامه مطلب با دقت توجه فرمایید.

Subsurface scattering(SSS)
Subsurface scattering(SSS)

Subsurface scattering چیست؟

  مهمترین کاربرد SSS در گرافیک کامپیوتری، ساخت متریال پوست است. پوست انسان و حیوانات تقریبا در تمامی فیلم ها و انیمیشن ها و تبلیغات و … به کار می رود و از آنجایی که امروزه جلوه های ویژه بسیار زیادی در فیلم های استفاده می شود، بهتر است که حتما با مفاهیم رندرینگ Subsurface scattering آشنا باشیم. این موضوع بقدری در موتورهای رندرینگ جدی و حیاتی است، که حتی شیدر خاصی برای آن در تمامی موتورها در نظر گرفته شده است که کاربران فقط نیاز به تغییر پارامترهای آن برای انطباق با مدل خود داشته باشند. از آنجایی که افکت SSS به محاسبات بسیار زیادی در زمان رندرینگ نیاز دارد، افکت کند و زمان گیری به حساب می آید و در نتیجه، الگورتیم های بسیار زیادی برای افزایش سرعت و شبیه سازی دقیق آن توسط موتورهای رندرینگ مختلف عرضه شده است.
bsurface light transport
SSS Skin
اینکه چقدر پرتوهای نور درون سطح نفوذ کرده و به زیر سطح یک Material نفوذ میکنند و اینکه چه میزان از پرتوها جذب شده و چه میزان در زیر سطح منتشر می شود (scatter)، نشان میدهد که نوع ماده SSS ما چگونه رندر خواهد شد. وقتی پرتوهای نور در حرکت خود به سطح برخورد میکنند، عموما از آن سطح منعکس می شوند. مگر در مواردی که سطح متریال به گونه ای باشد که بخشی از پرتوها را به درون خود جذب کنند و پرتوها از سطح متریال عبور کنند. پس وقتی یک متریال از نوع translucency می باشد، به میزان شفافیت آن، پرتوهای نور را به درون خود جذب میکند.  

SSS

اگر پرتوهای نور از آن متریال عبور کنند، با یک متریال کاملا شفاف مانند شیشه روبرو هستیم، اما اگر پرتوهای نور نتوانند از آن متریال عبور کنند، در نتیجه یا در زیر سطح آن (subsurface) منتشر می شوند (scatter) یا از سطح بیرون رفته و منعکس می شوند (reflect) .
SSS absorbed light
SSS
خوب بجز پوست انسان و دیگر موجودات زنده، موم، وکس و برگ درختان و گیاهان، برخی از سنگ ها مانند مرمر، برخی میوه ها مانند انگور ، برخی مایعات مانند شیر و … همگی از نوع SSS هستند. هر ماده ای که نور در زیر سطح آن منتشر شود باید از نوع subsurface scattering در نظر گرفته شود.
subsurface scattering SSS
subsurface scattering
همانطور که ذکر شد، بسیاری از موتورهای رندرینگ به دنبال روشهایی برای کاهش زمان محاسبات و رندرینگ افکت SSS هستند. بنابراین بسیاری از آنها، الگوریتم های جایگزینی را برای کاربردهای سریعتر معرفی کرده اند که میتوان به Fast SSS و SSS2 و … اشاره کرده که همگی راهکاریی برای جایگزین کردن و شبیه سازی subsurface scattering می باشند تا زمان رندرینگ را کاهش داده و نتیجه ای تا حد ممکن نزدیک به واقعیت را رندر کنند. برخی از موتورهای رندرینگ مانند Arnold Render و RedShift 3D و … میتوانند این افکت را به صورت GPU-Based رندر کنند. این افکت تقریبا در تمامی موتورهای رندرینگ و نرم افزارهای مدلسازی و انیمیشن مانند Blender , Maya , 3ds Max , Cinema4D , Houdini و … قابل استفاده می باشد.