国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 辦公 > Maya > 正文

Maya基礎(chǔ)教程:Maya 硬件渲染粒子與軟件渲染元素結(jié)合(5)

2024-09-04 21:21:04
字體:
供稿:網(wǎng)友
maya 硬件渲染粒子與軟件渲染元素結(jié)合
v. 創(chuàng)建塵土粒子外觀

  sprites- 調(diào)整 sprite scale 和 twist

  效果開始合成一起,但是還有改進(jìn)的余地。當(dāng)創(chuàng)建一個(gè) sprite 基礎(chǔ)上的效果的時(shí)候, sprites 頂部每個(gè)分層都賦予它最終效果。利用不同的縮放值和扭曲值并在此基礎(chǔ)上動(dòng)畫,可添加角色到模擬。

  為粒子物體添加以下的動(dòng)力學(xué)屬性,方法和你添加 spritnumpp 屬性一樣:

spritescalexpp

spritescaleypp

spritetwistpp

  在 add attibute 窗口 new 欄目里,保留 float,per particle 屬性添加以下屬性:

randxpp

randypp

randtwistpp

spritetwistmultpp

spritescalemultpp

  給 spritetwistmultpp 和 spritescalemultpp 貼上凹凸貼圖,重新命名這些貼圖,名字要能正確反映他們要連接的屬性,可以命名為 spritetwistramp , spritescaleramp 等等。反過來,于 spritetwistmultpp 有聯(lián)系的 rump 貼圖,底端設(shè)為 black ,頂端設(shè)為 white 。

  打開粒子物體需要的 creation expression 并鍵入:

//generate random numbers for x and x

//

float $randx=rand(0.3,1.3)

float $randy=rand(0.8,1.2)

//store a random number for x and y

//

//

randxpp=$randx

randypp=$randy

//set spritescalexpp and spriteypp

//

spritescalexpp=0

spritescaleypp=0

//set randtwistpp

//

randtwistpp=rand(-180,180)

  每個(gè)粒子 x,y,twist 的數(shù)值都是任意指派的,這些值會(huì)賦予每個(gè)粒子獨(dú)特的特征,并會(huì)被用在 runtime expression 里。既然我們用 rand 功能生成值并且邊緣功能返回結(jié)果總是不一樣,那么,我們就在單粒子屬性里保存這些值,以便以后使用。

  用 rump 給 spritetwistmultpp 和 spritescalemultpp 貼圖,也可將它們作為增效器,并給我們一個(gè)插值,但是,能否給我們一個(gè) interpolation ,那就要看粒子的年齡如何。可以用常規(guī)表達(dá)式控制扭曲和放縮值,但是在控制基于時(shí)間的屬性改變上,增加一個(gè)由 rump 控制的乘數(shù),會(huì)給我們更大的控制靈活性。

  為什么用 0 值初始化 spritescaleypp 和 spritescaleypp ?因?yàn)?cg/upload/200904/ 的一個(gè) bug , rump 在 creation 上沒有正確估算,產(chǎn)生了不可預(yù)料的結(jié)果。

  打開粒子物體需要的 runtime expression 并鍵入:

//set spritescalexpp and spritescaleypp

//

spritescalexpp =spritescalex* spritescalemultpp*randxpp;

spritescaleypp=spritexcaley*spritescalemultpp*randypp*randxpp

  為 sprite 渲染類型創(chuàng)建默認(rèn)屬性時(shí), cg/upload/200904/ 添加了一個(gè) spritescalex, spritescaley 和 spritetwist 屬性。如果沒有這些屬性的單粒子版本,比如 spritescalexpp , cg/upload/200904/ 就會(huì)用 scalar 屬性代替,例如 spritescale 。既然有了這些屬性的單粒子版本,縮放版本就被忽略了。我不忽略它們,在全局增效器中,我習(xí)慣用他們作為表達(dá)式的一部分。用一個(gè)你眾所周知的屬性名字,這個(gè)名字不僅用在保存創(chuàng)建一個(gè)新屬性階段(作為增效器),也展示給使用者一個(gè)屬性——具有相似的方式相似的功能。在通道盒里改變 spritescalex 或 spritescaley ,這會(huì)改變粒子總值。

在下面一行中:

spritescalexpp= spritescaley* spritescalemultpp*randypp*randxpp;

spritescaleypp 和 spritescalexpp 的值大體相當(dāng),回到 creation expression, randypp ,隨意初始化一個(gè)值—— 0.8 至 1.2 之間,這會(huì)導(dǎo)致 sprite 在 x 軸成矩形的—— +/-20% 。

  添加下面幾行到 runtime expression :

//spritetwistpp

//

spritetwistpp+= spritetwistmultpp*sign(spritetwistpp)* spritetwist;

  如果值是正的,用 sign 功能返回 1 ;如果值是負(fù)的,用 sign 功能返回 -1 。 spritetwist 屬性是用用默認(rèn) sprite 屬性創(chuàng)建的,在這種情況下,我們添加它的值到當(dāng)前 sprite 的 twist 上,引起 sprite 每幀旋轉(zhuǎn)。利用 spritetwistmultpp ,你可以改變每個(gè) sprite twist 的速率, sprite 越大,自轉(zhuǎn)越慢。

  此時(shí),你可以開始回放場景,交互式地調(diào)整被當(dāng)作 sprite

[1] [2] 下一頁  

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 广安市| 仪陇县| 凉城县| 封丘县| 苏尼特右旗| 鄱阳县| 四子王旗| 安徽省| 盐边县| 铁岭市| 商都县| 涞水县| 新绛县| 镇原县| 甘肃省| 喀喇| 昭苏县| 麦盖提县| 和硕县| 兴宁市| 长白| 沭阳县| 舞阳县| 沁阳市| 筠连县| 库车县| 梁河县| 宁波市| 三门县| 永顺县| 安仁县| 璧山县| 桑日县| 长阳| 治县。| 锦州市| 运城市| 莆田市| 绥滨县| 溆浦县| 咸丰县|