网站建设  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

当前位置:首页>>网络媒体>>Flash>>正文
注:打开慢时请稍等

flash 360度3D虚拟实境(cubicVR)实现原理

  日期:2007-3-29 13:04:39  来源:蓝色理想  点击:
参加讨论

flash的3D虚拟实境最早源自于德国的flash图形学大牛andre.michelle在其labsite:lab.andre-michelle.com上发表了一篇关于虚拟实境的文章,并提供了一个实例(NaN sourcecode).为了深入虚拟实境,在接下来的2个月里我陆续找到一些cubicVR的源文件并尝试破译了一些源码,我同时尝试开发了一个简单的flash3D引擎以及图片3D拉伸算法,所有这些的思想均来自于andre-michelle在其日志中提到的一些idea.现在在这篇文章中所用的实例依然是我对andre早期版本的整理,虽然目前我开发的新版本有更好的结构以及执行效率,但此版本的编程思想更通俗易懂。我想利用这个假期时间开发出flash球型虚拟实境,使它变得更真实。

在flash里部署3D虚拟实境无疑是一个革命性进步,我们再也不用去安装java虚拟机和QTVR了,事实上,在基于flash的可编程矢量图形界面基础上开发出来的虚拟现实可以通过创新的用户界面以达到完美的用户体验。city8.com既采用这种技术来部署他们的全景体验城市地图。

demo:鼠标拖拽以转换camera视角

原理:

点透视与投影

通过1点透视来产生远小近大的变化以产生空间感,在cubicVR中,设想观察者camera在一个正六面体中央,通过一点透视来计算每个面的在空间投影中的位置,以产生透视效果。

demo:没有导入透视方程的情况:

细分贴图

flash的matrix类只支持2D图形变换:切变、缩放、平面位移。位图无法实现3D变换,这与openGL不同,openGL只需要在定义多边型顶点和贴图法线,位图就会自动贴到一个面片上,而且整个贴图过程完全由GPU完成。而在flash中必须使用细分贴图的方法来欺骗人们的眼睛,既:将一张图片细分为n张小的三角面片,再将小三角面片进行平面切变,正因为如此,flash3D一旦涉及贴图必然导致大量占用cpu运算资源。

细分贴图的demo:
http://godson.blueidea.com/archives/2006/3708.shtml

消隐算法

如果没有消隐算法,那么观察者只能看到离屏幕最近的面,而不能看到整个3D空间,理论上消隐算法有3个步骤:1在一个六面体中,面法线与视锥体夹角大于180度则应设为不可见,2在同一个像素上,只显示与camera最近的多边形(Zbuffer算法),3投影在屏幕以外的多边型不可见,但这三种算法非常占用cpu资源,andrew设计了一种更简单的算法:1多边形的中心与camera重合,在camera坐标系中Z值<0的多边形不可见,2投影在屏幕以外的多边型不可见。

经典论坛讨论
http://bbs.blueidea.com/thread-2717880-1-1.html


编辑:iyit.net [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:Flash纯脚本生成饼图
下一篇:巧用Bitmap类制作按钮
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
FLASH与ASP通信原理入门 8 其它通讯方式 FLASH与ASP通信原理入门 7 LV与ASP综合 FLASH与ASP通信原理入门 6 LV与ASP综合
FLASH与ASP通信原理入门 5 ASP操作数据 FLASH与ASP通信原理入门 4 LV与ASP通讯 FLASH与ASP通信原理入门 3 ASP中基本的
FLASH与ASP通信原理入门 2 LV类基础讲解 FLASH与ASP通信原理入门1 LoadVars类基 Flash破解与加密 
XML动态菜单  巧用Bitmap类制作按钮 Authorware中自动擦除Flash动画
养成Flash ActionScript代码编写好习惯 Flash文件的破解与加密方法探秘  学习Flash ActionScript编程的注意事项
Flash导航菜单轻松制作好帮手 Flash绘制精致矢量图:斑驳的秋天落叶 新版FlashGet新功能之BT下载抢先试用
FLASH游戏制作基础:响应键盘的四种方法 flash带进度条的Loading制作 Flash 8怎样防止抄袭的办法!!
Dreamweaver中实现flash的透明背景 Flash中利用javascript完全屏蔽右键!
最新更新 热点排行 推荐新闻
FLASH与ASP通信原理入门 8 其它通讯方
FLASH与ASP通信原理入门 7 LV与ASP综
FLASH与ASP通信原理入门 6 LV与ASP综合
FLASH与ASP通信原理入门 5 ASP操作数据
FLASH与ASP通信原理入门 4 LV与ASP通讯
FLASH与ASP通信原理入门 8 其它通讯方
FLASH与ASP通信原理入门 7 LV与ASP综
FLASH与ASP通信原理入门 6 LV与ASP综合
FLASH与ASP通信原理入门 5 ASP操作数据
FLASH与ASP通信原理入门 4 LV与ASP通讯
FLASH与ASP通信原理入门 3 ASP中基本的
FLASH与ASP通信原理入门 2 LV类基础讲
FLASH与ASP通信原理入门1 LoadVars类基
Flash破解与加密 
XML动态菜单 
Flash文件的破解与加密方法探秘 
养成Flash ActionScript代码编写好习惯
Flash纯脚本生成饼图 
flash 360度3D虚拟实境(cubicVR)实现
FLASH与ASP通信原理入门 8 其它通讯方
最新网络游戏:六款网游大作本周开启测
精典悬浮div代码,拖动 隐藏显示效果
77条Windows Vista特性总结
在ASP与ASP.NET之间共享对话状态(2)
QQ2007 Beta1(兼容 Windows Vista) 
熊猫烧香幕后黑手是流氓软件?
网络工程师教程 网络教程 网络工程师
游戏商称90%的游戏与Vista不兼容,Vis
著名的韩国素材网站 韩国素材大全
微软Vista日本遇麻烦 网银电邮无法使用
FLASH与ASP通信原理入门1 LoadVars类基
Flash破解与加密 
XML动态菜单 
巧用Bitmap类制作按钮
flash 360度3D虚拟实境(cubicVR)实现
FLASH与ASP通信原理入门1 LoadVars类基
Flash破解与加密 
XML动态菜单 
巧用Bitmap类制作按钮
flash 360度3D虚拟实境(cubicVR)实现
Flash纯脚本生成饼图 
如何用CSS定义表格与模拟表格 
div+css布局漫谈
电脑开机常见硬件故障大解析
解决了带javascript语句的链接全都打不

设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2007 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息