• 所属类目:Director教程
  • 更新时间:2006-04-21 01:01:01
  • 关键词:Director 之一 基础 3D
  • 浏览次数:(今日:,本周:,本月:

分享到:

作者:十年磨一剑
出处:奥古多媒体
转载请联系作者

本教程的例子是用Macromedia的教程例子。
教程假定大家已是熟悉Director基本功能与操作,并能完成简单的工作了的。

一、使用3D演员

3D演员有多种层次的属性。一个3D演员包含一个完整的3D空间,叫3D世界。一个3D世界可以有多个3D model(模型),例如,一个3D演员可以包括一个图球与一个正方体等等。
每一个3D model(模型)就类似于一个Director Sprite,都有它们的一系列属性,如:大小、颜色、阴影等。

Director提供两种方法去查看它们的属性:Shockwave 3D窗口与Lingo程序语言。

(1)导入3D演员

当你在3ds max或其它建三维模型程序中建立了3D模型,并把它们输出成为“.w3d”格式后,你就可以把它导入Director中使用了。
打开本教程附件,你会找到“3D Tutor for Dir User Start.dir”与“Orb.W3D”
1、打开“3D Tutor for Dir User Start.dir”影片。可以看到演员表中已有两个演员。
2、用外部链接文件方式导入“Orb.W3D”,如图:
3、导入后可以见到演员表中多了个名字为“Ord”的演员。
4、保存你的影片。


(图一)

[page_break] (2)使用Shockwave 3D窗口

在演员表中双击“Orb”演员,就会打开Shockwave 3D窗口来查看“Orb”演员。
见到打开的Shockwave 3D窗口中有一个圆球,球上环绕着“macromedia”字样,如图:
下面介绍一下打开的Shockwave 3D窗口,窗口中有一些工具是可以修改3D世界的camera(摄像机,可以理解为观察整个3D世界的窗口或视角、角度等什么的)位置的。可以用三种不同的方式来移动camera(摄像机):平移(panning)、旋转(rotating)、移远移近(dollying)。


(图2)

1、为了移动camera(摄像机)可以先按下这个按钮,然后再在Shockwave 3D窗口中按住鼠标左键不放来拖动一下,效果是看到球的位置移动了。


(图3)

2、要旋转球,从而从不同角度来看它,按下这个按钮,再在Shockwave 3D窗口中按住鼠标左键不放来拖动一下。


(图4)

3、这两个按钮是当你在使用上面的旋转按钮时配合来用的。是决定Y轴或Z轴哪个是上面的轴的。


(图5)

4、为了移近与移远球,可以先按下这个按钮,然后再在Shockwave 3D窗口中按住鼠标左键不放来拖动一下,效果是看到球变大了(近了)或变小了(远了)。


(图6)

5、当你做了各种操作(放大缩小、平移、旋转)之后,要恢复原来的样子,就要按这个按钮了。


(图7)

6、而当你做了各种操作(放大缩小、平移、旋转)之后,觉得很满意了,想把这时的状态保存下来,就要按这个按钮。


(图8)
[page_break] (3)运用Lingo进行更多的控制

正如你所看到的,Shockwave 3D窗口可以很好地观察3D演员,也可以很方便地移动3D世界的基本的camera(摄像机)。然而,当你需要控制3D演员的更多属性,你就要使用Lingo语言了。
做一个3D角色
1、重置你的播放头,使它回到第一帧。
2、打开演员表。
3、拖动“Orb”3D演员到舞台左下角。
4、打开分镜表,这时你可以看到在通道1中的第1帧到第28帧有了“Orb”角色。

添加一个你自己的按钮

1、重置你的播放头,使它回到第一帧。
2、打开工具面板。
3、按下工具面板中的按钮工具,如图。
4、在舞台右下角按下鼠标左键不放,拖出一个矩形的方框,记得这个方框的大小就是你想做的按钮的大小。当你放开鼠左键时,矩形方框中就出现一个文本插入点在闪,这时,按钮处于编辑状态,等待输入按钮名字。


(图9)

5、输入以下字样:Camera X+10
6、在按钮外面按下鼠标左键,退出按钮的编辑状态。


(图10)
[page_break] 为按钮加上程序

现在你可以为按钮加上Lingo程序以控制3D演员的camera(摄像机)了。


(图11)
1、打开演员表,你会看到多了一个按钮演员。
2、选中这个按钮演员,在演员表中的名称方格中为它输入名字:CameraX+10。
3、打开分镜表,点击选中通道2中的整段按钮演员。
4、并在它上面单击鼠标右键,在弹出的菜单中,选取“Script…”,打开Script窗口。
5、不要移动Script窗口中的插入点,直接输入以下Lingo程序:
sprite(1).camera.translate(10,0,0)
在这个程序中,事件名称是:on mouseUp。意思是当你在这个按钮上按下鼠标左键时,就会执行上面这句程序。
这句程序是用了点句式的格式的。点句式相对于英语来说是倒装格式的。在英语中这句程序听起来应是:Translate the camera of sprite 1. 意思是改变角色1的摄像机。
sprite(1)是指分镜表中通道1中的角色,在这里就是“Orb”3D角色。sprite(1).camera是指分镜表中通道1中的角色的摄像机。Translate在这儿的作用是移动摄像机于某一固定的数值。在这句中指定的数值是(10,0,0),意思是指沿X轴移动10个像素,沿Y轴与Z轴移动0个像素,三个数字分别代表在三个轴上的改变量。
6、关闭Script窗口,运行影片。
7、按一下CameraX+10按钮,看看屏幕上起了什么变化(报像机往右移了,但实际上看到的效果却是球住左移了,仔细想想,没矛盾的)?注意,不要按太多次按钮,否则会把球移到看不见的地方去的。
下一步,可以再加多一个按钮,以使球移回原位了。

使摄像机回到原位(即使球住右移)

为了使摄像机回到原位,可以再增加一个类似的带程序的按扭。不过,有点很重要的不同就是必须修改translate命令指定的数值。
1、停止影片,重置你的播放头,使它回到第一帧。
2、在工具面板中按一下按钮工具。
3、在舞台上刚才那个按钮上拖出一个按钮,输入CameraX-10字样。
4、在演员表中把这个新的按钮命名为CameraX-10。
5、在分镜表中右键这个按钮角色(在通道3),在弹出的菜单中,选取“Script…”,打开Script窗口。
6、在Script窗口中输入(此时是on mouseUp事件):
sprite(1).camera.translate(-10,0,0)
即沿X轴移动-10像素,Y轴与Z轴移动0像素。
7、关闭Script窗口,保存你的影片。
8、重置你的播放头,使它回到第一帧。播放影片,按CameraX-10按钮,看看摄像机是不是住左移了(实际上是球住右移了)?
你可以两个按钮都按按,看看它们是怎么样互相抵消移动的。
[page_break] 旋转模型(在这里就是球)

为了实现旋转这个球,又要新增加一对按钮类似于刚才建立的那一对,分别控制球向两个方向旋转。这时要用的命令是:rotate。
1、停止影片,重置你的播放头,使它回到第一帧。
2、象上面一样利用工具面板中的按钮工具建一个按钮。
3、在按钮上输入Rotate Y+20。
4、在演员表中把这个按钮的名称改成:RotateY+20
5、在分镜表中右键这个按钮角色(在通道4),在弹出的菜单中,选取“Script…”,打开Script窗口。
6、在Script窗口中输入(此时是on mouseUp事件):
member(3).model(1).rotate(0,20,0)
这句程序告诉Director旋转演员表中第3个演员(即“Orb”3D演员)中的第一个模型(即是球),就是让球绕Y轴旋转20度。
7、关闭Script窗口,保存你的影片。
8、重置你的播放头,使它回到第一帧。播放影片,按RotateY+20按钮,看看效果吧。

添加第二个旋转按钮

1、停止影片,重置你的播放头,使它回到第一帧。
2、象上面一样利用工具面板中的按钮工具建一个按钮。
3、在按钮上输入Rotate Y-20。
4、在演员表中把这个按钮的名称改成:RotateY-20
5、在分镜表中右键这个按钮角色(在通道5),在弹出的菜单中,选取“Script…”,打开Script窗口。
6、在Script窗口中输入(此时是on mouseUp事件):
member(3).model(1).rotate(0,-20,0)
这句程序告诉Director旋转演员表中第3个演员(即“Orb”3D演员)中的第一个模型(即是球),就是让球绕Y轴旋转与上一个按钮控制的方向相反的20度。
7、关闭Script窗口,保存你的影片。
8、重置你的播放头,使它回到第一帧。播放影片,按RotateY+20按钮,看看效果吧。

评论

相关下载

推荐下载