请选择 进入手机版 | 继续访问电脑版
收藏本站腾讯微博新浪微博
点点网模板设计大赛 phpchina

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 用悬赏 三天解决问题 解决访问速度慢 论坛支持农历生日 - 给官方提建议

论坛活动及任务 归纳网站最新活动 地图任务 邮件更新任务:保护帐号安全

积分换实物,来参加蓝色理想积分兑换吧! 联系招聘客服 蓝色理想帮你找工作! 万元奖励等你拿——点点网模板设计大赛

查看: 23887|回复: 26

[AS1&2] 基于flash的360虚拟现实引擎(cubicVR)实现原理 [复制链接]

hxgenius 楼主
帖子
86
体力
806
威望
69
发表于 2007-2-1 10:09:03 |显示全部楼层
flash 360度3D虚拟实境(cubicVR)源代码及其实现原理
  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视角

http://blogbeta.blueidea.com/UploadFiles/2007-1/131904388.swf


原理:
1.1点透视与投影
  通过1点透视来产生远小近大的变化以产生空间感,在cubicVR中,设想观察者camera在一个正六面体中央,通过一点透视来计算每个面的在空间投影中的位置,以产生透视效果。
  demo:没有导入透视方程的情况:


http://blogbeta.blueidea.com/UploadFiles/2007-1/131747091.swf

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

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

[ 本帖最后由 hxgenius 于 2007-2-1 10:17 编辑 ]
已有 1 人评分威望 收起 理由
mirycat + 3 原创内容

总评分: 威望 + 3   查看全部评分

西部数码顶级域名注册商39元抢注!
jevin 

小丑鱼

银牌会员

帖子
1562
体力
5411
威望
0
发表于 2007-2-1 10:11:09 |显示全部楼层
真强啊 不过多看了 非常头晕
xhtml/css/Ajax/AS/php/mysql你才是程序员,你家全是程序员 -__-
租服务器,上51IDC | [长沙]招聘:PHP经理10K/WEB前端6K/PHP开发6K

使用道具 举报

小小菜鸟

钻石会员

帖子
3095
体力
10742
威望
0
发表于 2007-2-1 10:27:48 |显示全部楼层
给个源代码看看撒

使用道具 举报

海盗没有船

初级会员

帖子
75
体力
604
威望
0
发表于 2007-2-1 10:37:14 |显示全部楼层
看不懂迷糊~~!

使用道具 举报

cnxcs 
帖子
694
体力
2544
威望
0
发表于 2007-2-1 10:46:27 |显示全部楼层
不错,好东西.

使用道具 举报

hxgenius 楼主
帖子
86
体力
806
威望
69
发表于 2007-2-1 10:57:08 |显示全部楼层
要源代码就自己下了swf反编译吧
论坛没法上传大于500k的东西

使用道具 举报

楚越

银牌会员 手机认证 

帖子
2101
体力
2420
威望
3
发表于 2007-2-1 14:38:45 |显示全部楼层
这个全景技术应该是老早就有的了,
看看city8实景地图

使用道具 举报

帖子
90
体力
171
威望
0
发表于 2007-2-2 22:34:59 |显示全部楼层
支持楼主奉献精神!包括以前的开源相册!
向热心朋友致敬

使用道具 举报

cuiliu 

锋行天下

中级会员 手机认证 

帖子
252
体力
2767
威望
0
发表于 2007-2-2 23:13:54 |显示全部楼层
向LZ学习!LZ好象是北大的,强人~
灵感源于生活~

使用道具 举报

灰色系

银牌会员

帖子
2420
体力
2377
威望
11
居住地
湖北省 黄冈市
发表于 2007-2-2 23:17:14 |显示全部楼层
留个名,呵呵,好东西

使用道具 举报

haxe 
帖子
306
体力
751
威望
8
发表于 2007-2-3 08:47:10 |显示全部楼层
cubicVR不是已经开源了吗?

使用道具 举报

帖子
29
体力
62
威望
0
发表于 2007-2-3 10:55:36 |显示全部楼层
看晕了....

使用道具 举报

hxgenius 楼主
帖子
86
体力
806
威望
69
发表于 2007-2-3 12:58:39 |显示全部楼层
原帖由 haxe 于 2007-2-3 08:47 发表
cubicVR不是已经开源了吗?

andrew在1个月前将他的程序开源了,不过我是做完这个东西才知道的

使用道具 举报

帖子
155
体力
742
威望
3
居住地
福建省 泉州市
发表于 2007-2-4 20:31:51 |显示全部楼层
有个很好用的 FLASH 3D 引擎,有兴趣的可以去看一下, 目前是个开源项目。

http://www.flashsandy.org/

使用道具 举报

帖子
54
体力
67
威望
0
发表于 2007-2-6 14:34:22 |显示全部楼层

回复 #7 cyywill 的帖子

...........强

[ 本帖最后由 9089040 于 2007-2-6 14:36 编辑 ]

使用道具 举报

ou192 
帖子
3
体力
40
威望
0
发表于 2007-2-7 11:48:09 |显示全部楼层
好想法

使用道具 举报

帖子
243
体力
55
威望
0
居住地
广东省 广州市
发表于 2007-2-7 17:06:10 |显示全部楼层
不是很流畅,拖动出现锯齿

研究研究Pano2QTVR,他的flash vr 也算目前比较优秀的了
o.cn
girlz.cn

使用道具 举报

楚越

银牌会员 手机认证 

帖子
2101
体力
2420
威望
3
发表于 2007-2-11 01:12:33 |显示全部楼层
楼上是都市圈的呵,你们跟E都市在拼吧

使用道具 举报

hxgenius 楼主
帖子
86
体力
806
威望
69
发表于 2007-2-12 16:28:20 |显示全部楼层
锯齿是因为细分贴图数量的设置(程序中subdivx与subdivy变量)
数量越大,细分越多,锯齿就越小,而且也越占资源.

做测试用的,所以就没把细分做太多

现在所有的flashvr都是基于此原理.

使用道具 举报

帖子
1
体力
7
威望
0
发表于 2007-4-12 11:58:42 |显示全部楼层

强啊`~`

强悍的楼主,

    佩服ing`~`

使用道具 举报

帖子
234
体力
711
威望
0
发表于 2007-4-12 12:51:48 |显示全部楼层
这个东东,光看源代码没有什么意义,应该学习搂主的这套理论,有了理论基础
用什么语言实现,那就随你了
经典
确实 有 经典!

主页:
flash59.it50.net
FLASH论坛:
在首页里。

使用道具 举报

自在幻想

荣誉管理 手机认证 

帖子
601
体力
2005
威望
59
发表于 2007-4-13 02:36:56 |显示全部楼层

泼盆冷水~

这个全景真实感不够,面和面结合处的变形严重,基本不能用于商业vr领域,期待更好的vr算法
英领科技 引领潮流

使用道具 举报

hxgenius 楼主
帖子
86
体力
806
威望
69
发表于 2007-4-20 01:22:16 |显示全部楼层
原帖由 fictiony 于 2007-4-13 02:36 发表
这个全景真实感不够,面和面结合处的变形严重,基本不能用于商业vr领域,期待更好的vr算法

面与面的结合变形不是算法的原因
而是照相机的原因
我没有鱼眼镜头,相片是用手工拼接的

使用道具 举报

henlly 
帖子
464
体力
1513
威望
1
居住地
福建省 福州市
发表于 2007-5-6 20:10:04 |显示全部楼层
这种Idea现在美国非常的流行....
人生如棋, 举手无悔!!! 珍惜现在的每一分每一秒,珍惜你身边的每一个人;每一个机会. 别错过了再说后悔......

使用道具 举报

帖子
1
体力
12
威望
0
发表于 2007-6-6 23:00:07 |显示全部楼层
http://www.coffeeren.com/blog/blogview.asp?logID=182

这个加了多面效果比较直观~而且包括了圆型还有多边型~~!

使用道具 举报

帖子
7
体力
44
威望
0
发表于 2010-5-12 15:56:52 |显示全部楼层
效果不错

使用道具 举报

zlaww 
帖子
1
体力
2
威望
0
发表于 2011-6-2 16:21:34 |显示全部楼层
回复一下

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|安久科技提供CDN|blueidea.com ( 京ICP备05002321号 )  

GMT+8, 2012-2-13 10:55 , Processed in 0.395189 second(s), 9 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部