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

首頁 > 網站 > 媒體動畫 > 正文

Director基礎教程:Director 3D 基本的(7)

2024-09-08 19:27:13
字體:
來源:轉載
供稿:網友
director 3d 基礎
     以下的事件控制顯示修飾 3d 文本的字面。顯示字面組合可以包括顯示延展文本的前面、背面、字厚度,以及其它面的一些組合效果。舉例說明,如果你只是選擇顯示前面和字厚度,背面就不會在 3d 文本上顯示。

on setdisplayface
if member(‘‘textsample‘‘).displayface = [#front] then
member(‘‘textsample‘‘).displayface = [#tunnel]
setcomment

else if member(‘‘textsample‘‘).displayface = [#tunnel] then
member(‘‘textsample‘‘).displayface = [#back]
setcomment

else if member(‘‘textsample‘‘).displayface = [#back] then
member(‘‘textsample‘‘).displayface = [#back, #tunnel]
setcomment

else if member(‘‘textsample‘‘).displayface= [#back, #tunnel] then
member(‘‘textsample‘‘).displayface = [#front, #tunnel]
setcomment

else if member(‘‘textsample‘‘).displayface=[#front,#tunnel] then
member(‘‘textsample‘‘).displayface = [#front, #back, #tunnel]
setcomment

else if member(‘‘textsample‘‘).displayface = [#front, #back, #tunnel] then

member(‘‘textsample‘‘).displayface = [#front]
setcomment

end if
end

五、 3dtext2

當你打開并播放 3dtext2 樣版影片,你可以通過點擊舞臺左上角的按鈕延展文本進 3d 世界。你可以點擊另外兩個按鈕以應用一個材質球于每個字母。所有這三個按鈕都有調用以下事件的行為,你可以在 movie script 中找到以下事件。
以下代碼是一個錯誤捕捉,如果一個 3d 文本已經存在于 3d 世界中就促使這個事件退出。如果模型已經存在,而你試圖創建另一個同名的,一個錯誤信息會出現。

on extrudetexttoworld
if not(member(‘‘scene‘‘).model(‘‘3dtext‘‘).voidp) then exit

prepareshaders 事件調用創建所有影片中的材質球事件。 preparelightandcamera 事件調用設定影片的燈光與攝像機位置的事件。要預備燈光和攝像機位置,你必須先保證你在影片中的文本已經是看得見的。
以下的代碼定義延展文本象一個模型資源一樣,并把它指派給一個方便使用的變量:
textmodelresource = member(‘‘textsample‘‘).extrude3d(member(‘‘scene‘‘))
以下的代碼創建一個新的模型,用上了新的 textmodelresource 變量。
nm = member(‘‘scene‘‘).newmodel(‘‘3dtext‘‘, textmodelresource)
這個新的模型延展文字 “i 』 m shocked!” ,由于這些文字有 11 個字母(包括標點符號),所以它有 11 個材質球 ―― 每個字母一個。
以下的腳本循環指派同樣的材質球給每一個字母:

repeat with x = 1 to member(‘‘scene‘‘).model(‘‘3dtext‘‘).shaderlist.count

member(‘‘scene‘‘).model(‘‘3dtext‘‘).shaderlist[x] = member(‘‘scene‘‘).shader(‘‘shmetal‘‘)

end repeat
end

這些代碼為模型創建一個材質球和貼圖:

on prepareshaders
member(‘‘scene‘‘).newtexture(‘‘texmetal‘‘, #fromcastmember, member(‘‘metallic‘‘))

member(‘‘scene‘‘).shader(‘‘shmetal‘‘).texture = member(‘‘scene‘‘).texture(‘‘texmetal‘‘)

這些代碼為模型創建另一個材質球和貼圖。它使用 newtexture 函數去添加貼圖到貼圖列表并指派貼圖到 shlines 材質球。

member(‘‘scene‘‘).newtexture(‘‘texlines‘‘, #fromcastmember, member(‘‘lines‘‘)) member(‘‘scene‘‘).newshader(‘‘shlines‘‘, #standard)

member(‘‘scene‘‘).shader(‘‘shlines‘‘).texture = member(‘‘scene‘‘).texture(‘‘texlines‘‘)

end
以下的事件設定演員的 directionalpreset , directionalcolor , and ambientcolor 屬性。這些是用于修飾 “scene” 的燈光的。

on preparelightandcamera
member(‘‘scene‘‘).directionalpreset = #bottomleft
member(‘‘scene‘‘).directionalcolor = rgb(255, 255, 255)
member(‘‘scene‘‘).ambientcolor = rgb(255, 255, 255)

這些代碼移動攝像機到新的模型的位置:

member(‘‘scene‘‘).camera[1].transform.position = vector(266, 0, 300)
member(‘‘scene‘‘).camera[1].transform.rotation = vector(0, 0, 0)

end

以下的事件應用 shlines 材質球于一半的字母。注意到 shlines 材質球僅僅應用于材質球列表中的奇數條; shmetal 材質球將顯示于其它字母。這兒利用了 mod 函數,這兒是用來除以 2 ,得到的余數是 1 或者 0 。

on addlinestohalf
if member(‘‘scene‘‘).model(‘‘3dtext‘‘).voidp then exit
repeat with x = 1 to member(‘‘scene‘‘).model(‘‘3dtext‘‘).shaderlist.count

[1] [2] 下一頁  

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广州市| 塔城市| 连云港市| 海阳市| 梅河口市| 鸡东县| 台州市| 报价| 收藏| 青浦区| 临高县| 彭阳县| 承德县| 巩义市| 永修县| 枣庄市| 赤水市| 凤山县| 堆龙德庆县| 临夏市| 安多县| 得荣县| 瑞金市| 天峻县| 会同县| 襄垣县| 理塘县| 新晃| 驻马店市| 阿巴嘎旗| 信阳市| 元阳县| 大竹县| 保德县| 滁州市| 昭通市| 桓台县| 老河口市| 乳源| 滦平县| 宣武区|