Nov
12
2009
0

浅议为何Flash 3d webgame在国内难觅踪迹

Flash 3D引擎已经普及了一年多了,可至今仍未在国内见到flash 3d Webgame(小模块上的应用忽略)。市面上不乏优秀的引擎:PV3D,AWAY3D,A3D,追捧的人也很多,为何在wg中的实际应用寥寥无几?

下面从个人角度分析一下原因:

1.性能(=.=),应该不用我白胡太多,flash cs4/cs5中宣称的硬件加速基本针对的是对视频的加速,其内置的所有3d方面的api都是cpu算的,不过性能比用自己用数学公式自己写算法快一些,最终屏幕渲染也略微提高。但是,尽管比cs3有提升,但始终改变不了软件加速的软肋,5000个多边形就可以把cpu占满。往往一个游戏引擎包括显示,AI,交互,传输,多媒体等模块,一个显示就占满了cpu,其他模块还如何运行?…而且5000个多边形能做什么?…

2.带宽,模型贴图可比2d渲染图要大得多了,这要在一个场景里得加载多半天才能渲染….

3.应用场景,由于性能限制,做大型纯3D的游戏基本不可能,如果是mmorpg类型,一般会选择2d+3d的形式来表现,对cpu和带宽压力都会小一些,但是和纯2d比,2+3有什么纯2不可比拟的优势?(作为一名非专业策划和产品人员我想不到除了骗风头以外的优势)。

4.相关团队还不够成熟,从策划到美工再到程序,和做2d游戏会有很多不同的地方,需要探索和磨合的地方还很多,现在大环境竞争很激烈,是否能像剑三那样十年磨一剑去做一款游戏对一个公司各方面的考验都很严峻,一个webgame做起来比带客户端的还要麻烦,风险和投入还要大,貌似违背了webgame的初衷,也难有公司参与进来。

5.和4有点关系,山寨太多,山寨一样挣钱,很多公司做的不是游戏而是钱,用低俗广告吸引人,骗一块是一块,谁还有功夫搞研发。

6.在底层软件(flash player)的性能限制下,确实很难,优化很累。

目前互联网上flash 3d应用较多的地方是广告,sns/web game的部分模块(可能养成类用的更多吧),小游戏等等。

以上是个人对flash 3d与web game的一点浅见,欢迎大家讨论。

ps:小做广告一下,是否有人对研发或投资类似tankionline(tankionline.com)这个游戏有兴趣可以联系我,qq:68552233

转载请注明出处

520已阅读 Written by 草衣薰 in: 3D |
Sep
10
2009
0

好久没来了

刚刚发现前一阵做的一个项目上线了,大家可以去玩玩。是一个3D涂鸦程序。

http://www.dellyouth.com/home.php

385已阅读 Written by 草衣薰 in: 3D |
Oct
28
2008
2

NewX3D 2.00正式发布啦

曲曲折折的一路过来真的感到很不容易,但是能为大家做点贡献受苦受累也值得的哈。

敢和其它任何引擎拼的演示:http://www.newx3d.cn/ 需要预先安装Flash Player 10

下面描述新版本的功能

世界首款基于ZBuffer的动态模型深度管理系统,让你不再受破面困扰(Zbuffer In Flash 3D!!!World First,perfect z sort)

场景系统(Scene System)

采用Collada DAE标准的智能模型导入系统(Intelligent Collada DAE Model Import)

消隐算法(Backface Removal)

物体剔出,考虑综合性能当前版本移出(Object Culling)

屏幕裁剪(Screen Clipping)

视景体裁剪(View Frustrum Clipping)

透明贴图(Alpha Texture)

颜色填充,alpha填充(Color And Alpha Filling)

线框引擎 (Wireframe Engine)

欧拉摄像机 (Eulerian Camera)

开源下载地址:http://code.google.com/p/newx3d/

503已阅读 Written by 草衣薰 in: 3D, Flash CS4, NewX3D, NewX更新日志 |
Oct
17
2008
4

NewX3D V1.20新特性抢先体验图

NewX3D好久没更新了,不少朋友都问我是不是不做了。其实我一直在关注这块,尤其是Flash 10正式版,结果和想象得差不多,多多少少对心情有影响,另一方面是最近工作太忙一直没有充足时间去做这个事。

在朋友们的精神支持下还是坚持下来完成了1.20版本的开发,支持如下特性:

1. 100%与Flash 10正式版兼容。

2. ZBuffer。(世界首款支持ZBuffer的Flash 3D引擎/World First Support)

与F10兼容是本引擎一贯强调的卖点,这次针对正式版API进行了修正。再则是ZBuffer,如果说pv3d开创了flash3d的先河,alternativa3d实现了静态场景的最佳处理系统BSP,那么NewX3D实现了动态场景的核心显示技术ZBuffer。

ZBuffer主要用于动态场景的深度管理及遮掩关系处理(解决破面问题,动态光影),像素级碰撞,降低多边形重复渲染率等等。

废话不多说,上图

无ZBuffer,注意看左边的破面,点击看大图

无zbuffer 注意看左边的破面

开启ZBuffer,破面没了,点击看大图

开启zbuffer,破面没了

 

因为此次更新对整个框架变动很大,还需要经过优化调整才能放出,我会及时通知,敬请关注。

转载请注明出处 www.newx3d.cn 谢谢大家对本站的关注

833已阅读 Written by 草衣薰 in: 3D, Flash CS4, NewX3D, NewX更新日志 |
Oct
15
2008
0

Flash CS4再次打击3D开发者的信心-代表adobe囧囧囧死你们

      一直听说cs4有个调用opengl硬件加速的pixel bender,可以生成pbj脚本文件供swf调用,那就是说swf可以采用间接的硬件加速。于是乎满心欢喜的翻出来看,哇,向量运算,矩阵运算果然都有挖,3D引擎需要的基本运算函数都有了,想想如果把数据源传到pbj里面用gpu来处理,再把结果返回给swf,那多爽阿。

      费了m牛n虎之力,终于把鸟语文档搞定了,然后开始码代码,做了一个最简单的坐标变换,我x,怎么输出结果,output只支持Pixel输出。。。。我立马就囧囧囧囧囧囧囧了。。。

      衡是这玩艺就是给2D图像做滤镜用的,adobe压根没打算把它用在3D上。。。。。

      兄弟们,醒醒吧,硬件加速再次扯淡了一回,咱还是老老实实盼着sl把flash11逼出来吧。。。。。m$加油瓦

      转载请注明出处 www.newx3d.cn 谢谢大家对本站的关注

1,283已阅读 Written by 草衣薰 in: 3D, Flash CS4 |
Sep
28
2008
0

什么是大忽悠

Flash 10 3D就是大忽悠。所有想做web3d的朋友们请慎重。有朋友希望我做一款商业引擎,但是api上的限制实在太多了,难度很大,结果未知,很有可能轱辘下去就上不来。。。 再次友情提示:慎重。

442已阅读 Written by 草衣薰 in: 3D |
Sep
19
2008
0

3D原理教程-多边形排序原理-破面是如何产生的

最近看帖子,不少人都提到自己的模型总是会莫名其妙缺一块黑一块,这也是俗称的破面(不知道哪位大哥发明的),从不同的视角看破面也是不同的。每个人都会有自己的方法去解决(其实应该是规避)。我在开发NewX3D的时候也遇到了这个问题,在这里和大家分享一下自己的心得。

    一般的模型是由多个三角形构成,所以我们可以把一个3d场景看作多个多边形的组合。假设有这样一个场景,一个没有窗户的屋子,屋里有一张桌子,这时你站在屋外向屋子忘去,必然只能看到屋子的外墙和门,而不可能看到里面的桌子。但是在3d软件渲染中,一切都是基于多边形的操作,没有桌子和屋子的概念,如果你只是简单的把多边形投影到屏幕上的话,可能会出现这样的情况:你先看到了桌子,桌子后面是屋子…实际渲染的场景和真实世界的场景是不一致的,这就产生了问题,如何保证只看到墙而看不到墙里面的桌子?

    由于每个三角形都有三个顶点,顶点中又拥有深度值z,如果我们取出一个多边形,将它三个顶点的z值相加再除以3,得到一个平均数,然后将这个平均数当作多边形的z值,命名为avgZ,这样我们就能确定这些多边形的前后顺序。在光栅化阶段(也就是渲染阶段),让这些多边形按照avgZ的递减顺序(z越小说明离视点越近),先渲染avgZ大的多边形,再渲染avgZ小的多边形,这样就可以正确的显示场景。还是刚才的场景,假设屋子的前墙的avgZ=1 桌子的avgZ=50 屋子的后墙的avgZ=100,这样根据刚才说的方法,先渲染了后墙,然后渲染桌子,最后渲染前墙,这样前墙的纹理自然会盖住桌子的纹理,OK,看看是不是和真实场景一致。这种方法叫做画家算法(Painter’s Algorithm)也可以称作z-sort。
    一般情况下画家算法都是有效的,但是仍有一些特殊情况使他进行错误的渲染。如图
n2.jpgn1.jpg
   当一个三角形被另一个分割时,很明显需要分三次渲染才能正常显示,但是画家算法不具备分割三角形的能力,所以一定会有一块被分隔的区域无法显示。当多个三角形叠加,由于avgZ是一个平均值,可能实际在最上面的三角形的avgZ低反而被引擎认为它在最下面,产生错误的叠加顺序。这就是破面的主要原因。

    很多同学都发现了除了a3d以外的引擎都会在某些模型上出现了破面的现象。这是因为基于Pv3d的引擎全部采用了画家算法,而a3d采用了bsp。
    解决破面有2个方法,一个从模型入手,尽量减少模型中多边形贯穿和叠加的情况,另外一个从引擎入手,提供z缓冲或bsp排序系统完美解决画家算法的不足,这将在以后的教程中深入讲解,希望大家踊跃讨论提出自己的看法和意见。
    转贴请注明出处http://newx3d.cn/blog/

1,289已阅读 Written by 草衣薰 in: 3D, NewX3D |
Jul
25
2008
0

当前问题汇总及1.1版目标

1.比flex_sdk_3.1.0.2455更新的版本会报与vector3d有关的错误

2.amd cpu会占用100% intel cpu则表现正常

3.个别电脑会报constclass不是编译时常量的问题

以上问题是由于sdk和beta版player不完善造成,请使用3.0.2455或更早的sdk开发并经常性更新svn。

至于定义重复一类的警告不要去管它

1.1版目标:

基于flex 3.2.0.2601版开发

优化算法,提高整体性能

中文API文档

466已阅读 Written by 草衣薰 in: 3D |
Jul
24
2008
2

NewX3D开源了

项目代号:NewX3D (该代号引起群内兄弟共鸣,感谢魔鬼的祖父制作的经典Logo)
项目内容:基于Flash 10 Astro的Flash 3D引擎,本引擎架构设计及算法与当前主流3D引擎皆不相同,希望能够从另一个角度处理3D功能,来实现其他引擎无法实现的一些功能(bt功能除外)。
我们的优势:
1.架构清晰,基于多边形和顶点的操作,易于扩展。
2.国人开发,会不断写出开发教程,引导广大developer共同维护和扩展此引擎,国外引擎往往只提供教程教你如何使用api而不是扩展api,在功能上往往受其限制,同时老外也不提供业务流程及算法说明,自己扩展无异于异想天开。
3.全中文文档,使你不再因为英语水平问题对3D应用望而却步。

本项目还有很多的不足,需要热情的你参与,一起打造一款性能优异功能齐全的引擎,更重要的是这是我们自己的引擎。

项目BLOG:     http://newx3d.cn/blog
google code:  http://code.google.com/p/newx3d/

demo演示地址 : http://newx3d.cn  没有安装flash10插件的请到google code里面下载

如要加入此项目或对其关注,请联系我

我的联系方式:
EMAIL:       machaoii@263.net
MSN:           machaoii@hotmail.com
QQ:           68552233

 

点击小图查看性能截图性能及消耗

459已阅读 Written by 草衣薰 in: 3D |
Jul
23
2008
3

项目正式建立并更名为NewX3D

此名称仅出于恶搞目的 并非本人嚣张觉得自己nx=。=
感谢群内人员给与的支持,尤其是Logo的设计支持

hoho

目前正在进行代码整理 周内即可上线

google code :http://code.google.com/p/newx3d/

843已阅读 Written by 草衣薰 in: 3D |

Powered by WordPress | Aeros Theme | TheBuckmaker.com WordPress Themes