Houdini 創(chuàng)建函數(shù)實(shí)例
上節(jié)教程我們學(xué)習(xí)了Houdini Python編程實(shí)例,本文主要講解如何創(chuàng)建自定義Houdini函數(shù)(如果對(duì)Python不了解的同學(xué)可以查看,Python教程)。
自定義函數(shù)的結(jié)構(gòu)如下:
[返回值] 函數(shù)名([[參數(shù)類型1] 參數(shù)1 [, [參數(shù)類型2] 參數(shù)2] ...]) { 函數(shù)體 }
返回值的類型包括float(浮點(diǎn)小數(shù)), string(字符串), vector(向量), or matrix(矩陣)。
特別注意:
如果你沒有明確列出的返回類型或參數(shù)的類型,Houdini將假定它是一個(gè)浮動(dòng),將會(huì)默認(rèn)將其他數(shù)據(jù)類型改變成一個(gè)浮點(diǎn)類型。如果你忘記指定一個(gè)參數(shù)是一個(gè)字符串,Houdini將它轉(zhuǎn)換為浮點(diǎn)類型,可能會(huì)導(dǎo)致難以發(fā)現(xiàn)的Bug。
函數(shù)定義的主體,可以使用額外的語(yǔ)法,如賦值(=,+=, - =),if,while等使用return 獲取返回值。
使用#開頭的行是注釋,Houdini將忽略。
創(chuàng)建自定義函數(shù)過(guò)程:
打開函數(shù)編輯器
-
選擇Edit > Aliases and Variables 打開 Aliases(別名)和Variables(變量)編輯器。
-
點(diǎn)擊 Expressions 選項(xiàng).
創(chuàng)建新的自定義函數(shù)。
-
打開函數(shù)編輯器 (見上面)。
-
在大的文本框中輸入自定義函數(shù)。
-
點(diǎn)擊Apply Changes。 我們定義的函數(shù)將會(huì)在左邊的函數(shù)列表中出現(xiàn)。
從外部文件中加載
-
右下角的自定義函數(shù)編輯器中單擊加號(hào)圖標(biāo),并選擇要加載的文件。
-
也可以使用 exread 命令。
在外部編輯器中編輯函數(shù)源碼:
-
在右下角的自定義函數(shù)編輯器,點(diǎn)擊“Edit”按鈕。
-
在外部編輯器中編輯函數(shù)源碼,然后保存關(guān)閉返回給Houdini。
-
也可以使用 exread 命令。
測(cè)試新的函數(shù)
-
在自定義函數(shù)的左下角點(diǎn)擊Textport按鈕。
-
在文本框中輸入
echo `yourfunction()`
函數(shù)實(shí)例:
# 比較兩個(gè)數(shù)的大小,沒有定義返回值類型,默認(rèn)返回浮點(diǎn)類型。 min(v1, v2) { if (v1 < v2) { return v1; } else { return v2; } } # 返回字符串 string strreverse(string in) { float len = strlen(in); string result = ""; for (src = len-1; src >= 0; src--) { result += in[src]; return result; } } # 返回最小的向量 float vecmin(vector vec) { min = vec[0]; for (i = 1; i < vsize(vec); i++) { if (vec[i] < min) min = vec[i]; } return min; }
- Tags:Houdini
-
分享到:
您需要登錄后才可以發(fā)帖 登錄 | 立即注冊(cè)
- 用戶名:
- 密 碼:
- 驗(yàn)證碼: 看不清? 點(diǎn)擊更換
- 忘記密碼?
全部評(píng)論:0條