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

首頁 > 網(wǎng)站 > 媒體動畫 > 正文

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

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

一、關于 3d 演員與精靈

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

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

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

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

二、在一個 3d 世界

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

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

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

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

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

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

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

四、創(chuàng)建一個 3d 演員

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

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

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

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

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

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

六、添加一個材質球 shader

一旦創(chuàng)建了球體,就可以點擊第二行文本 “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] 下一頁  

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄冈市| 阿克| 中方县| 信丰县| 盘山县| 卫辉市| 甘肃省| 柘荣县| 秦皇岛市| 勐海县| 枣庄市| 望谟县| 安丘市| 甘泉县| 宿迁市| 建宁县| 乐至县| 栾城县| 淳安县| 治县。| 武功县| 镇沅| 深水埗区| 宜春市| 河东区| 卓资县| 萝北县| 龙江县| 黄大仙区| 永城市| 长岭县| 太原市| 醴陵市| 东台市| 永清县| 防城港市| 扎兰屯市| 鄂州市| 新平| 威海市| 油尖旺区|