基于3dsMax和Virtools的虚拟校园的开发和设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
虚拟现实(Virtual Reality ,简称VR;又译作灵境、幻真)是近年来出现的高新技术,也称灵境技术或人工环境。
虚拟现实是一项综合集成技
术,涉及计算机图形学、
人机交互技术、传感技术、人工智能等领域,它用计算机生成逼真的三维视、
听、嗅觉等感觉,使人作为参与者通过适当装置,自然地对虚拟世界进行体验和交互作用。
使用者进行位置移动时,电脑可以立即进行复杂的运算,将精确的3D 世界影像传回产生临
场感。
该技术集成了计算机图形(CG)技术、
计算机仿真技术、人工智能、传感技术、显示技术、网络并行处理等技术的最新发展成果,是一种由计算机技术辅助生成的高技术模拟系统。
虚拟校园也是虚拟现实技术在教育培训中最早的具体应用,它由浅至深有三个应用层面,分别适应学校不同程度的需求:简单的虚拟我
们的校园环境供游客浏览基于教学、
教务、校园生活,功能相对完整的三维可视化虚拟校园以学员为中心,加入一系列人性化的功能,以虚拟现实技术作为远程教育基础平台,虚拟远程教育虚拟现实可为高校扩大招生后设置的分校和远程教育教学点提供可移动的电子教学场所,通过交互式远程教学的课程目录和网站,由局域网工具作校园网站的
链接,可对各个终端提供开放性的、
远距离的持续教育,还可为社会提供新技术和高等职业培训的机会,创造更大的经济效益与社会效益。
[1]
1.3dsMAX 和Virtools 软件简介1.13dsMax
3dsMax 是美国Autodesk 公司的电脑三维模型制作和渲染软件,
该软件早期名为3DS ,因为类似dos 年代,需要记忆大量的命令,由于使用不便,后改为max ,图形化的操作界面,使用更为方便。
max 历经V1.0,
1.2,
2.5,
3.0,
4.0,
5.0(未细分)……现在发展到9.0以上版本,逐步完善了灯光、材质渲染、模型和动画制作。
广泛应用于建筑设计、三维动
画、
音视制作等各种静态、动态场景的模拟制作。
软件具有功能强大、扩展性好,操作简单、容易上手,和其它相关软件配合流畅等特点。
[2]
1.2Virtools
Virtools 是一套整合软件,可以将现有常用的档案格式整合在一起,如3D 的模型、2D 图形或是音效等。
Virtools 是一套具备丰富的互动行为模块的实时3D 环境虚拟实境编辑软件,可以制作出许多不同用途
的3D 产品,
如网际网络、计算机游戏、多媒体、建筑设计、交互式电视、教育训练、仿真与产品展示等。
[3]
2.基于3dsMAX 的校园三维场景的建立以及模型导入2.1建模
在3dsMAX 中有很多种建模方式,
包括:旋转建模,loft 放样建模,Boolean 建模方法,细分建模,复制、堆积建模,依附建模,面片建模,NURBUS 曲面建模,材质建模,组合建模等。
通常来讲,没有固定的建模方式,主要看使用者自己的使用习惯,也可以配合多种工具同时使用,每种建模方式也有自己的各自特点。
例如:在建立学校比较复杂的建筑物的时候可以采用依附建模的方式,因为现在很多学校的建筑物都有
各自的特色,不再是规规矩矩方方正正的盒子模式。
但在设置校园住宿区的时候一般是采用复制的方式进行。
2.2材质和贴图
图1
由于是建立校园的虚拟场景,限于其原本有的校园本貌,为了使校园环境更加逼真,所以在纹理和材质的处理上需要下更多的功夫。
在3dsMax 中的贴图方式比较简单,这里就不做介绍,关键是纹理和材质的制作。
为了制作比较逼真的校园环境就需要进行大量的校园采景拍摄,由于在建设数字校园的过程中涉及到很多校园介绍的内容,所以在取
景的时候除了原来的图片拍摄以外,还需要对校园进行摄像,包括对部
分建筑物360°全景的拍摄。
在完成材质和贴图的准备以后,接下来就是对材质基本参数的设置,我们主要是通过
“Basic Parameters ”参数卷展栏来完成,一般来讲,对于道路、
草地、阶梯等对象采用基本材质,而对于建筑物和球场等就采用贴图(如图1)。
2.33ds Max 模型导入Virtools 中制作好三维模型以后,接下来就是将模型导入到Virtools 中。
在将3ds Max 模型导入Virtools 中之前需要在3DS MAX 中安装程序3dMax Exporter.exe 文件,否则不能执行下面的命令。
由于在Virtools 中默认用于存储角色和场景以及物体等信息的文件格式通常是.nmo ,所以,在3ds M ax 中应首先将做好的文件以.nmo 的格式输出。
在将.nmo 格式文件导入好以后,就要添加实行交互的模块脚本,等我们将项目保存为可以编辑的工程文件以后,就可以在Virtools 自带的程序开发包SDK 下进行.exe 文件的开发。
需要注意的是,由于3ds Max 是以独有的拓扑结构来实现模型的建构的,所以在输出的时候,3ds Max 所输出的模型直接是以三角面来进行输出的,不存在模型转换的问题。
在3ds Max 中经常通过复制的方法来增加相同的物体。
而在复制的过程中,通常可以有三种复制的形式,即Copy (复制),In2stance (实例复制),Reference (参考复制)。
当用Instance 形式复制物体的时候,在输出成1.nmo 的过程中,编译器将自动把复制出的所有物体包括原物体输出成一个物体的状态信息进行存储,目的是因为用Instance 形式复制出的物体保留了所有原来物体的状态信息,同时,原物体状态的改变将影响复制出的物体的状态,所以只通过一个物体就可以控制所有复制出的物体,这样减少了编译的时间,也解决了储存文件的大小问题。
[4]
2.4模型的控制与整合
Virtools 中有500多个自带的内置行为模块,它的主要功能是控制导入的三维模型,例如变化大小、变换颜色、平移、旋转、贴图等,并且还
可以进行一些复杂的操作。
对于模型的控制有2种方法,
其一,直接调用行为模块库中的内置BBs ;另一种,使用VC++通过手工自动编写BBs 。
例如:点击Data Resource(数据资源库),选择Animations(行为动作)类中的行为,点击所要的动作行为并拖到3DLayout(三维世界编辑区)中的模型上,并在Schematic(脚本流程图)中运用行为交互模块库中的行为模块编辑模型相应的脚本,这样就形成了3D 交互动画。
[5]
3.巡游系统的设计与开发3.1巡游系统的设计
通常来讲对于校园的游览都是基于校园主要干道,以华中师范大
学为例:对于校园的游览时在几个校门之间穿梭,包括:北门、
南门、东门、西门以及东南门,在设计过程中,我们设计了几条线路,就是几个门之间的相互通道,这也是目前游览系统通常的做法。
不仅仅是可以对校园进行全方位的场景浏览,在整个系统中还要加入对每栋建筑物的单独浏览,并且对于建筑物可以实现实景的浏览,以及可以对建筑物的历
史、
用途、所在院系以及所在院系的全方位介绍;对于广场、体育馆、电影场等公共活动场所更要加入校园文化介绍;对于学校服务部门等更要有相关的服务热线及服务内容提示,这样一来就可以真正实现数字校园的相关要求。
(图2)
图2
3.2巡游系统的开发
对于沿着路径的游览可以使用设置摄像机的运动来实现对校园的浏览,所以首先就是对于路径的设置,在设置路径的时候,我们按照上图的导航起点和导航终点进行几条路径的设置。
在基于3ds Max 和Virtools 的虚拟校园的开发和设计
华中师范大学信息技术系
肖灵君
刘紫薇
[摘要]虚拟校园也是虚拟现实技术在教育培训中最早的具体应用,它由浅至深有三个应用层面,分别适应学校不同程度的需求:
简单的虚拟我们的校园环境供游客浏览基于教学、
教务、校园生活,功能相对完整的三维可视化虚拟校园。
在3ds Max 实现对校园的三维场景建模,做好纹理和贴图以后,在Virtools 中对模型进行设置使得可以进行全方位的校园巡游,并可以使得游览者对校园有全方位的了解。
[关键词]3ds Max Virtools
虚拟校园(下转第202页)
199——
设置好路径以后,就要在Virtools 中对浏览进行脚本编写(图3)。
主要思路是设置一个摄像机沿着指定的路径按照一定的速度进行运动,这样就实现了对校园的浏览。
图3
前面提到了对校园里相关服务以及校园相关介绍则是通过后台数据库的连接实现的,在处理后台数据库的连接的时候,关键问题在于对数据的压缩。
由于后台有很多视频以及flash 等较大文件,所以在连接的时候会对计算机有较高的要求,尤其是对于一些在线浏览的虚拟校
园场景。
4.结语
现在的虚拟校园已经不再是简简单单的建模以及对模型进行简单
的处理,随着计算机技术突飞猛进的发展,虚拟现实在人工智能、
心理学社会学等方面都提出了一系列的问题以及解决方案,在虚拟校园的建设中也必将越来越体现出现代技术的特色,为更好的推广各类具有各自特色的大学校园做出自己的贡献。
参考文献[1]/view/591818.htm [2]/view/123913.html?wtp=tt [3]/view/711703.htm [4]王方,王峥.3ds Max 模型及动画输出为Virtools 格式的方法.现代电影技术,2007年第10期
[5]孙倩.基于3DS MAX 的三维建模及其在Virtools 环境中的应用.中国科技信息,2008年第12期
Set Position
Position On Curve
Look At
Bezier Progression 摄像机Script
摄像机
(上接第199页)IPADDR=210.39.242.1
NETMASK=255.255.255.255ONBOOT=yes (2)配置loopback 接口地址ARP 不响应来自LVS Router 的请求:[root@localhost ~]#vi /etc/sysctl.conf net.ipv4.conf.lo.arp_ignore =1net.ipv4.conf.lo.arp_announce =2net.ipv4.conf.all.arp_ignore =1net.ipv4.conf.all.arp_announce =25、最后在两台LVS Router 中启动所有的服务[root@localhost ~]#service piranha-gui start Starting piranha-gui:[确定][root@localhost ~]#service pulse start Starting pulse:[确定][root@localhost ~]#service ipvsadm start Clearing the current IPVS table:[确定]Applying IPVS configuration:[确定]查看上述服务启动日志:
[root@localhost ~]#cat /var/log/messages
Apr 1020:35:50localhost pulse[2624]:STARTING PULSE AS MASTER Apr 1020:35:55localhost avahi-daemon[2065]:Registering new address record for 210.39.242.1on eth0.
Apr 1020:35:55localhost lvs[2627]:starting virtual service squid active:8080
Apr1020:35:55localhostnanny[2636]:startingLVS client monitor for 210.39.242.1:8080
Apr1020:35:55localhostnanny[2637]:startingLVS client monitor for 210.39.242.1:8080
Apr 1020:35:55localhost nanny[2636]:making 210.39.242.3:8080avail-able
Apr 1020:35:55localhost nanny[2637]:making 210.39.242.4:8080avail-able
Apr 1020:36:00localhost pulse[2629]:gratuitous lvs arps finished 在LVS Router 上查看ipvsadm 运行情况:[root@localhost ~]#ipvsadm -Ln
IP Virtual Server version 1.2.1(size=4096)Prot LocalAddress:Port Scheduler Flags ->RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 210.39.242.1:8080wlc ->210.39.242.4:8080Route 100->210.39.242.3:8080Route 100
图8Piranha 获取的信息
此时在piranha 的管理界面可以看到已经获取到RS 的信息了,如图8所示。
通过以上的步骤,客户端只需要在浏览器设置代理服务器为210.39.242.1:8080即可上网。
6、当lvs-ative 宕机时,lvs-backup 会自动启动piranha 接手,网络不会中断,客户端不会有任何的影响。
Lvs-backup 日志如下:
Apr 1010:55:16localhost pulse[2434]:STARTING PULSE AS BACKUP Apr 1010:55:34localhost pulse[2434]:partner dead:activating lvs
Apr 1010:55:34localhost lvs[2437]:starting virtual service squid active:8080
Apr1010:55:34localhost nanny[2443]:starting LVS client monitor for 210.39.242.100:8080
Apr 1010:55:34localhost lvs[2437]:create_monitor for squid/squid3running as pid 2443
Apr1010:55:34localhost nanny[2444]:starting LVS client monitor for 210.39.242.100:8080
Apr 1010:55:34localhost lvs[2437]:create_monitor for squid/squid4running as pid 2444
Apr 1010:55:34localhost avahi-daemon[1974]:Registering new address record for 210.39.242.100on eth0.
Apr 1010:55:34localhost avahi-daemon [1974]:Withdrawing address record for 210.39.242.100on eth0.
Apr 1010:55:34localhost avahi-daemon[1974]:Registering new address record for 210.39.242.100on eth0.
Apr 1010:55:34localhost nanny[2443]:making 210.39.242.3:8080avail-able
Apr 1010:55:34localhost nanny[2444]:making 210.39.242.4:8080avail-able
Apr 1010:55:39localhost pulse[2440]:gratuitous lvs arps finished 四、后记
通过上述的改造,笔者所在的校园上网方式既得到了简化,也通过加入了负载调度器,可以在四台代理服务器中选择负荷最小的优先使
用,从而充分利用了服务器的资源。
真实服务器中的某一台宕机或者是再增加新的服务器,客户端也不需要做任何的更改了,实现了改造升级的目的。
参考文献
[1]LVS 中文站点. [2]LVS 英文站点. [3]Squid 英文站点. [4]中国集群网. [5]红帽群集套件./manual/redhat_AS_3.0_CS/index.html
[6]姜文颖.网络中几种负载均衡实现技术的探讨[D ].中国数据通信,2004年,第一期,p61-62
[7]章文嵩.Linux 服务器集群系统[Z ]./devel-operworks/cn/linux/cluster/lvs/part1/index.html [8]严文中.CDN 负载均衡和内容路由[D ].浙江大学:信息学院,
2005
202——。