3DVRI 网站地图
首页
新闻
下载
演示
资源
屏保
画廊
论坛
销售
关于
教程
3DVRI 新闻&更新
火热推出火星3DVRI虚拟现实内容创作系统1063版
推出最新的NeoBook的三维虚拟插件
第二版场景编辑器即将推出
3DVRI最新演示 [下载]

 

联系我们
3DVRI OSG浙江技术支持中心
0579-82100757
3DVRI 销售电话:
029-88217026
13319222637
联系人:谢先生
Email:webmaster@3dvri.com
友情链接

OpenSceneGraph网站

DELTA3D官方网站
OpenGL网站

 

 

 

3DVRI 教程

[所有]  [3DVRI软件介绍]  [3DVRI软件新特性]  [3DVRI技术介绍]  [3DVRI软件研发流程

 [3DVRI虚拟现实技术介绍]  [3DVRI行业应用]  [3DVRI SDK开发手册 ]   [教程]   [常见问题解答]

2006-05-13  
火星3DVRI 1063虚拟现实平台曲江演示制作过程专题介绍(含工程源文件下载)

      曲江规划演示是一个在曲江规划项目中,采用了3DVRI虚拟现实技术全面完美地完成的曲江商务区规划项目,她为规划设计提供多种设计方案,通过实时渲染如同身临其境般的场景,准确如实地表现真实世界的原貌,使决策者更加容易和迅速地判定各种方案的优劣,还提供了重要的丰富的数据信息功能,可以提供任何指定建筑的相关信息,你只要选中一幢建筑,各种信息一目了然,你可以对各种信息进行添加修改和删除……

      这篇教程对曲江规划演示中各种精彩的表现形式,以及它们的制作过程,脚本编写方法做了详尽细致的讲解。

      注意两点:

当您使用曲江演示的工程源文件编译与运行时,请您使用专门的3DVRI for Neobook插件,该插件可以从工程文件下的 “插件”文件夹中得到。 重要的是,该特殊插件使用完毕之后,应换成您原来使用的3DVRI for Neobook插件,否则当您使用Neobook制作与发布新的演示时会不正常的

● 当把曲江演示等Neobook工程文件拷贝到别的机器上查看时,常会遇到图像丢失的问题。

      解决办法很简单:      
      当你把曲江演示下载解压后,将文件夹 “NB项目工程” 放在D盘根目录下面,其Neobook工程文件位置是 D:\NB项目工程\Qujiang,那么系统就会自动找回所有贴图了。

      曲江演示的素材安排与变色龙和神庙都不一样,它的各个页面的布局比较独立,因此我们这里依次介绍各个页面的设计。首先我们看看首页的设计。

      一、首页的设计很简单就是在Flash上放两个按钮“操作演示”和“进入地图”,不过要注意按钮的设置应如下图所示,这样按钮周围就不会露出白色边缘!

        二、操作演示页面的设计也很简单,首先我们打开页面属性对话框,将页面背景设置为图片“Flash_Pic.jpg”,然后就是在相应的位置放上一个操作演示flash和一个返回按钮“PushButton3”。

      注意:flash我们用的是相对路径“[PubDir]swf\dis.swf”,这样flash文件不会被打包到你发布的exe文件中,但好处是加载速度会变的很快。

       三、地图页面的设计有点复杂我们这里详细介绍。这里我们事先需要定义一些全局变量,按“F6”打开“书籍属性”对话框,在下图所示位置定义我们所需的变量。

      注意:在NeoBook中许多对象的内容可以使用变量进行表示,这样一个对象会根据该变量的值而表示出不同的内容,如一个flash对象,可以表现出多个flash内容。变量也可以作为某些标识,根据该值不同而进行不同的操作!

      首先我们将该页面的背景设置为图片“D:\NB项目工程\Qujiang\素材\quj_jiemian .bmp”。
下面我们来实现鼠标移入六个不同区域时区域焦点显示的效果。
       这里我们要用到一些技巧,我们首先在六个不同区域的上面放上六张焦点显示时对应的图片,将图片的位置调整好后,打开图片属性对话框将图片的文件名替换为我们事先定义好的变量:[SelectZone_1],然后我们在其“操作”选项—>“鼠标进入”事件中将该变量的值设置为该图片的文件名,然后我们在“鼠标离开”事件中将图片名变量的值设置为空,这样就实现了鼠标移入 图片显示,鼠标离开 图片隐藏的效果。

鼠标移入六个不同区域时在区域的上方或下方显示对应的flash动画,该效果的实现方法大致如下:
      我们在页面中添加一个flash对象,将该对象的flash文件名用一个变量 [PhotoName] 表示,这样的好处是我们只需要更改该变量的值就可以让该flash对象显示不同的flash内容。而且我们还可以通过“MoveObject”指令将flash对象移到不同的位置,我们将这些指令也放到图片对象的“鼠标进入”事件中。这样我们就实现了上述效果。

六个区域中心gif动画的显示隐藏的实现:
      当鼠标移入某一区域时通过命令将该区域的gif动画显示出来,并将其它区域的gif动画隐藏掉。gif对象还兼有按钮的作用,我们可以在该对象的单击操作中加入下图所示命令,这样我们就可以实现单击不同区域的gif动画进入不同的虚拟场景区域的效果;

      四、虚拟页面的设计也比较复杂,主要是操作面板的设计,以及几个容器的设计,我们按步骤逐渐介绍。

我们重点讲一下操作面板的设计
      1)为了不让面板两边区域遮挡住场景窗口,如下图所示,我们需要添加一个多边形对象:我们先将操作面板的图片添加进来,然后我们沿图片边缘描绘出其形状,然后将图片删除,接着将该图片作为多边形的背景图片。

      2)然后我们在操作面板上添加7个按钮并放到对应的位置,并将这些按钮设置为透明显示。为了管理方便我们可以将其组成两组"Group1"和"Group2".。

      3)接着我们在操作面版上添加一个容器"Container4",并在容器中添加一个图片对象和两个滑竿条对象,用来调节楼层高度。如下图所示:

      4)下面我们来看看方案对比面板的设计,我们先创建一个容器“Container6”,然后在其里面添加一个多边形和两个按钮,多边形设置一个背景图片,然后我们在方案按钮中添加如下代码进行方案切换:

      这里我们根据上页中设置变量[WhichZone]的值,来选择不同区域的不同方案,然后再将该容器隐藏掉。容器“Container5”的设计和其类似。

      这样操作面板的设计基本完成,最后我们在操作面版的上面添加一个矩形对象作为VR视图窗口和一个图片对象作为场景载入时的等待界面。

下面我们添加场景载入时的初始化代码。
       1)我们打开“虚拟页面”属性对话框,在其“页面进入”时添加下列代码:

      2)然后我们按“F6”打开书籍属性对话框,然后进入子程序区,这里我们添加相应的子程序。
      我们先看载入场景子程序“LoadMainScene”,在该子程序中我们首先我们根据变量[VR_Flag]的值来判断是否进行连接窗口,然后我们进行初始化窗口,在初始化窗口后面我们进行显卡检测,如果机器配置过低或者驱动版本过低,那么就跳转到Flash页面来播放Flash,否则就载入虚拟场景进行漫游。

下面我们看看数据库的挂节功能。

注意: 这里我们用到一个数据库插件“neobookdb23c.nbp”,该插件你从工程文件下的“插件”文件夹中得到。

      1)我们首先通过子程序“DatabaseOpen”创建数据库,使用指令“dbfCreate”创建一个*.dbf文件,我们可以使用Microsoft Excel 将其打开然后添加相应的记录。然后通过子程序“DBFind”进行数据库的查询操作,其中变量[Filter]用来指定查询条件。当通过指令dbfQuery "[PubDir]qj.dbf" "[Filter]" 进行查询成功后,数据库中相关字段的值就代表当前记录的值。

     2)我们在虚拟页面中添加一个容器,我们在容器中放入8个文本输入框,如图所示,用来显示当前记录各个字段的值。文本输入框的设置如下,我们要将“启用”功能关闭,这样可以保障该字段的内容不能被更改。

     3)这样我们就可以实现在场景中点击指定的建筑,然后在该建筑关联的子程序中调用“DBFind”子程序来查询数据库"qj.dbf"中该建筑对应的记录,接着通过容器“Container1”将信息显示出来,而且你对文本输入框的值进行编辑还会即时存储到数据库"qj.dbf"表中。

 
  教程所用相关文件下载>>