您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 二、相机的控制与定位
1二、相机的控制与定位在任何初始场景中都包含有相机这一特有的对象,因为在场景设置(或称布局)过程中和程序运行时都需要使用相机。在场景布局时,主窗口中的场景画面也可看作相机取景窗口的画面,改变相机位置也就能改变窗口的画面,相当于改变场景布局,因此在场景布局时常用改变相机位置的方法来设置场景,以便在某个特别的位置来看对象。在程序运行时,可根据事先设定的几个相机位置来实时调整相机位置,或者相机随某一对象一起运动,这些都将会使制作的动画更加生动和有趣。1.相机的手动控制(1)改变相机的位置和方位。在场景中相机也是一个对象,虽然不出现在场景中,但也有它的位置和方位。前靣曾提到过,在虚拟场景下方有三组蓝色箭头,它们就是用来控制照相机的位置及方位。以下图为例,通过这三组箭头手动控制相机的位置和方位后,可以观察画靣的变化过程。第一组兰箭头是用来控制相机向上、向下、向左、向右移动,第二组兰箭头有二个箭头分别用来控制相机向前、向后移动,箭头所指的方向就是相机移动的方向。因此,相机可以在六个方向上移到新的位置,移动的方向和箭头所指方向一致。显然在不同位置的相机看到的场景画靣是不一样的。柤机的方位也有四个方向,即左、右、前、后,第二组兰箭头另二个箭头表示方位向左和向右,第三组兰箭头表示方位是向前和向后。在操作时,可以不断点击兰色箭头,逐步改变相机位置或方位,也可以指向箭头按住鼠标来改变相机位置或方位。如果沿箭头方向拖动鼠标将会加快动作的速度。为了熟悉操作相机的移动,可以利用第二组箭头中的向前箭头对准Coach的腹部向前移动相机,直到相机出现在他的背靣,再利用向左或向右移动相机直就可看见如下画靣,这样就能设置好相机的位置和方位,在利用兰色箭头操作相机过程中可以使用Undo来返回相机前一位置。2(2)改变相机镜头的角度。在虚拟场景的左边对象的操作按钮下,有一个’morecontrol’按钮,点击它后产生如下画靣,其中有改变相机镜头的角度的滑块,通过它可改变lensangle,从狭窄的角度逐步变到广角去看场景画靣的变化。2.相机位置设置完成场景布局后,还需要对相机的位置进行设置,以便从不同的视角来看动画,并能在编程中使用柤机移动命令将相机移到所指定的位置。一种在场景中移动相机的方法是创建一个或多个虚对象(dummyobject),用它们来标记相机在程序运行时将处的位置。虚对象好象是一个不可见的三脚架,它表示—动画运行时相机移动的目标位置。一旦放好了虚对象,就能用一条命令将相机的视角(pointofview)设置为虚对象表示的视角(其实就是把相机放到三脚架的位置)。运行时,用setpointofview方法就会把相机移动到虚对象的位置,3这样相机的视角就是从这个位置看过去的。创建一个虚对象是通过点击dropdummyatcamera来实现的,如何设置相机位置以及编程时控制相机移动等问题将结合具体应用实例来介绍。实例5:Dragon与Knight(1)选择草地为背景,点击ADDOBJECT,在本地库找到Medieval文件夹,从中将Dragon、Knight、Trool及Wizard加入到场景中点击morecontrol,再点击dropdummyatcamera,在对象树上会出现Dummyobject,再点击其左边的+号,会出现Dummy,它实际上表示当前相机的位置,所看到的画靣是还未移动相机前的画面。使用相机控制的一组兰箭头去移动相机到新的位置,从而产生不同的画面4此时有二种方法使相机回到原来位置,第一种方法是:右击对象树上的camera,从弹出的菜单中选择method,然后选setpointofviewto,再选Dummyobject及Dummy第二种方法是在addobject的屏幕的情况下,点击movecameratodummy下面的按钮并选择dummy,就能恢复原来相机位置。5由于相机的位置可能有多个,因此需要对每个位置重新命名,例如对相机最初位置命名为OriginalPosition,为此,右击对象树的Dummy,选择rename,并命名为OriginalPosition。现在要利用相机控制箭头将相机移至四个对象的上方,向前倾斜相机使其直接朝向地面,移动相机使四个对象缩小且在它们的上方6此时点击dropdummyatcamera,在对象树上OriginalPosition下靣会出现Dummy,同样将它命名为OverheadView,再利用对象定位按钮将四个对象安排成菱形状,当相机移到OverheadView时就会出现此画面。在这个动画中为相机设置了两个位置,以后编程就可使用这两个位置来移动相机。实例6:Goldfishandfairy(金鱼与仙女)(1)打开Alice,依次点击Templates、water、open。屏幕显示如下画面,出现水的背景。找到绿色按钮Addobject并点击它,屏幕下方出现本地对象库,有很多对象文件夹。7拖动滑条并选择Animals文件夹,再在众多对象中找到Goldfish对象,点击Addinstancetoworld,Goldfish将出现在水中,尽管很小,暂时不管它。点击LocalGallery,回到本地库的原始起点,找到并选择Fantasy文件夹,在众多的对象中选择Faeries,再选择ClassLichenZenspider,并点击Addinstancetoworld,此时LichenZenspider也出现在水靣上。在两个对象加入到场景后,在对象树上就增加了Goldfish和LichenZenspider两个对象。(2)现在要对场景中的两个对象定位,在屏幕上找到对象操作按钮先点击白色箭头,然后用鼠标拖动LichenZenspider,使她位于Goldfish的右边,然后利用上下移动按钮将LichenZenspider向上移到离开水靣。8调整Goldfish的位置,利用旋转按钮将Goldfish身体与屏幕平行,如果不小心操作失误,则可点击Undo,回到错误操作前的状态。再次调整LichenZenspider,利用前后按钮使她稍为向前倾,再使用旋转按钮使她面向Goldfish利用放大缩小按钮将Goldfish放得比LichenZenspider大,再用上下按钮使Goldfish下沉一点,必要时再调整它的大小。(3)在本动画中将创建三个虚对象,分别表示相机的初始位置Start,其它二个分别为靠近仙女和金鱼的位置Fairy和Fish。为了设置虚对象,需点击morecontrol按钮,此时会出现如下画靣,点击dropdummyatcamera(在当前相机的位置放置一个虚对象)9就会在当前相机的位置创建一个三脚架而且添加到对象树中,点击dropdummyatcamera按钮后如下图所示。在对象树上Alice会自动将它命名为dummyobject,再点击其左边的+号,就会出现名为dummy的虚拟相机位置,将这个虚对象重命名为start以表示相杌的初始位置。10设置其它两个虚对象,先用相机控制按钮将相机移至靠近仙女,将此位置设为虚对象。为此再点击dropdummyatcamera,类似上靣的操作过程,将这个虚对象重命名为Fairy。为了能回到相机的初始位置,右击对象树上的camera,会逐步出现多层次菜单11逐层依次选择methods、camerasetpointofviewto、dummyobject、start,这样就使相机回到初始位置。类似的操作建立另一个名为Fish的虚对象,并将相机设置为Start位置。(4)场景手动设置完成,点击Done按钮,离开场景设置界面,进入编程界靣所谓编程就是按照故事情节将各个对象动作的命令(即方法)拖入到编辑区内,并组织在Doinorder和Dotogether模块或其控制结构的模块中。,首先要将相机移到名为Fairy的虚对象上,以便在该位置上看LichenZenspider,点击对象树上的camera,选择methods,拖camerasetpointofviewto到编辑内,从菜单中选择Dummyobject及Fairy,12再在对象树上找到LichenZenspider,再选择methods,它将列出仙女能执行的方法,找到wink(眨眼)命令并将它拖入到编辑区13点击Play,仙女将会眨右眼,可以逐个将方法表中所列的动作命令逐个地拖入到编辑区,看看仙女执行什么动作,如果需从编辑区删去某命令行,可右击该行并选择delete就可删去该命令行。除了上述一些简单的动作外,还可通过编程让仙女做些新的功作,为此,点击createnewmethod,并命名为Talk,此时新方法名出现在编辑区的首行,下靣编辑的一些命令就组成了新方法。14拖方法say到编辑区并选择other在对话框中打入I’mflying!类似地拖入say,并打入Thisisfun!因此新方法Talk包含有二个命令行(5)建立新事件进入事件编辑区,系统会提供很多事件,例如当从键盘输入一键时,这个动作就是一个事件,当此事件发生时就执行一些动作。在事件编辑区里,默认的第一个事件是Whentheworldstartsdoworld.myfirstmethod,当然也可以将其它的程序名替换world.myfirstmethod。15为了实现在按了Space键后,仙女才说I’mflying!,需要建立一个新事件,不论何时只要按了Space键就调用新方法Talk。首先点击createnewevent,会出现九种预定的事件框桇选择Whenakeyistyped并点击它后,事件编辑区会出现一行新事件,分别点击事件行中两个三角形,并输入Space和LichenZenspider.Talk按Play后,每到按一次Space键,仙女就会说I’mflying,然后说Thisisfun!16(6)仙女煽动翅膀。击对象树的LichenZenspider、details板上的methods及createnewmethod,在出现的对话框中打入新方法的命名FairyFly,此时新方法出现在编辑区内。需要将相机回到初始位置上,点击对象树上的camera,选择方法中的camerasetpointofviewto,将它拖至编辑区,在菜单中选择Dummyobject及start17然后要求仙女煽动翅膀,选择LichenZenspider及methods中的flapWingsdurationamount,并拖它进编辑区,使它煽动6次,每次持续时间2秒,因此在duration中选择2,在amount中选择other,再打入6。18在编辑区中显示结果是另外,还需在事件编辑中将Whentheworldstartsdoworld.myfirstmethod改为doLichenZenspider.FairyFly,这时相机已回到初始位置,按Play后可以看到仙女在煽动翅膀。(7)仙女绕金鱼一圈。首先要求仙女煽动翅膀同时自转一圈,因此,先将Dotogether拖到编辑区煽动翅膀命令行之前,再选择LichenZenspider、methods,拖LichenZenspiderturn进编辑区,同时选定left,1revolution,即向左转一圈此时编辑区的结果如下,可按Play检查效果。为了实现仙女绕金鱼转,点击turn命令行中more后靣的三角形,选择Asseenby、goldfish,theentiregoldfish其中选择asSeenBygoldfish,theentiregoldfish表示看整个金鱼左旋转一圈,可按Play验证它。19(8)仙女骑在鱼上。击对象树的LichenZenspider、details板上的methods及createnewmethod,在出现的对话框中打入新方法的命名RideFish。首先将LichenZenspidermoveto拖入方法编辑区,选择goldfish。为了使金鱼与仙女黏在一起,当金鱼移动时仙女也和它一起移动,仙女有一个属性(properties)名为交通工具vehicle拖vehicle到编辑区并选择goldfis
本文标题:二、相机的控制与定位
链接地址:https://www.777doc.com/doc-3186402 .html