數碼資源網

文章頻道 軟件下載 安卓下載 蘋果下載

當前位置:首頁文章中心材質專欄Maya → MAYA材質係統的Utilities工具簡介(二)

MAYA材質係統的Utilities工具簡介(二)

時間:2005-07-12 18:53:35人氣:213作者:網友整理
瑪雅maya最新網站地址1.1.71.4.7
  • 類型:安卓圖像處理大小:33.85M語言:簡體中文 評分:4.0
  • 瑪雅maya最新網站地址APP是一款既熱門又實用的動畫製作編輯軟件。在使用軟件過...
立即下載
Maya影視安卓版(影音資源播放平台) v1.3 手機版
Maya影視安卓版(影音資源播放平台) v1.3 手機版 for Android
  • 類型:安卓影音播放大小:23.92M語言:簡體中文 評分:3.0
  • 您有沒有非常想看的電影找不到資源,要麼就是收費的尷尬情況出現呢?Maya影視安卓...
立即下載
Autodesk mayav1.3
Autodesk mayav1.3 for Android
  • 類型:安卓其他大小:81.30M語言:簡體中文 評分:4.9
  • AutodeskMaya是一款世界知名的三維動畫特技模型建模軟件,廣泛應用於電影...
立即下載
常規工具節點(續)

Set Range

Set Range節點將一段範圍內的值,重新映射到另一段範圍內,然後輸出。
注意它和Clamp節點的區別,Clamp節點是專門針對顏色值的。
舉一個MAYA幫助中的小例子可以理解Set Range節點的作用。

建立一個nurbsSphere,然後指定一個Blinn材質。
生成一個Set Range節點。
我們下麵要做的是用nurbsSphere的X、Y、Z軸向的旋轉來控製Blinn的ColorR、ColorG、ColorB。
換句話說,是將0——360這一範圍的值,重新映射到0——1這一範圍內。

打開Connection Editor,
將nurbsSphere的RotateX、RotateY、RotateZ、分別連接到Set Range節點的ValueX、ValueY、ValueZ上。
把Set Range.OutValue輸出到Blinn.Color上。然後設置Set Range節點的各項值如圖:

現在說明一下Set Range節點的各項參數:
Min和Max的值是我們所希望得到的,在這個例子裏是Min=0,Max=1;
而Old Min和Old Max代表原來範圍的值,在這裏是Old Min=0,Old Max=360。
Value可以理解為輸入值的接口。

Set Range節點的工作原理可以由如下公式來解釋:
OutValue = Min + (((Value-OldMin)/(OldMax-OldMin)) * (Max-Min))

現在,我們旋轉nurbsSphere,它的顏色就會根據旋轉的方向和角度變化。



vectorProduct

vectorProduct節點允許一個矢量乘以另一個矢量或矩陣,它實際上就是一個運算器。在程序語言中經常用到這種運算。vectorProduct節點的主要部分的解釋如下:
Operation
No operation:將Input1的值不做處理,然後輸出;
Dot Product:這是缺省值。Input1和Input2做點乘運算。點乘運算的原理如以下公式:
假設有兩個矢量(a,b,c)和(d,e,f)

Dot Product = (a*d) + (b*e) + (c*f)

注意Dot Product的值是一個單一的值,這就意味著vectorProduct節點在輸出的時候,選擇OutputX、OutputY、OutputZ三個值中的任何一個都可以。
Cross Product:叉乘產生一個新的矢量,原理如下:
x = (b*f)-(c*e)
y = (c*d)-(a*f)
z = (a*e)-(b*d)
注意不要將它和Multiply Divide節點弄混了,Multiply Divide節點的原理是:
x = a*d, y=b*e, z=c*f
Vector Matrix Product:將Input1乘以矩陣生成一個新的矢量,公式如下:
Outvector = Input x Matrix
假設有一個Input矢量為(a,b,c)
和一個Input矩陣:
A B C D
E F G H
I J K L
M N O P
則:
x = (a*A) + (b*B) + (c*C)
y = (a*E) + (b*F) + (c*G)
z = (a*I) + (b*J) + (c*K)

Point Matrix Product的原理是:
Output = Input x Matrix
x = (a*A) + (b*B) + (c*C) + D
y = (a*E) + (b*F) + (c*G) + H
z = (a*I) + (b*J) + (c*K) + L
注意以上兩種算法都會忽略Input2。

Normalize Output:
缺省情況下是關閉的。當打開時,它生成的矢量值在-1到1的範圍之間。
在使用Point Matrix Product操作時,Normalize Output無效。

Matrix:
Matrix不出現在屬性麵板中,隻出現在Connection Editor中。
使用Matrix可以將場景中的對象從相機坐標空間轉換到世界坐標空間。

下麵用一些小例子來感受一下vectorProduct節點的作用:
Dot Product操作:
建立一個球體並指定Blinn材質。
創建一個directionalLight並將其Light Direction連接到vectorProduct節點的Input1;
建立一個SampleInfo節點並將其Normal Camera連接到vectorProduct節點的Input2;
vectorProduct節點的操作方式為Dot Product
將vectorProduct節點的Output值任意一個連接到Blinn.ColorR上。
結果如圖:
現在球體紅色的部分對應Blinn.ColorR的值就為Dot Product操作後產生的值,我這裏的ColorR=0.660。如果將vectorProduct節點的OutputX、OutputY、OutputZ分別連接到Blinn.ColorR、Blinn.ColorG、Blinn.ColorZ上。那麼由於OutputX、OutputY、OutputZ的值是相等的,都是0.660。所以Blinn.ColorR、Blinn.ColorG、Blinn.ColorZ都等於0.660。


Cross Product操作:
建立一個球體並指定Blinn材質;
建立一個SampleInfo節點;
建立一個Set Range節點。
將SampleInfo節點的Ray Direction連接到vectorProduct節點的Input1;
提取出物體表麵光線方向的信息。
將SampleInfo節點的Normal Camera連接到vectorProduct節點的Input2;
提取出物體表麵法線信息。
將vectorProduct節點的Output連接到Set Range節點的Value;
將Set Range節點的outValue連接到Blinn.Color。
設置操作方式為Cross Product
打開vectorProduct節點的Normalize Output,
這樣vectorProduct節點的Output值的範圍在-1到1之間。
因為顏色沒有負值,所有用Set Range節點來將vectorProduct節點的Output值限製在0——1之間。
Set Range節點的值按如下設置:
我們所要得到的是:
Min=0;Max=1
vectorProduct節點的Output值範圍是:
OldMin=-1,OldMax=1
渲染場景。
另:如果不是很清楚的話不要緊,先感覺一下這些操作所起的作用,慢慢做得多了,就理解了。有時間的話,我再做一些實用的例子,就象前麵的卡通材質一樣。

相關文章

感謝速聯科技、八度網絡、九九數據、億恩科技、群英網絡讚助部分帶寬!

關於本站 | 聯係方式 | 版權聲明 | 下載幫助(?) | 網站地圖

Copyright 2002-2020 95262.com 【數碼資源網】 版權所有 粵ICP備2020128507號-1

本站所有軟件來自互聯網,版權歸原著所有。如有侵權,敬請來信告知 ,我們將及時撤銷。