首 页Web3D在线作品技术·开发3D资源免费发布作品

   相 关 文 章
   最新5篇推荐文章  
推荐 三维展示要将B2B带出“冬天”
推荐 Google社交服务网站Lively上线 W...
推荐 Webmax开发设计说明书
推荐 Unity3d重生-让PC装上MAC OS X 1...
推荐 Webmax简易入门操作手册(官方)
   最新5篇热点文章  
固顶 Turntool官方中文对照操作手册
普通 Web3D在线将在2008年10月15日发布...
普通 Converse3D虚拟现实制作大赛将至...
普通 全3D网页游戏《Runescape》面世
普通 3D虚拟世界逐“利”场
您的 位置: Web3D在线 >> 技术·开发 >> WebMax >> 正文
Webmax开发设计说明书
[ 作者:佚名     来源:Web3D在线     点击数:     更新时间:2008-1-8     字体:

    

1.3    案例功能实现

1.3.1   播放音乐

    本例介绍如何在webmax里面添加背景音乐。

function SceneIsDown()里面写添加背景音乐函数

       CreateAudio(name, audioFile, repeatCnt)

          创建Audio对象,声音文件必须为WMAmp3格式

          参数:

Ø         name                                        对象名称。

Ø         audioFile                    声音文件名。

Ø         repeatCnt                   循环次数。

例:                                      

           VGS2.CreateAudio(“Audio 1”, “music.wma”, 5);

参数说明:

audio1是给取的对象名,为了以后操作该对象。

1.mp3是音乐路径名称。(注意:路径只能存放在于发布的html同目录下

5表示播放次数,-1时表示为无数次。

然后用用对象名去控制播放。

VGS2.PlayAudio("audio1");

VGS2.PauseAudio(“audio 1”);

1.3.2   前景图的控制

        本例介绍了如何控制webmax里面的前景图。

webmax界面新建一个前景图。

        在网页里面可以通过以下函数来控制它的可视与透明度。

          用到的函数如下:

设置前景图是否可见:

SetOverlayVisibility(“overlayName”, visible);

//overlayName是前景图的名字,visible10

//设置前景图的透明属性:

SetOverlayOpacity(“overlayname”, opacity);

// opacity为透明度

1.3.3   动画播放控制

    在页面我们可以加载3dmax动画,webmax提供了相关的函数进行动画的控制。预先在3dmax里做好动画,记得导出时要记住勾上输出关键帧动画。

     下面一个例子说明如何实现的:

即用一个按钮实现动画中的模型移动控制。

      动画制作说明:在3dmax里面制作动画时,移动模型到某一个位置,到第50帧停止移动,然后在第100帧上复制第0帧即可。那么从第0-50帧是模型移动的动画,第50-100帧是模型的复位动画。

     首先介绍一下用到的函数与变量。

      设置公共变量

Var modemoveback=false; //表示模型的当前状态(移动与复位)

      ModeMove()是按钮对应的函数

SetModelKfrPlayStatus(modelName, bKfrPlay)

设定模型是否播放关键帧动画。系统默认不自动播放模型关键帧动画,需要设定后才能播放。如果不设定播放关键帧的起始帧和终了帧(PlayModelKfr)则自动从模型关键帧动画第0帧开始播放直到最后一帧。

参数:

Ø         modelName                      模型名称。

Ø         bKfrPlay                        是否播放关键帧动画,1表示播放,0表示不播放。

例:

           VGS2.SetModelKfrPlayStatus(“MODEL 1”, 1);

        VGS2.PlayKeyFrame1(begin,end)

        播放动画从第begin帧到第end帧。

     代码实现部分 

function ModeMove()

{

//首先设置动画里面,模型DEMO05是可动的

VGS2.SetModelKfrPlayStatus("DEMO05", 1);

if(modemoveback)//当前状态为复位

 {  

   //然后用播放函数从第50帧放到第100 ,即复位

   VGS2.PlayKeyFrame1(50,100);

VGS2.SetRenderStatus(1);//记住要渲染场景

   Modemoveback=false;//改变状态

 }

else{  //当前状态为移动

   VGS2.PlayKeyFrame1(0,50);//移动模型

   VGS2.SetRenderStatus(1);

   Modemoveback=true;

}

}

1.3.4   动画相机的控制

 该部分讲了如何控制动画相机的播放以及在播放过程中如何执行别的函数操作。

首先设置当前使用的相机。

VGS2.SetCurrentCameraByName("CAMERA01");//"CAMERA01"是相机名字。

一般在alldown函数里面设置动画相机的播放函数:

VGS2.PlayCameraKfr(“CAMERA 01”, 1);//1表示播放,0表示停止。

注:在运行不可以移动模型,但可以执行回调函数来同时操作别的物体

在相机动画运行的过程中想执行别的函数,得预先进行设置。

VGS2.SetCameraKfrCallBackFunc(cameraName, frameIndex, funcName)

设置动画相机的帧回调JS函数。

参数:

Ø         cameraName           相机名称。

Ø         frameIndex              帧编号。

Ø         funcName                回调函数名称。

例:

VGS2.SetCameraKfrCallBackFunc("CAMERA01",  880, "CAM01KFR_CallBackC1")

//上面表示在动画相机第880帧时执行函数CAM01KFR_CallBackC1,可以在这个函数里面同步地干一些事。

暂停与停止动画相机的播放

       VGS2.PauseCameraKfr(camName)

VGS2. StopCameraKfr((camName);// camName是相机的名字。

1.3.5   动态移动相机

该部分说明如何动态的移动相机与关于webmax的视图坐标。

动态移动相机函数:

MoveCurrentCameraTo(from_x, from_y, from_z, at_x, at_y, at_z, frameCnt, accType)

函数说明:移动当前摄像机。

Ø         From (x,y,z)指的是相机从哪一个坐标看,

Ø         At(x,y,z)指的是相机瞄的目标的坐标。

Ø         frameCnt                             帧数。

Ø         accType                              加速模式。

²        0                                           匀速运动。

²        1                                           匀加速。

²        2                                匀减速。

例:

       VGS2.MoveCurrentCameraTo(50.0, 100.0, 284.0, 0, 0, 0, 142, 0);

注意:我们是从3dmax哪个视图(左视图,右视图,镜头视图等)的导出s3d文件,不同的视图它们观察的xyz对应顺序不一样。在webmax观察的视图与从3dmax导出的视图是一样的。而屏幕的坐标是

from_x, from_y, from_z, at_x, at_y, at_z都对应的屏幕坐标。屏幕坐标是固定的,与从3dmax里面导出的视图坐标存在对应关系。

例如3dmax里面的camera视图坐标是:

 

通过观察,我们发现3dmax导出视图与屏幕坐标的yz正好互换,。

当我们要用VGS2.MoveCurrentCameraTo设置from_x, from_y, from_z, at_x, at_y, at_z坐标时,要注意从3dmax导出视图的坐标映射到屏幕坐标上面来。即

-------   ---   -----

(,,)为模型在3dmax的坐标,()为模型在屏幕的表示坐标。

它们的对应映射关系是从3dmaxcamera视图坐标到屏幕坐标的映射关系。

下面是一个例子:实现以某一模型为中心进行旋转的设置。

VGS2.MoveCurrentCameraTo(50,170,-650,modex/2,modey/2,modez /2,20,2);

/ /modex/2,modey/2 ,mode/2分别存放是模型屏幕坐标的x/2,y/2,z/2(即坐标值的一半)

这样设置镜头的瞄准的目标点的位置,在editor浏览方式下旋转的中心将移到模型的中心上。

1.3.6   动态模型消隐

   该例展示了如何动态地消隐模型,每一循环一次减去模型10点的透明度,直至模型的透明度为0

   代码实现如下:

设置公共变量:

Var  Fadeopacity;//表示模型的透明度

function  HideTooths()//实现的函数

{

   Fadeopacity=100

   for(var i=0;i<10;i++) //循环进行十次的设置模型的透明度

   {

      ModefadeOut();//执行函数

}

  function ModefadeOut()

{

   fadeopacity=fadeopacity-10; /./每一次消隐10的透明度

   var fademodename="TOOTH "; 

   var index;

   for(index=11;index<=18;index++)

   {

   fademodename=fademodename+index;

   VGS2.SetModelOpacity(fademodename,fadeopacity);//设置模型新的透明度

   fademodename="TOOTH ";

   VGS2.SetRenderStatus(1);//必须渲染模型才行。

   }

}

下一页有关flash与webmax的交互控制

上一页  [1] [2] [3] [4]  下一页


  • 上一篇文章: Webmax简易入门操作手册(官方)

  • 下一篇文章: 没有了
  • 发表评论   告诉好友   打印此文  收藏此页  关闭窗口  返回顶部

      网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
      联 盟 网 站 申请加入联盟 more...
    点击申请
     
     设为首页 | 加入收藏 | 关于本站 | 版权申明 | 联系站长 | 友情链接 | 在线留言 

    Copyright© 2006-2008 Web3Donline.com .All Rights Reserved 沪ICP备07014855号