Как да извлечете максимума от Mental Ray с 3ds Max, част 3
Третата част на рецензията е посветена на разглеждането на дизайна на описанието, правилата за създаване и операторите на свойствата на светлинните източници в менталния лъч. Ще разгледаме и пример за изграждане на персонализиран модел източник, който може да се използва като алтернатива на Sky light, вграден в 3ds max.
От гледна точка на менталния лъч създаването на светлинен източник в сцена се състои от два етапа. Първият е да се дефинират свойствата на източника, вторият е да се създаде копие от него в сцената. Само след завършване на двата етапа светлината от източника ще участва в изчисленията на осветлението в сцената.
Първият етап, дефиницията на източника на светлина, се извършва с помощта на структура (елемент):
вторият етап - използване на конструкцията:
След дефиниране на името на източника в екземпляра ... конструкция на крайния екземпляр, това име може да се препраща от различни шейдъри - дефинираното в екземпляра име на източника може да бъде предадено като параметър на шейдъра. Нека разгледаме всеки от етапите и съответните дизайни в детайли. Определение на източника на светлина
В менталния лъч е приет обобщен модел на източник на светлина, представен от доста голям набор от оператори. Изборът на оператори и стойностите на техните параметри определя всички специфики на даден източник на светлина. Изявленията за свойства се обработват от ментален лъч в допълнителна стъпка, непосредствено преди изобразяването, за да се определи как светлината се разпространява през сцената. Това позволява да се оптимизират много изчисления на осветлението. Например за точков източник на светлина предварителната обработка определя площта на сцената, която е вътре в определеното подравняване на точковото конусче, и по този начин задава площта за изчисления на осветлението. За всички останали области на сцената шейдърът на източника на Spot дори няма да бъде извикан.
Пълният списък на операторите в конструкцията за дефиниция на източника е както следва:
Не всички оператори трябва да присъстват в дефиницията на източника. Изискват се само операторът за леки шейдъри и операторът, посочващ или началото x y z позиция (за omni), или посоката dx dy dz (за директно). Следователно конструкцията на дефиницията трябва поне да изглежда така:
Умственият лъч ви позволява да работите с три основни типа точкови източници: омни светлина - изотропен светлинен източник, който излъчва еднакво във всички посоки, насочена светлина (или безкрайна светлина) - източник, който излъчва паралелни светлинни лъчи от безкрайност в една дадена посока и точкова светлина - източник, който излъчва светлина в дадена посока към конус с определена ъглова стойност.
Източниците могат да бъдат не само точкови, но и разширени: площ, т.е. с повърхност, излъчваща светлина, и линейна, излъчваща по дължината. Разширените източници се получават от точкови източници, използвайки оператор, който има родово име "area_light_primitive". Този оператор може да приеме следните стойности, които се използват в дефиницията на източника вместо "area_light_primitive":
- правоъгълник [x_0 y_0 z_0 x_1 y_1 z_1] дефинира правоъгълник като формата на разширен източник, дължините на страните на който са определени от два вектора [x_0 y_0 z_0 x_1 y_1 z_1]
- диск [x y z радиус] определя формата на разширения източник като диск, чиято нормал се определя от вектора (x y z) и радиуса
- сфера [радиус] определя триизмерна сфера от даден радиус като форма на разширен източник
- цилиндър [радиус на оста] определя цилиндър с определени оси и радиус като форма на удължен източник
- обект object_inst определя произволен геометричен обект като форма на разширен източник. Такъв обект трябва да бъде дефиниран и създаден в сцената с помощта на конструкцията на екземпляра и името му, присвоено в екземпляр, се предава като параметър на оператора на формуляра източник.
Всички оператори на фигури ви позволяват да зададете подробности за вземане на проби от повърхността на разширен източник, като използвате незадължителния параметър за вземане на проби:
[u_samples v_samples [ниво [low_u_samples low_v_samples]]], където
u_samples и v_samples разделят повърхността на региони, които образуват вид мрежа. Всяка област се взема в проба само в една точка (площта се счита за точков източник), чиято позиция се определя от параметрите за вземане на проби и като се вземе предвид функцията на разпределение на интензивността на лъчението върху повърхността, ако е посочена. Общото осветление се изчислява като сбор от вноски от области на разширен източник. Ако u_samples и v_samples не са изрично зададени, тогава по подразбиране те се приемат за три в mental ray и пет в 3ds max. Така по подразбиране разширените източници се вземат в девет повърхностни точки. За диск и сфера u_samples разделя радиуса, а v_samples - ъгъла. За цилиндър u_samples разделя височината, v_samples разделя ъгъла.