素材图片酷 图酷镜像二 | 壁纸酷 壁纸镜像二 | 写真扫图酷 | Free Wallpaper | 贴图论坛 | ·设为首页 ·加入收藏
您现在的位置: 图酷 >> 自习室 >> 多媒体制作 >> Director >> 教程正文

  没有公告


Director 3D 基础(之一)
作者: 十年磨一剑
教程来源: 奥古多媒体
教程等级:         ★★★
教程录入: 烤焦面包
教程审核: 烤焦面包
添加时间: 2004-12-3
点击次数:
字体选择: 【字体:
相关操作: 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
热门信息:
推荐内容:

本教程的例子是用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、保存你的影片。


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

(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按钮,看看效果吧。

  • 上一篇教程:
  • 下一篇教程:
  • ::版权和投稿说明::
    • 任何媒体、网站或个人转载、链接、转贴或以其他方式复制发表本站文章,在使用时务必注明“稿件来源:图酷”及“www.tucoo.com”字样,多谢。
    • 本站已注明“来源”的文章均为转载稿,本站转载出于传递更多信息之目的。如本站转载稿涉及版权等问题,请来信与本站联系。
    • 如果您有自己原创的作品,请向我们投稿哦!您可以通过Email:gogocat@21cn.com投出自己的作品,赶快行动吧!
    • 如果觉得我们的资源有用,请推荐给朋友,谢谢!
    ::相关教程::
    使用visible时要不要宣告puppetSprite
    如何可以在Director中侦测键盘的输入
    Case指令在Director中的应用
    什麽是Sprite
    Director中几种Scirpt
    Xtra系列--人性助手Msagnet
    MCI指令在DIRECTOR 中的应用
    用面向对象的方法在DIRECTOR中实现滚动条
     
    网友评论:(评论内容只代表网友观点,与本站立场无关!) 发表评论