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

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

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

2024-09-08 19:27:12
字體:
來源:轉載
供稿:網友
director 3d 基礎
     本教程的例子是用 macromedia 的教程例子。

一、關于 3d 演員與精靈

在 director8.0 或更早的版本中,一個演員都是存在影片中并完成特定的任務:一個數碼聲音、一個圖片、一篇文字、一個按鈕、一個圖標、甚至是一個程序或行為。

這些各式各樣的 2d 演員仍在 director8.5 中完成重要的任務,但 director8.5 有了新的不同的 3d 演員了。一個 3d 演員包含一個完整的 3d 世界,包括一些模型們以及它們給賦予的行為等。

在 director8.0 或更早的版本中,一個精靈是一個演員的實例 —— 在分鏡表中占有特定一段(即是角色)。如果你改變一個精靈,你不會改變這個演員的;但如果你改變了這個演員,你就改變了所有使用這個演員的精靈(角色)。(十年特注:這句話可以這樣理解,一個演員可以做多個角色。)

這些各式各樣的精靈仍然以 2d 演員的實例的形式存在于 director8.5 中。然而,一個 3d 演員卻是不同的了,因為每個 3d 演員的 3d 精靈在該演員中通過使用攝像機的方法可以有不同的外觀。每個攝像機能看到一個 3d (世界)演員的外觀:一個攝像機可以從前面來看一個模型,而另一個攝像機可以從側面來看這個模型。由于每個在用同一個 3d 演員的 3d 精靈可以設定為不同的攝像機,所以用同一個 3d 演員的各式各樣的精靈可以有有同的外觀的。

二、在一個 3d 世界

在 3d 世界中的各組成部分之間的關系有點類似于 2d 精靈們和演員們之間的關系:

1 、一個模型資源包含可以許多模型共同的一整套的幾何數據,就象許多精靈可以用同一個演員。
2 、同一材質球( shader )可以為多個模型定義顏色,就象一個演員可以定義多個精靈的外觀。
3 、材質球使用許多表面貼圖 (textures) 象模型使用許多模型資源,改變一種表面貼圖可以影響所有使用它的材質球。
4 、同一種運動可以應用于不只一個模型,就象一個演員可為多個精靈所共用。

三、關于樣本影片(這篇教程的)

這篇教程的樣本影片 3dintro.dir 演示了一個 3d 演員里是各個組成元素是如何工作在一起的。這個影片包含了在 director 中創建一個 3d 演員和聯合使用 2d 和 3d 的技能。影片中用于解釋發生了什么事的文本與圖象精靈是與 director8.0 或更早版本中一樣受分鏡表控制的。而 3d 演員與 3d 環境是受 lingo 程序控制的。每個程序是通過單獨的步驟加于運動的模型上的。

當你運行這個影片時,你可以點擊各行文本以引發以下各步驟內容:
1 、創建一個空的 3d 演員
2 、添加一個模型(在這兒是一個球)進空的 3d 演員中
3 、為模型添加一個材質球( shader )
4 、為材質球添加表面貼圖 (texture) ,在這里就是為球加了表面圖案
5 、使模型動起來
6 、創建第二個模型(在這兒是一個正方體),并且為兩個模型建立父代關系(即一個是主,另一個是從)
7 、使第二個模型環繞第一個模型運動起來

通過這些步驟,影片提供了你能利用 director8.5 的 3d 功能來做一些事情的一個簡單的例子。你可以利用整套的 3d 命令做更多的事情的。

本文剩下的部份就是介紹這個樣本影片以及它所用到的行為等。

四、創建一個 3d 演員

樣本影片 3dintro.dir 已經包含了一個將要通過 lingo 程序來添加模型們的 3d 演員。如果你建立了你自己的新影片,你就必須從創建一個空的 3d 演員開始。

創建空的 3d 演員的步驟:
1 、在 director 中,選取 insert > media element > shockwave 3d 。
2 、為這個新的 3d 演員命名。
一個新的空的 3d 演員就被加進了演員表中了。

五、加一個球進 3d 世界中

樣本影片使用了創建球體的行為,被附加于 create sphere 文本演員上,點擊文本演員就加了一個球體進 3d 世界。

創建球體的行為的 lingo 腳本如下:

on mouseup(me)

if voidp( sprite(1).member.model(‘‘newsphere‘‘)) then
tsprite = sprite(1)
tmember = tsprite.member
ttempmodel = tmember.newmodel(‘‘newsphere‘‘)
tsphereresource = tmember.newmodelresource /
(‘‘newsphereresource‘‘, #sphere)

tsphereresource.radius = 60
ttempmodel.resource = tsphereresource
ttempmodel.parent = tmember.group(‘‘world‘‘)
ttempmodel.addtoworld()
tcenterpoint = point(sprite(1).width/2, sprite(1).height/2)
tpointtovector = tsprite.camera.spritespacetoworldspace /
(tcenterpoint - point(tsprite.left,tsprite.top))

tmember.model (ttempmodel.name).transform.position = /
tpointtovector

go next
end if

end

這個腳本是這樣工作的:
1 、腳本創建一個新的模型,叫 “ttempmodel” 。
2 、然后創建一個新的球體模型的資源叫 “tsphereresource” 。由于球體是原始的基本的形狀,所以可以在空的 3d 世界憑空創建它。
3 、然后腳本添加一個定義半徑長度的尺寸給模形資源。
4 、這個新創建的球體模型被指定用于叫 “ttempmodel” 的球體模型。
5 、這個模型被指定為這個 3d 世界的子對象。
6 、把模型加進世界中。
7 、腳本給模型一個在 3d 世界里的位置。

留意,腳本并沒有創建燈光。然而, 3d 世界里的燈光已被屬性檢查員打開了。

六、添加一個材質球 shader

一旦創建了球體,就可以點擊第二行文本 “create shader” ,利用添加材質球行為為球體添加材質球。添加材質球行為的腳本如下:

on mouseup(me)
if voidp( sprite(1).member.shader(‘‘newshader‘‘)) then
tsprite = sprite(1)
tmember = tsprite.member
ttempshader = tmember.newshader(‘‘newshader‘‘, #standard)
tmember

[1] [2] 下一頁  

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 性猛aa久久久| 综合99 | 国产午夜电影在线观看 | 日本羞羞的午夜电视剧 | 免费国产在线观看 | 久久久www免费看片 亚洲综合视频一区 | 久久国产精品二区 | 国产精品色在线网站 | 久久国产精品二国产精品中国洋人 | 亚洲免费资源 | 国内精品免费一区二区2001 | 婷婷中文字幕一区二区三区 | 在线免费观看精品 | av免费在线免费观看 | 欧美日韩一区,二区,三区,久久精品 | 国产毛片毛片毛片 | 免费亚洲视频在线观看 | 欧美a视频在线观看 | 日本一区免费看 | 久久精品.com | 欧美aaa| 免费在线成人网 | 在线香蕉视频 | 国产精品成人久久久久a级 av电影在线免费 | 最近高清无吗免费看 | av在线免费观看国产 | 一级国产航空美女毛片内谢 | 日本在线视频免费观看 | 在线男人天堂 | 国产一级毛片a | 黄视频网站免费观看 | 麻豆一二区 | 久久蜜桃精品一区二区三区综合网 | 国产999精品久久久久 | 91久久精品一二三区 | 国产日韩大片 | 精品久久一区二区 | 免费毛片观看 | 国产精品成人免费一区久久羞羞 | 色屁屁xxxxⅹ在线视频 | 国产亚洲精品久久久久久久 |