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

首頁 > 辦公 > Maya > 正文

Maya基礎(chǔ)教程:Maya Mel基本的教學文章(8)

2024-09-04 21:21:07
字體:
供稿:網(wǎng)友
maya mel基礎(chǔ)教程
陣列

你可以聲明一個int, float, string或vector類型的陣列。陣列的第一個序號為0

string $array[3] = {"first/n", "second/n", "third/n"};
print($array[0]); // 顯示 "first/n"
print($array[1]); // 顯示 "second/n"
print($array[2]); // 顯示 "third/n"

陣列尺寸可以自動地增加。

int $scores[]; // 聲明為一個0元素陣列
$scores[150] = 3; // 現(xiàn)在是151元素陣列
$scores[200] = 5; // 現(xiàn)在是201元素陣列 但最好不要聲明過大的沒用的陣列,因為它要占內(nèi)存:

int $bigboy[];
$bigboy[123456789] = 2; // 危險

要除去一個陣列的所有元素可使用clear**能。要查看陣列的尺寸可使用size。

string $hats[3] = {"blue", "red", "black"};
print("there were " + size($hats) + " hats./n");
clear($hats);
print("but now there are " + size($hats) + "./n");

以上指令的輸出是:

there were 3 hats.
but now there are 0.

矩陣

可以把一個矩陣想象為一個浮點陣列的陣列,或是一個浮點數(shù)據(jù)的二維陣列。矩陣產(chǎn)生后,它的尺寸不能改變。
企圖尋址一個矩陣的不存在的元素將會出現(xiàn)錯誤。在產(chǎn)生矩陣時必須定義它的尺寸。

matrix $a1[][] = <<1; 4>>; // 錯誤: 沒有說明尺寸
matrix $a2[][]; // 錯誤: 沒有說明尺寸
matrix $a3[2][1]; // 有效: 產(chǎn)生 <<0; 0>>;
$a3[0][1] = 7; // 錯誤: 元素不存在
$a3[1][0] = 9; // 有效

聲明而未標注值的矩陣,其所有元素都為0。

matrix $a4[2][4] = <<-3.4, 6, 201, 0.7; 4, 2, 9.3, 1001>>;

如果矩陣表示一個二維陣列,則第一個索引表示列;地二個索引表示行:

matrix $a4[2][4]column 0column 1column 2column 3
row 0-3.462010.7row 1429.31001

如果你把矩陣設(shè)想為一個身列的陣列,則第一個索引表示陣列,第二個索引該陣列里的索引:

matrix $a4[2][4]index 0index 1index 2index 3
float array 0-3.462010.7float array 1429.31001

物體屬性

屬性是場景中的物體的特征或參數(shù)。在maya中可以用許多方法建立屬性-屬性編輯器、mel程序、工具盒工具或表達式。
你可以設(shè)立屬性去控制在工作空間中看到的虛擬的事情。
如,一個nurbs球具有屬性scalex, scaley, scalez, rotatex, 等等。

物體屬性名

物體屬性名具有如下格式:

objectname.attributename

其中objectname是物體的名字,attributename是該物體的屬性名。屬性名中不要使用空格或特殊字符,可以用下劃線。

產(chǎn)生一個名字為brawl的球:

sphere -name brawl;

可以獲取它的屬性的一個值:

float $yscale = `getattr brawl.scaley`;

brawl.scaley是brawl物體的scaley屬性的全名。

路徑

如果兩個物體具有不同的父物體,它們可以有相同的名字。當說明有相同名字的物體時必須使用路徑:

pathname|objectname

其中pathname物體的父物體。管道字符(|)用于區(qū)分路徑。

sphere -name doughnuthole;
group -name groupa;
sphere -p 3 0 0 -name doughnuthole;

現(xiàn)在我們有兩個叫做doughnuthole的物體,但一個有父物體groupa,另一個沒有父物體。以?*噶畈桓齟砦螅?br /> 因為maya不知道哪個doughnuthole物體要設(shè)立scaley屬性:

setattr doughnuthole.scaley 3.3; // error: 哪個?

你必須輸入屬性的路徑:

setattr groupa|doughnuthole.scaley 3.3;
setattr |doughnuthole.scaley 0.3;

你可以說明物體的所有路徑,用管道符進行區(qū)分:

group -name groupb groupa;

setattr |groupb|groupa|doughnuthole.scaley 1;

物體屬性的可能的數(shù)據(jù)類型

每個屬性有特定的數(shù)據(jù)類型。幾何體, 粒子物體, maya中的其他項都具有這些數(shù)據(jù)類型的屬性:

數(shù)據(jù)類型 意義 屬性例 數(shù)據(jù)例

浮點小數(shù) numbers ball.translatex 2.6, 7.0, -9.1int
整數(shù) (...-1, 0, 1, 2...) ballshape.spansu -289, 33, 0
boolean 0或1 ball.visibilityon, off, yes, no, 1, 0, true, false

考慮一個由以?*噶畈慕兇鯢ire的粒子物體:

particle -name fire -position 7 0 7;

它可以具有以下另外的數(shù)據(jù)類型:

數(shù)據(jù)類型 意義 屬性例 數(shù)據(jù)例

vector array 矢量陣列 fireshape.position
{<<3.2,?7.7,?9.1>>, <<7,?10,?2.2>>}
double array 浮點陣列 numbersfireshape.lifespan 1.333 1.666

你可以使用getparticleattr和setparticleattr指令設(shè)立矢量的元素或一個粒子系統(tǒng)的雙陣列。

float $tmp[] =
`getparticleattr -at position fireshape.pt[0]`;
vector $particleposition = <<$tmp[0], $tmp[1], $tmp[2]>>;
(完)

[1] [2] 下一頁  

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 郧西县| 浦城县| 寻乌县| 建平县| 信阳市| 玛曲县| 怀远县| 彰化县| 宜良县| 托里县| 张家口市| 德安县| 特克斯县| 灵璧县| 博湖县| 云南省| 利川市| 南平市| 罗源县| 临安市| 和龙市| 海城市| 昭通市| 盱眙县| 福安市| 青岛市| 南平市| 兴文县| 关岭| 穆棱市| 来安县| 图木舒克市| 大连市| 拉萨市| 武定县| 长丰县| 上虞市| 合水县| 永顺县| 清水县| 固始县|