网络软件系统工具应用软件图形图像多媒体类免费游戏安全相关免费音乐网页素材 电子书籍考试考题建站源码
教育教学多媒体类编程开发操作系统游戏天地娱乐天地简历求职站长专区网页设计安全技术图形图像文学驿站
业界资讯 | 图形图像 | 操作系统 | 网络冲浪 | 工具软件 | 办公软件 | 媒体动画 | 精文荟萃 | 认证考试 | 网页设计 | 技术开发 | 专栏
当前位置:热点网络学院媒体动画DirectorDirector 3D 基础(之三)
精品推荐
热点TOP10
·Director生成文件减肥技巧
·用Director控制动画GIF
·Director怎样制作自定义光标
·利用director.ini调试应用程序
·director使用mui xtra创建对话框
·director应用技巧
·Director中控制声音音量的几种方法
·DIRECTOR去背技法步步高
·Director 3D 基础(之七)
·Director 3D 基础(之六)
·Director 3D 基础(之五)
·Director 3D 基础(之四)
·Director 3D 基础(之三)
·Director 3D 基础(之二)
·Director 3D 基础(之一)
·Director制作《七巧板》游戏
·【Director教程】lists的使用一则
·【Director教程】属性列表应用一则
·【Director教程】创建随机列表
·【Director教程】解析文本和列表
Director 3D 基础(之三)
日期:2006年10月15日 作者: 查看:[大字体 中字体 小字体]

本教程的例子是用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.model(‘‘newSphere‘‘).shader = tTempShader
go next
end if
end

脚本简介:
1、确定是否有材质球加在球体上了。
2、如果没有,用newShader()命令创建一个材质球。
3、应用材质球于球体。
注意到在这个步骤中没有做任何可见到的东西――球体看起来毫无变化。添加材质球是为了使球体能给添加上可以改变外观的贴图(texture)。

(出处:http://www.vipcn.com

关于我们 | 帮助(?) | 版权声明 | 友情连接 
Copyright 2005-2005 viphot.com All Rights Reserved.
Powered by:mesky