我打算制作一个web应用程序,该应用程序可以通过拖动来显示3d环境(根据平台的不同使用手指或鼠标)。这个web应用程序将提供开发站点的3d环境,包括等高线、水管位置、建筑物等。
我正在努力决定使用何种技术/库来创建一个Web应用程序,该应用程序将在Android浏览器、iOS-Safari、IE9、Safari、火狐和Chrome上工作。还有什么技术能提供发展的速度。我知道这是“要蛋糕也要吃”/“求月亮”,但我不知道所有的技术--所以可能有一些高级图书馆可以在许多网络环境中呈现3d环境--包括主要的智能手机浏览器,但我不知道它们。
3d渲染不会是高度详细的建筑物或具有效果的水,而是这些物体的简单的三维表示。环境可以通过拖曳来导航,你可以分层次观看景观(只查看等高线,只查看地下管道,只查看污水管道,等等)。
我倾向于使用浏览器驱动的Web,因为我获得了跨平台能力(它甚至可以通过使用兼容的浏览器在linux和MacOS上工作)。另外,我知道CSS3转换可以创建能够在3d空间中旋转的多维数据集(注意,只适用于WebKit浏览器-所以没有IE :( )。但是我不知道CSS3是否足够健壮来渲染整个3d环境?你觉得可以吗?也许我可以用HTML5画布来做这个?谷歌地图能创建定制的3d地图吗?
发布于 2012-04-11 06:17:08
正如Raynos所提到的,WebGL是在浏览器中提供3D功能的一种方式。缺点似乎是几乎没有IE支持,我也听说人们在跨浏览器的不同实现上遇到困难。我也不确定WebGL是否会“提供开发速度”,但我想这取决于您对3D概念和OpenGL的熟悉程度。
我发现这篇文章来自Opera的开发站点是对WebGL的更好的介绍之一,尽管现在它可能有点过时了。
另一种选择可能是统一3D,它在主要的桌面OSes和浏览器(编辑: Linux除外,AFAIK)上支持一个网络播放器,但需要作为插件安装。这将禁止将其用作面向公众网站的技术,因为您将失去大多数用户。另外,我认为他们不支持智能手机浏览器,但do有iOS和安卓本地应用程序导出工具(所以,您可以编写一次代码,并针对不同的平台进行编译)。如果你的用户主要是付费客户,我认为他们有可能愿意安装网络播放器或本地应用程序,但你必须打电话。你不能得到一个更快速的3D开发环境,然而,United3D是一个非常精巧的游戏引擎,它为你做了很多事情。
发布于 2012-04-11 09:02:23
如果你愿意涉足闪存,就有开源的Papervision3d。这可能会加速发展,但这同样意味着移动设备(至少是iOS)会出现问题。有一种叫做的东西可以反驳这一点,但我不能保证它在交互式应用程序中是否能很好地工作。
就多平台上的支持而言,HTML5画布可能是您的最佳选择。这里有3d库可供使用,但我对它们还不太熟悉,无法提供建议。
发布于 2012-04-11 09:12:15
最好的选择可能是Java (或者可能是)。Java有Java3D来渲染3D,它甚至可以使用HW加速。缺点是您需要一个(当前的) Java插件,但是目前没有插件就没有解决方案。
从长远来看,HTML5 + WebGL可能是你最好的选择,尤其是WebGL还在阿尔法,还没有真正准备好投入生产。
https://softwareengineering.stackexchange.com/questions/143887
复制相似问题