麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 辦公 > Maya > 正文

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

2024-09-04 21:21:07
字體:
來源:轉載
供稿:網友
maya mel基礎教程
陣列

你可以聲明一個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; // 現在是151元素陣列
$scores[200] = 5; // 現在是201元素陣列 但最好不要聲明過大的沒用的陣列,因為它要占內存:

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.

矩陣

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

matrix $a1[][] = <<1; 4>>; // 錯誤: 沒有說明尺寸
matrix $a2[][]; // 錯誤: 沒有說明尺寸
matrix $a3[2][1]; // 有效: 產生 <<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

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

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

物體屬性

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

物體屬性名

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

objectname.attributename

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

產生一個名字為brawl的球:

sphere -name brawl;

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

float $yscale = `getattr brawl.scaley`;

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

路徑

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

pathname|objectname

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

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

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

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

你必須輸入屬性的路徑:

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

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

group -name groupb groupa;

setattr |groupb|groupa|doughnuthole.scaley 1;

物體屬性的可能的數據類型

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

數據類型 意義 屬性例 數據例

浮點小數 numbers ball.translatex 2.6, 7.0, -9.1int
整數 (...-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;

它可以具有以下另外的數據類型:

數據類型 意義 屬性例 數據例

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

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

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

[1] [2] 下一頁  

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄色毛片一级 | 色网免费观看 | 欧美激情性色生活片在线观看 | 99精彩视频在线观看 | 久久777国产线看观看精品 | 久久中出 | 成人做爰高潮片免费视频韩国 | 8x成人在线电影 | 欧美激情第一区 | 天天透天天狠天天爱综合97 | 精品人伦一区二区三区蜜桃网站 | 黄色免费在线网站 | 日韩毛片网 | 国产高潮好爽好大受不了了 | 失禁高潮抽搐喷水h | 一级黄色影片在线观看 | 国产午夜亚洲精品 | 精选久久 | 黄色av一区二区三区 | 欧美性生交zzzzzxxxxx | 国产无遮挡一区二区三区毛片日本 | 草久视频在线观看 | 羞羞视频免费网站含羞草 | 国产亚洲精品久久 | 黄色a级片免费观看 | 特级黄毛片 | 亚洲国产精品500在线观看 | 狠狠操精品视频 | 日本免费不卡一区二区 | 影视免费观看 | 黄色一级电影网 | 最近日本电影hd免费观看 | 高清av免费 | 最新av在线免费观看 | 久久久精品视频国产 | 久久精精 | 久久亚洲精品国产 | 色妇视频 | 99精品国产一区二区三区 | 免费看成年人网站 | 精品国产91久久久 |