当前位置:软件学习 > Director >>

Director 3D 基础(2)

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

( 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)

为按钮加上程序

现在你可以为按钮加上 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 按钮,看看摄像机是不是住左移了(实际上是球住右移了)?
你可以两个按钮都按按,看看它们是怎么样互相抵消移动的。

旋转模型(在这里就是球)

为了实现旋转这个球,又要新增加一对按钮类似于刚才建立的那一对,分别控制球向两个方向旋转。这时要用的命令是: 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 按钮,看看效果吧。

[1] [2] 下一页  

[page_break]

上一页  [1] [2] 

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,