论文部分内容阅读
摘要:三维动态展示、游戏都要进行交互和碰撞检测。动态物体只有交互才能产生逼真的效果,同时引入检测机制才能使得系统正常完美。
关键词:交互 VRP 碰撞检测
VRP系统可以用3DSmax建造好的场景,并为场景中的人物加入交互,然用户操纵着人物漫步于三维场景中,并应用于网络上以三维空间进行展示,使用户能主观和客观地领略身临其境的感觉。我们使用VRP软件来实现动画漫游系统。它是国内生产的软件,可以简化操作,在少量编程的情况下,让美工可以制作出有交互效果的软件。
首先,我们要使用3DSmax来建造模型。场景建模是整个系统的基础部分。模型的建造的是否真并且简化会影响系统运行的情况和场景逼真度。过于细致的模型建造会使得漫游速度变慢,所以在建模的时候要寻求一种方法,让模型的细腻程度和繁杂程度达到平衡。我们要降下来模型的繁杂程度,提高用户的实用速度。场景内部是由墙面、楼道、地板、等组成,我们在建模软件中能够轻易的做到。文件运行快,生成数据量很小,提升使用速度。可是在对造型不规则,而且比较复杂的物体建造上面,如人物、花草树木、如果用VRML建模则体积太过庞大,而且毫无规律性,这样是没有办法完成的。3D AMAX的软件功能可以弥补这一问题,可以快速高效构造繁杂的3d模型。
归纳下来,在建模时我们要注意如下9条原则:1、场景的比例要和真实比例一样。2、用尽量少的模型和贴图3、对其物体的面和顶点。3、删除多余的面。4、合理的命名和分组。5、模型尽量用三角形面6、细长的物体用贴图代替建模。7、模型不可以太多。8距离太远的模型,即使材质相同也主张合并。9、使用面片造型方法来表现復杂造型。墙面、地面,等几何形状要用以上的原则来建模,文件越简单越好。
动作库中的相关命令如下:
(1)显示方式:用来设置动作在动作库中的显示方式。
(2)显示范围:用来设置动作在动作库中的显示范围。
(3)信息预览:用来显示动作的相关信息
(4)动作设置:在动作名称上单机鼠标右键,可以在弹出的快捷菜单中对当前动作进行设置。
(5)关节自动朝向。
现在,调入人物后,场景丰富起来。
那么这就完成了吗?当然还不行,我们要将场景中的物体进行碰撞检测。
现在,我们用3Dmax创建模型都是相互独立的,假设在其中引入一个角色作为用户的虚拟替身,则这个替身可以穿过建设的每个场景和物体,比如,山石、树木、墙壁、教室等等,但在实际生活中,这种“破门而入”的情形肯定不是自然现象。这就需要我们引用碰撞检测技术,让人物行动的时候不要穿越墙壁。
碰撞检测是什么技术呢?碰撞检测的英文名称为Collision Detection,另一种说法为接触检测。当不同物体发生了碰撞都可以用它来检测。它是计算机动画、系统仿真、计算机图形学、计算几何、机器人学、CAD\ CAM等研究领域的经典问题。在交互动画漫游系统中有很重要的地位,是虚拟环境产生沉浸感的重要手段。我们作为用户化身为动画中的一个人物,能够自然的、可视的在虚拟景物间进行交互。
在VRP中,有功能可以实现既高速又精确的碰撞算法,如果用户的场景结构合理(没有烂面、实心体没有漏缝),这在VRP系统中实现碰撞检测都比较容易。动画漫游场景中的碰撞系统可以实现自动上楼梯和一定坡度的爬坡功能,不管室内还是室外,都可以直接将所有模型加入碰撞,实现任意行走功能,而不会出现穿墙而过的情形。下面我们来讲述一下方法:
首先我们要创建一个行走相机。点击【相机】按钮,该按钮位于操作栏,然后再单击【创建定点相机】菜单选项下的“行走相机”按钮,在弹出的Camera name对话框中为创建的相机命名,最后单击“确定”按钮以创建一个新行走相机。如果当前场景中有相机,请先按P键退出当前相机状态,然后再进行相机创建操作。
2、编辑相机属性,在其“属性”选项卡中,设置“人体形状(圆柱体)”的“身高”为“170cm”,并选择“碰撞模式”下的“带碰撞检测”复选框。
第三步,加入,人机交互。虚拟现实关键在于人-计算机的交互,往往作用人-计算机的交互是通过用户界面来实现。在漫游的同时还有别的功能,如语音、导航、对话等。我们也可以打开脚本编辑器,实现鼠标点击物体跳转至其他网站的功能。在VRP编辑器中单击“脚本”中的“脚本编辑器”命令(或直接按快捷键F7)可以快速地打开“VRP-脚本编辑器”。 VRP 命令脚本函数集成了所有 VRP 交互脚本,用户可以通过【脚本编辑器】中的【插入语句】来添加事件脚本。
在系统中集成了函数可以应用。在运行程序的时候触发到某个事件,可以打开音乐、动画、变量值设定等。 在动画中常见的打开门,打开抽屉,转换视角等等这样的函数可以调用。用户也可以自己编辑函数,用于自己来设计的时间的触发。如下程序为实现点击物体跳转网站。
3Dmax与VRP共同使用,能够简单的实现场景的交互,也是在场景中增加物体智能交互、逻辑判断的最好办法。实现过场动画,我们要让虚拟人物通过过长动画,走到另一个场景当中,就和日常生活中一样。现在,很多的游戏和场景中经常可见,例如,如打开一个抽屉,拿出一把钥匙开门,当大门开启,画面转换到另一个房间,模拟现实生活也可以提高运行速度,让场面运行的更加流畅。这样一个简单的VRP交互项目就可以打包上传了。
参考文献
[1] 徐诚.虚拟校园漫游系统的研究 华中师范大学,2006,5
[2] 张金钊,张金锐,张金镝,杨昊诚.VRML编程实训教程[M].清华大学出版社,北京交通大学出版社,2008.3~10
关键词:交互 VRP 碰撞检测
VRP系统可以用3DSmax建造好的场景,并为场景中的人物加入交互,然用户操纵着人物漫步于三维场景中,并应用于网络上以三维空间进行展示,使用户能主观和客观地领略身临其境的感觉。我们使用VRP软件来实现动画漫游系统。它是国内生产的软件,可以简化操作,在少量编程的情况下,让美工可以制作出有交互效果的软件。
首先,我们要使用3DSmax来建造模型。场景建模是整个系统的基础部分。模型的建造的是否真并且简化会影响系统运行的情况和场景逼真度。过于细致的模型建造会使得漫游速度变慢,所以在建模的时候要寻求一种方法,让模型的细腻程度和繁杂程度达到平衡。我们要降下来模型的繁杂程度,提高用户的实用速度。场景内部是由墙面、楼道、地板、等组成,我们在建模软件中能够轻易的做到。文件运行快,生成数据量很小,提升使用速度。可是在对造型不规则,而且比较复杂的物体建造上面,如人物、花草树木、如果用VRML建模则体积太过庞大,而且毫无规律性,这样是没有办法完成的。3D AMAX的软件功能可以弥补这一问题,可以快速高效构造繁杂的3d模型。
归纳下来,在建模时我们要注意如下9条原则:1、场景的比例要和真实比例一样。2、用尽量少的模型和贴图3、对其物体的面和顶点。3、删除多余的面。4、合理的命名和分组。5、模型尽量用三角形面6、细长的物体用贴图代替建模。7、模型不可以太多。8距离太远的模型,即使材质相同也主张合并。9、使用面片造型方法来表现復杂造型。墙面、地面,等几何形状要用以上的原则来建模,文件越简单越好。
动作库中的相关命令如下:
(1)显示方式:用来设置动作在动作库中的显示方式。
(2)显示范围:用来设置动作在动作库中的显示范围。
(3)信息预览:用来显示动作的相关信息
(4)动作设置:在动作名称上单机鼠标右键,可以在弹出的快捷菜单中对当前动作进行设置。
(5)关节自动朝向。
现在,调入人物后,场景丰富起来。
那么这就完成了吗?当然还不行,我们要将场景中的物体进行碰撞检测。
现在,我们用3Dmax创建模型都是相互独立的,假设在其中引入一个角色作为用户的虚拟替身,则这个替身可以穿过建设的每个场景和物体,比如,山石、树木、墙壁、教室等等,但在实际生活中,这种“破门而入”的情形肯定不是自然现象。这就需要我们引用碰撞检测技术,让人物行动的时候不要穿越墙壁。
碰撞检测是什么技术呢?碰撞检测的英文名称为Collision Detection,另一种说法为接触检测。当不同物体发生了碰撞都可以用它来检测。它是计算机动画、系统仿真、计算机图形学、计算几何、机器人学、CAD\ CAM等研究领域的经典问题。在交互动画漫游系统中有很重要的地位,是虚拟环境产生沉浸感的重要手段。我们作为用户化身为动画中的一个人物,能够自然的、可视的在虚拟景物间进行交互。
在VRP中,有功能可以实现既高速又精确的碰撞算法,如果用户的场景结构合理(没有烂面、实心体没有漏缝),这在VRP系统中实现碰撞检测都比较容易。动画漫游场景中的碰撞系统可以实现自动上楼梯和一定坡度的爬坡功能,不管室内还是室外,都可以直接将所有模型加入碰撞,实现任意行走功能,而不会出现穿墙而过的情形。下面我们来讲述一下方法:
首先我们要创建一个行走相机。点击【相机】按钮,该按钮位于操作栏,然后再单击【创建定点相机】菜单选项下的“行走相机”按钮,在弹出的Camera name对话框中为创建的相机命名,最后单击“确定”按钮以创建一个新行走相机。如果当前场景中有相机,请先按P键退出当前相机状态,然后再进行相机创建操作。
2、编辑相机属性,在其“属性”选项卡中,设置“人体形状(圆柱体)”的“身高”为“170cm”,并选择“碰撞模式”下的“带碰撞检测”复选框。
第三步,加入,人机交互。虚拟现实关键在于人-计算机的交互,往往作用人-计算机的交互是通过用户界面来实现。在漫游的同时还有别的功能,如语音、导航、对话等。我们也可以打开脚本编辑器,实现鼠标点击物体跳转至其他网站的功能。在VRP编辑器中单击“脚本”中的“脚本编辑器”命令(或直接按快捷键F7)可以快速地打开“VRP-脚本编辑器”。 VRP 命令脚本函数集成了所有 VRP 交互脚本,用户可以通过【脚本编辑器】中的【插入语句】来添加事件脚本。
在系统中集成了函数可以应用。在运行程序的时候触发到某个事件,可以打开音乐、动画、变量值设定等。 在动画中常见的打开门,打开抽屉,转换视角等等这样的函数可以调用。用户也可以自己编辑函数,用于自己来设计的时间的触发。如下程序为实现点击物体跳转网站。
3Dmax与VRP共同使用,能够简单的实现场景的交互,也是在场景中增加物体智能交互、逻辑判断的最好办法。实现过场动画,我们要让虚拟人物通过过长动画,走到另一个场景当中,就和日常生活中一样。现在,很多的游戏和场景中经常可见,例如,如打开一个抽屉,拿出一把钥匙开门,当大门开启,画面转换到另一个房间,模拟现实生活也可以提高运行速度,让场面运行的更加流畅。这样一个简单的VRP交互项目就可以打包上传了。
参考文献
[1] 徐诚.虚拟校园漫游系统的研究 华中师范大学,2006,5
[2] 张金钊,张金锐,张金镝,杨昊诚.VRML编程实训教程[M].清华大学出版社,北京交通大学出版社,2008.3~10