包含109節(jié)視頻教程
關(guān)注131.5萬次
用于商業(yè)的高端人物制作系列教程,可以做為宣傳海報級別的人物制作高級教程,使用了全新的制作軟件,包含silo、maya、mari、nuke等,是非常專業(yè)和不可多得的高端角色教程。
朱峰社區(qū)在本節(jié)為大家展現(xiàn)的是maya中改變sprites型粒子的方向教程,希望大家能從本教程中得到受益。
01sprites型粒子可以在每一個粒子上貼圖或者貼序列圖片,
有大量的例子從一個點發(fā)射器發(fā)出,注意上圖中,箭頭的方向沒有指向它們各自的速度方向,下面就講講怎樣改變它們
它將要把在攝像機空間里的up vector轉(zhuǎn)化為世界坐標系里面的
看清上面的連接編輯器的連接方向。t框標注)
選擇outliner里面的persp(透視圖攝像機),不要選hypershade里面的perspshape,要不你找不到 xform matrix 這一項
outliner persp
vector $up=<<0,1,0>>;
vector $cameraup=<<camera_to_world.outputx,camera_to_world.outputy,camera_to_world.outputz>>;
vector $ref = cross($up,$cameraup);
float $ang=acos(dot($up,unit(particleshape1.worldvelocity)))/3.14*180;
if(dot($ref,particleshape1.worldvelocity)>0)
particleshape1.spritetwistpp=$ang;
else
particleshape1.spritetwistpp=-$ang;
就可以了
最開始的vector product 節(jié)點,把在攝像機空間里的up vector轉(zhuǎn)化為世界坐標系里面的maya help里面解釋的攝像機得xform matrix和 matrix包含同樣的信息( contains the same information as the matrix attribute on dagnode but it is stored in a format that can be interpolated easily.——maya help )vector product 節(jié)點得input 1是<<0,1,0>>,就是y軸得方向,這個矢量應(yīng)該是攝像機坐標系得通過vector product 節(jié)點得vector matrix product運算把 input 1變?yōu)槭澜缱鴺讼?/p>
下面試著分析一下這個表達式(如有不對得,請指出,呵呵)
vector $up=<<0,1,0>>;
定義一個矢量
vector $cameraup=<<camera_to_world.outputx,camera_to_world.outputy,camera_to_world.outputz>>;
再定義一個矢量,分別取剛才vector product 節(jié)點算出的output
vector $ref = cross($up,$cameraup);
定義矢量,矢量 $ref 等于$up,$cameraup這兩個矢量得差乘
上面定義了三個矢量,下面
float $ang=acos(dot($up,unit(particleshape1.worldvelocity)))/3.14*180;
$ang得到是一個角度,他是$up 和粒子速度(worldvelocity)的一個夾角
dot——點乘,由于$up是一個單位矢量(0,1,0),速度矢量也單位化了(unit),所以點乘得到兩個矢量得余弦值——cos x
通過acos,求反余弦,得到角度,也就是夾角
這時候求得的夾角是用弧度制的
所以要轉(zhuǎn)化為角度制——后面的:
/3.14*180
畫個圖,可能好理解一些!
深藍色的是攝像機坐標系
這里我們的兩個坐標系的關(guān)系,據(jù)了個最簡單的:
世界坐標系得xy平面和攝像機坐標系zy平面是共面的,所以世界坐標系z和攝像機坐標系x軸自然平行
棕色的矢量是攝像機坐標系得一個矢量
也就是我們在 vector product 里面的input 1
通過 vector product 的運算,就把input 1轉(zhuǎn)化為了紫色的矢量
這是在世界坐標系得,也就是 vector product 得output
這個output得值賦給了$cameraup
也就是$cameraup等于output了,
矢量$ref是$up點乘$cameraup的結(jié)果(就試圖中得淺綠色的矢量,哦我這個可能畫翻了,應(yīng)該是z軸向相反的,不好意思,影響不大)
深藍色得是速度矢量,它和$ref求夾角德余弦cos
因為從y軸順時針,逆時針旋轉(zhuǎn)相同角度得到的余弦值真好是相反數(shù)
來判斷spritetwistpp應(yīng)該旋轉(zhuǎn)的角度,
這個角度就是變量$ang,只不過是由個角度問題,這個偏向角要和速度方向吻合,也達到最開始我的說的目的了——————箭頭的方向指向它們各自的速度方向。
朱峰社區(qū)網(wǎng)頁版(手機掃描-分享-添加到屏幕)
朱峰社區(qū)微信公眾號(微信掃一掃-關(guān)注)
未知用戶
2005-2025 朱峰社區(qū) 版權(quán)所有 遼ICP備2021001865號-1
2005-2025 ZhuFeng Community All Rights Reserved
VIP