朱峰社區(qū)首頁 朱峰社區(qū)

搜索資源 注冊|登陸

等待

返回 展開菜單
按功能 按軟件

新功能

新功能

包含30節(jié)視頻教程

當一個軟件有新版本的時候你會想到:朱峰社區(qū)!當你不知道新版本的新功能的時候:朱峰社區(qū)!當你遇到問題不好解決的時候:朱峰社區(qū)!沒錯!新功能!朱峰社區(qū)!

關閉

MAYA表達式的運用

關注:1718 留言:1 樓主:艾瑪呀 發(fā)帖時間:12年1月7日

艾瑪呀

普通會員

艾瑪呀

社區(qū)新人:1級

關注3338人

  • 性別

  • 年齡

    21

  • 積分

    21

  • 登陸

    6

  • 發(fā)帖

    11

  • 留言

    5

間隔線

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

贊3 踩3

2樓:你懂了嗎? 留言時間:12年1月7日

你懂了嗎?

普通會員

你懂了嗎?

社區(qū)朋友:2級

關注5609人

  • 性別

  • 年齡

    20

  • 積分

    26

  • 登陸

    6

  • 回復

    20

間隔線

好東西呀 不過好亂

贊5 踩5

未知用戶

2005-2025 朱峰社區(qū) 版權所有 遼ICP備2021001865號-1
2005-2025 ZhuFeng Community All Rights Reserved

VIP

朱峰社區(qū)微信公眾號

回頂部

1.復制文本發(fā)給您的QQ好友或群、微信等;好友點擊鏈接以后,轉發(fā)就成功了。 2.如朋友點擊您的鏈接,您需要需刷新一下才行;同一個好友僅能點擊一次。
購買VIP,觀看所有收費教程!