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

  没有公告


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

移动模型与摄像机

在Director 8.5中,不止一种方法去移动模型与摄像机。模型与摄像机可以相对于它们自己、其它模型或整个身处的3D世界而移动。另外,这些物体可以利用两种不同的Lingo程序来移动。无论你选择哪种方法,都会有明显的效果于你的3D演员的外观。

样版影片

本文的样版影片是Moving_model_and_camera.dir。你可以打开来查看它的程序,如果你喜欢的话,你可以改动它。(点击这里下载相关附件)

看scene 1

影片中的第一个scene说明了如何利用简单的Lingo命令rotate和translate来移动模型和摄像机。
舞台上包含了一个3D精灵――一个含有四个字母的模型。还有一些精灵是显示模型与摄像机的当前位置与旋转角度的文本字段。当按下舞台左下角的说明文字中说明的键时,你可以移动和旋转摄像机和模型。(请注意,如果要旋转是要按住换档键的)
查看名叫“Interface 1”的脚本演员,它是控制3D模型和摄像机的运动的。这个脚本一开始就检查Shift键是否按住了,以决定是用rotate还是translate命令。

member(‘‘3d‘‘).model(‘‘A‘‘).rotate(-1, 0, 0, #world)
当使用rotate命令,事件会在一个键每次按下时轻微改变一个模型的方位角度。当使用translate命令,事件会在一个键每次按下时轻微改变一个模型的位置。每次键按下会在一个轴上改变模型的位置与旋转角度的一个单元值。你可以在舞台上的位置与旋转字段中看到每个轴上的数值是如何依赖于哪个键按下而改变的。
注意到rotate和translate命令包括了一个“#world”参数。这告诉Lingo模型的运动是相对于整个3D世界的,而不是相对于3D世界中的其它物体的。
影片提供了一个代替程序,Alternate Interface,可以代替“Interface 1”程序。这个代替程序履行修改位置与旋转属性的数值的同样的任务,却不是使用rotate和translate命令。

看scene 2

影片中的第二个scene说明了如何移动模型和摄像机相对于其它物体。在这个scene的3D世界中包括了三个模型而不是一个。每个有四个字母的模型都是大模型大写字母“P”的子对象。由于这种关系,小模型们可以相对于父对象大写字母“P”而运动,就象相对于3D世界或相对于它们自身一样。
现在的舞台看起来和scene1一样,只是多了三个按钮,是用来允许你选择小模型们相对于它们自己、它们的父对象或整个3D世界而运动。你可以通过选择标记是“Self”的按钮来选择小模型们相对于它们自己运动,选择标记是“Parent”的按钮来选择小模型们相对于它们的父对象运动,选择标记是“World”的按钮来选择小模型们相对于整个3D世界运动。
名叫“selfBeh、parentBeh和worldBeh”的脚本的作用是更新记录“#self , #parent , 或 #world”的全局变量gRelativeTo。举个例子:
on mouseUp
gRelativeTo = #self
end
然后,全局变量gRelativeTo被用来传送相对参数给在scene2Interface脚本中的translate and rotate命令。
member(‘‘3d2‘‘).model(‘‘A2‘‘).rotate(-1, 0, 0, gRelativeTo)
试验各种不同的相对运动并观察它们可见的不同效果。(记住要按Shift键呀!:)

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