包含14節(jié)視頻教程
從零基礎(chǔ)開始講解maya強(qiáng)大的材質(zhì)編輯。包括uv、貼圖技術(shù)、各種材質(zhì)疊加,還有手繪材質(zhì)貼圖等技術(shù)!
|
一提到表達(dá)式和 mel 語(yǔ)言,不少網(wǎng)友總是嘆氣。似乎這一類的東西是我們,尤其是非編程者遙不可及的。其實(shí)我也沒有學(xué)過(guò) c++ 、 delphy 語(yǔ)言,和不少學(xué)習(xí)文科的朋友一樣美術(shù)才是我的專業(yè)。現(xiàn)在也是如此。我想只要具有高中程度的數(shù)學(xué)、英語(yǔ)和物理知識(shí),學(xué)習(xí)表達(dá)式動(dòng)畫就足以了。三維的世界像海洋一樣,堅(jiān)持下來(lái),我們每個(gè)人都是采珍珠的勇士。 一functions-- 函數(shù) 首先我們來(lái)分析一下一段含有 maya 內(nèi)嵌函數(shù)的表達(dá)式語(yǔ)句 object.translatey=sin(time)+6; object 當(dāng)前場(chǎng)景中要設(shè)表達(dá)式的物體 . 分隔符 translatey 屬性 = 指定運(yùn)算符 sin 函數(shù) () 邏輯運(yùn)算符 time 變量 + 數(shù)學(xué)運(yùn)算符 6 常量 ; 終結(jié)符 目前要討論的范圍是以 sin 為代表的函數(shù),它們的作用是將物體按一定的特殊規(guī)律運(yùn)動(dòng)。上例中 object 從世界坐標(biāo)軸的中心沿 y 軸以 sin 三角函數(shù)圖像運(yùn)動(dòng)規(guī)律進(jìn)行往返運(yùn)動(dòng)。 二數(shù)學(xué)函數(shù)的用法 了解這一部分的內(nèi)容最好能夠參考高中教本關(guān)于三角函數(shù)的章節(jié)。 abs 是 absoulte 的縮寫意思是取決對(duì)值。 例如: int abs(int number) float abs(float number) vector abs(vector number) 函數(shù)名是 abs, 它將返回 number 的絕對(duì)值。絕對(duì)值是沒有正負(fù)數(shù)之分的數(shù)值。 本例說(shuō)明 abs 函數(shù)有 3 種格式。每種格式要求一個(gè)不同數(shù)據(jù)類型的參數(shù)并返回一個(gè)不同數(shù)據(jù)類型的值。 第一個(gè)格式說(shuō)明用戶可以鍵入整數(shù)類型參數(shù),并且函數(shù)返回一個(gè)整數(shù)。比如, abs(-3) 返回?cái)?shù)值 3 。 第二個(gè)格式說(shuō)明用戶可以鍵入一個(gè)浮點(diǎn)類型參數(shù),并且函數(shù)返回一個(gè)浮點(diǎn)數(shù),比如, abs(-7.54) 返回 7.54 。 第三個(gè)格式說(shuō)明可以鍵入一個(gè)向量,而且函數(shù)返回一個(gè)向量。比如, abs(<<3, -6.3, -2>> 返回 <<3, 6.3, 2>> 。 acos 返回的是一個(gè)數(shù)值的反余弦弧度值,其范圍是 0~ pi 。 float acos(float number) number 是角的余弦值,其范圍是 -1~1 。 例如: acos(1) 返回值是 0 。 acos(-0.5) 返回的是 2.0944 弧度。 acosd 返回的是一個(gè)數(shù)值的反余弦角度值,其范圍是 0~180 。 float acosd(float number) number 是角的余弦值,范圍是 -1~1 。 例如: acosd(1) 返回值是 0 度。 acosd(-0.5) 返回值是 120 度。 asin 返回值是一個(gè)數(shù)值的反正弦弧度值,其范圍是 -pi/2 到 pi/2 。 f loat asin(float number) number 是角的正弦值,其范圍是 -1~1 。 例如: asin(0.5) 返回值是 0.525 弧度。 asind 返回的是一個(gè)數(shù)值的反正弦度數(shù)值,其范圍是 -90 到 90 。 float asind(float number) number 是角的正弦值,范圍是 -1~1 。 例如: asind(0.5) 返回的是 30 度。 atan 返回的是一個(gè)數(shù)值的反正切弧度值,其范圍是 -pi/2 到 pi/2 。 float atan(float number) number 是角的正切值,可為任何值。 例如: atan(1) 返回值是 0.785 。 atand 返回的是一個(gè)數(shù)值的反正切角度值,其范圍是 -90~90 度。 float atand(float number) number 是角的正切值,可為任何值。 例如: atand(1) 返回的是 45 度。 atan2 返回的是一個(gè)在 x,y 坐標(biāo)軸中指定的反正切弧度值。這個(gè)角是以 x 軸為一邊,另一邊是由原點(diǎn)和坐標(biāo)系 中一點(diǎn)形成的直線構(gòu)成。返回的角以弧度為單位,范圍是 -pi 到 pi 。 float atan2(float y, float x) x 是點(diǎn)的 x 坐標(biāo)。 y 是點(diǎn)的 y 坐標(biāo)。 例如: atan2(1,1) 返回的是 0.785 弧度。 今天就寫到這,已經(jīng)很晚了,歡迎與我共同討論 to be continue 今天加上 math functions 的最后一部分,來(lái)結(jié)素這個(gè)話題。其他的函數(shù)由于他們比較好理解,就不做說(shuō)明了。畢竟一個(gè)人的能力是有限的。有點(diǎn)對(duì)不住大家了。 atan2d 返回的是一個(gè)在 x,y 坐標(biāo)系中指定的反正切角度值。返回的角以度為單位,范圍是 -180 到 180 度。 float atan2d(float y, float x) x 是點(diǎn)的 x 坐標(biāo)。 y 是點(diǎn)的 y 坐標(biāo)。 例如: atan2d(1,1) 返回 45 度。 hypot 返回的是從原點(diǎn)到在 x, y 坐標(biāo)系點(diǎn)的二維向量值 . angle 返回向量間的弧度角 . float angle(vector vector1, vector vector2) vector1 是一個(gè)向量。 vector2 是另一個(gè)向量。 返回角是兩個(gè)向量所夾角中的最小角,它通常小于 180 度。 例如: angle(<<2,-1,1>>,<<1,1,2>> 返回 1.0472 弧度,它等于 60 度。 cross 返回由兩個(gè)向量定義的叉乘值。 對(duì)于兩個(gè)向量,叉乘值是由兩個(gè)向量定義而成的面的法線, vector cross(vector vector1, vector vector2) 若叉乘值是 0 ,那么可能是兩個(gè)向量平行或在同一條直線上。若一個(gè)或兩個(gè)向量是 <<0,0,0>> ,那么叉乘 值返回 <<0,0,0>> 。 vector1 是一個(gè)向量。 vector2 是另一個(gè)向量。 例如: cross(<<1,2,-2>>,<<3,0,1>> 返回值是 <<2, -7, -6>> 。 dot 返回兩個(gè)向量的浮點(diǎn)點(diǎn)積。點(diǎn)積把兩個(gè)向量作為自變量并返回一個(gè)標(biāo)量值。 float dot(vector vector1, vector vector2) 如果點(diǎn)積返回 0 ,那么兩個(gè)向量是垂直的。 vector1 是一個(gè)向量。 vector2 是另一個(gè)向量。 例如: dot(<<1,2,-2>>,<<3,0,1>> 返回 1 ,這個(gè)例如的點(diǎn)積是 (1 * 3) + (2*0) + (-2*1), 它等于 1 。 mag 返回向量的值,它是向量的長(zhǎng)度, float mag(vector vector) vector 是所要得到數(shù)值的向量。 mag 函數(shù)使用下列公式把向量轉(zhuǎn)換為一個(gè)浮點(diǎn)數(shù)。 例如: mag(<<7,8,9>> 返回值 13.928 。 rot 返回一個(gè)向量,它代表以指定軸旋轉(zhuǎn)一定弧度后點(diǎn)的位置。 vector rot(vector point, vector axis, float angle) point 是在世界坐標(biāo)系中點(diǎn)的位置。 axis 是點(diǎn)圍繞之旋轉(zhuǎn)的軸。這個(gè)軸是一條經(jīng)過(guò)原點(diǎn)的有指定方向的線。 angle 是點(diǎn)所旋轉(zhuǎn)的弧度。 例如: rot(<<3,3,0>>,<<1,0,0>>,0.5) 返回值為 <<3, 2.633, 1.438>> 。這是一個(gè)向量,它是沿 <<1,0,0>> 的軸旋轉(zhuǎn) 0.5 弧度后點(diǎn)的位置在 <<3,3,0>> 的向量。 例如: particleshape1.position = rot(position,<<0,1,0>>,0.1); 假定在場(chǎng)景中有一個(gè)單粒子物體,它的位置是 <<4,6,0>> ,并為它的粒子形節(jié)點(diǎn)寫了上面的 runtime 表達(dá) 式。播放動(dòng)畫時(shí),粒子將沿 y 軸旋轉(zhuǎn)成一個(gè)圓形圖案。 在每幀中,粒子旋轉(zhuǎn) 0.1 弧度,約為 5.7 度, unit 返回一個(gè)和向量相應(yīng)的 unit 向量。 unit 向量具有和指定向量相同的方向,但是它的數(shù)量是 1 。 vector unit(vector vector) vector 是和 unit 向量相應(yīng)的向量, 例如: unit(<<1,1,1>> 返回 <<0.577, 0.577, 0.577>> 。 贊3 踩3 |
|
好東西呀 不過(guò)好亂 贊5 踩5 |
未知用戶
2005-2024 朱峰社區(qū) 版權(quán)所有 遼ICP備2021001865號(hào)-1
2005-2024 ZhuFeng Community All Rights Reserved
VIP