国产探花免费观看_亚洲丰满少妇自慰呻吟_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] 下一頁  

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 英吉沙县| 林芝县| 兴山县| 石渠县| 平山县| 迁西县| 清涧县| 潜山县| 政和县| 永仁县| 静宁县| 论坛| 锦屏县| 高阳县| 阿拉善左旗| 襄汾县| 绥中县| 谷城县| 益阳市| 连江县| 横峰县| 日喀则市| 同心县| 临夏县| 长寿区| 平邑县| 平度市| 通海县| 屏东市| 肇州县| 邓州市| 襄樊市| 铜鼓县| 宁化县| 二连浩特市| 舟山市| 文昌市| 额尔古纳市| 桦甸市| 阳西县| 阿合奇县|