999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

MEL語言在MAYA中筆刷的應用

2019-04-27 01:39:02張亮
科技資訊 2019年2期

張亮

摘 要:在maya中筆刷paint是常用的工具方式之一,用戶會遇到需定義一個符合自己要求的筆刷之類的問題,同時可以對大部分面積模型進行操作,這將會影響今后工作的生產效率。該文借助MEL這一具有強大擴展性的腳本語言闡述該實現功能的基本原理,分析隨機控制,關鍵幀設置的Mel語言實現流程。通過這一研究,為MEL在maya中具體使用提供一定借鑒意義。

關鍵詞:Maya 筆刷 建模 MEL

中圖分類號:TP39 文獻標識碼:A 文章編號:1672-3791(2019)01(b)-00-02

在maya中制作植物生長,使用者往往遇到想要自定義的植物或者形態,同時對這個形態進行更高塑造。然后對整個部分隨機變化,對細節進行調整。利用Maya系統中可視化的工具或命令進行修改,是件繁瑣的事情。怎樣在過程中創作符合要求的工具,和合理的代碼是實現解決這些問題的關鍵。制作類似植物生長的方法,包括隨機、設置關鍵幀、調整形態,有些地方不僅局限在maya中可視化工具,對于熱衷使用技巧的人來說,script是實現該方法的捷徑。該文主要闡述畫筆工具基于mel腳本語言快速實現相關功能,方便操作;整體控制、隨機變化,關鍵幀操作在maya中引用。

1 定義畫筆和畫筆工具的修改

在畫筆工具里,定義筆刷的相關屬性。

brushPresetSetup();bPset "time" 1;

bPsetName "imageName" "";

brushPresetApply();

presetSetPressure 1 0 0 1;

presetSetPressure 2 0 0 1;

presetSetPressure 3 0 0 1;

rename (getDefaultBrush()) Tubes;

定義好筆刷后,我們需要把筆刷attach到tube上

$sel = `ls -sl`;

string $sel3[];

int $i =0;

clear $sel3;

for ($each in $sel)

{

select $each;

stringArrayInsertAtIndex ($i, $sel3, $obj[0]);

$i++;

};

select $sel3;

select -cl;

changeToolIcon;

SelectTool;

AttachBrushToCurves;

$obj = `ls -sl`;

2 隨機控制選取對象

為了使插件更具有隨機性,能夠更加真實地模仿自然生長的花草,添加了隨機功能。

在隨機控制我們采取用數組儲存列表,然后對每個元素進行操作。即每次在這個列表中隨機抽取一個元素,然后把最后一個元素填補在這個元素上,同時刪除最后一個元素,執行次數為你想要的隨機概率。具體的實例小樣如下。

global proc random()

{

float $list[];

int $len = 1000;

int $i, $j;

for($i = 0;$i <$len; $i++)

{

$list[$i] = $i *0.001;

}

int $last = $len - 1;

for($j = 1;$j <=500; $j++)

{

int $a = rand($last + 1);

$qs = $list[$a];

$list[$a] = $list[$last];

$last--;

print($qs);

print("\n");

}

}

random();

在這里第一個for循環是建立1000長度的數組元素,值域0.001~0.999之間。第二個for循環是在1000選取500個,print可以當作以后對這個元素進行操作的元素。接下來要實現我們在畫筆一些屬性的隨機。

global proc setRandom()

{

float $sk[];

string $obj[] = `ls -sl`;

string $temp_obj[] =$obj;

int $obj_len = size($obj);

int $i, $j;

int $w = $obj_len - 1;

for($j = 1;$j <= $obj_len*0.8; $j++)

{

int $a = rand($w + 1);

string $qs = $obj[$a];

$obj[$a] = $obj[$w];

$w--;

setRandom_EvSingleSection({$qs});

}

select $temp_obj;

};

global proc setRandom_EvSingleSection(string $qs[])

{

float $getValue_flowSpeed = rand(1,5);

float $getValue_globalScale = rand(0.5,3);

float $getValue_brushWidth = rand(0.5,3);

$objSelected = $qs;

string $currentObject;

for($currentObject in $objSelected)

{

$selection = `ls -dag $currentObject `;

$node = `listConnections -d off -s on ($selection[1] + ".brush")`;

setAttr ($node[0] + ".flowSpeed") $getValue_flowSpeed;

}

};

在這里只是改變這個節點3個屬性,如果需要更多的變化,也可以這里多添加更多的屬性。要想獲得操作這個節點,需要了解maya的dag網絡結構。還有注意的是最后還要從新選擇temp_obj這樣用戶對隨機操作的效果不滿意,可以重新隨機,而不用重新選擇。以上的隨機獲取并隨機的方式不只是可以在畫筆中,在其他模塊一樣有用。

3 實現用戶關鍵幀

由于為了使畫面的更加動態,所以會使每個畫筆的開始時間不同,可以設置關鍵幀。在此主要分為兩個模塊:第一模塊是用戶輸入想要開始生長的幀數;第二模塊是通過滑塊組在當前界面幀開始生長。在第一模塊中,由于maya中額starttime(開始時間)的修改是秒為單位,下面的時間滑塊組是以幀為單位的。為此,在mel中將輸入端的數據乘上1/25(maya中默認1s為25幀),從而解決時間單位不統一的問題。第二模塊的實現則也需要考慮到時間單位的問題,直接通過獲取當前界面的時間幀此時獲取的數據只是純的數字,若直接賦予則會產生錯誤,因為要賦予的是以幀為單位的數據,則同樣為界面獲取的時間數據乘上1/25,并將此數據對應的maya屬性修改,從而實現了在界面當前時間幀開始生長的功能。

參考文獻

[1] AdamMechtley,RyanTrowbridge.Maya Python游戲與影視編程指南[M].北京:人民郵電出版社,2016.

[2] 張寶榮,呂新歡.Maya總動員[M].北京:清華大學出版社,2011.

[3] 王澄宇.MAYA腳本應用手冊[M].北京:人民郵電出版社,2013.

主站蜘蛛池模板: 亚洲第一黄色网| 99这里只有精品在线| 精品国产美女福到在线不卡f| 中文字幕在线看| 乱人伦99久久| 狂欢视频在线观看不卡| 91精品日韩人妻无码久久| 在线观看网站国产| 国产呦视频免费视频在线观看| 91亚洲免费| 成人在线天堂| 中文字幕 欧美日韩| 精品综合久久久久久97| 亚洲无码37.| 日韩欧美中文| 免费A级毛片无码免费视频| 中文字幕啪啪| 成年免费在线观看| 小说区 亚洲 自拍 另类| 欧美精品H在线播放| 91青青草视频| 性视频一区| 91免费国产在线观看尤物| 中文字幕资源站| 一级毛片无毒不卡直接观看| 国产精品蜜芽在线观看| 伊人蕉久影院| 在线观看国产黄色| 成人在线观看一区| 为你提供最新久久精品久久综合| 福利视频一区| 久久久久无码精品国产免费| 伊人久久大香线蕉aⅴ色| 国产一区成人| 任我操在线视频| 国产专区综合另类日韩一区| 第一区免费在线观看| 国产成人永久免费视频| 国产XXXX做受性欧美88| 国产va在线| 国产精品免费p区| 国产精品视频猛进猛出| 免费国产一级 片内射老| 国产内射一区亚洲| 老司机精品99在线播放| 真实国产乱子伦高清| 美女被操91视频| 国产精品网址在线观看你懂的| 欧美国产精品不卡在线观看| 无码网站免费观看| 久久综合久久鬼| 最新精品国偷自产在线| 欧美啪啪精品| 中文字幕亚洲综久久2021| 国产精品极品美女自在线看免费一区二区 | 一级毛片免费不卡在线视频| 97青草最新免费精品视频| 在线观看国产网址你懂的| 国产91小视频| 亚洲丝袜第一页| 欧美在线一级片| 亚洲动漫h| 91精品国产自产在线老师啪l| 国产在线麻豆波多野结衣| 成人毛片免费在线观看| 中国国产高清免费AV片| 国产1区2区在线观看| 国产AV无码专区亚洲精品网站| 国产18页| 四虎影视无码永久免费观看| 一区二区偷拍美女撒尿视频| 2020国产精品视频| 成人免费午间影院在线观看| 91精品小视频| 萌白酱国产一区二区| 国产在线一区二区视频| 中文字幕免费在线视频| 亚洲第一黄片大全| 欧美在线中文字幕| 国产一级在线播放| 青草视频在线观看国产| 亚洲精品日产AⅤ|