Html 基于浏览器的交互式三维可视化

Html 基于浏览器的交互式三维可视化,html,three.js,webgl,java-3d,Html,Three.js,Webgl,Java 3d,我正在尝试创建一个网站,用户可以在浏览器中查看三维环境中的房间家具并与之交互。现在,我不想从头开始创建任何东西,如果有可能在现有的开源努力的基础上进行构建的话。到目前为止,我的研究表明: 我所能建立的最成熟的开源项目,允许我在浏览器上显示3D场景并让用户与之交互,使用Java3D作为浏览器视图,封装在java小程序(sweethome3Dviewer)中 Java3D本身似乎已经过时了,大多数人都推荐HTML5+WebGL(不幸的是,我找不到任何开发出来的解决方案) 以下是我在论坛上的问题: 1

我正在尝试创建一个网站,用户可以在浏览器中查看三维环境中的房间家具并与之交互。现在,我不想从头开始创建任何东西,如果有可能在现有的开源努力的基础上进行构建的话。到目前为止,我的研究表明:

  • 我所能建立的最成熟的开源项目,允许我在浏览器上显示3D场景并让用户与之交互,使用Java3D作为浏览器视图,封装在java小程序(sweethome3Dviewer)中
  • Java3D本身似乎已经过时了,大多数人都推荐HTML5+WebGL(不幸的是,我找不到任何开发出来的解决方案)
  • 以下是我在论坛上的问题: 1) 使用基于Java3D的方法是否有严重的缺点? 我在这里谈论任何缺点,例如:“它太慢了”;“不稳定”;“受并发用户数量限制”等。 2) 如果不是基于Java3D的,你会建议我从什么开始并建立在什么基础上


    请注意我不想重新发明轮子

    是的,现在使用Java小程序有一个严重的缺点:它们很可能根本不起作用

    最大的问题是,Java安全系统旨在防止小程序等程序访问计算机的其他部分(修改文件、运行其他未打包的程序等),它有一个安全漏洞的历史记录。由于这段历史,人们普遍认为,允许Java小程序在当今是不可接受的安全策略。因此,许多浏览器在默认情况下会忽略或禁用Java插件

    还有一些浏览器根本就没有Java浏览器插件,比如Android和iOS设备上的浏览器。除了安全风险之外,还有一个问题,即Java在web内容方面“重量级”——对于便携式设备来说,它可以被视为对有限资源的浪费

    因此,使用Java小程序并不是一个好的选择:您的小程序永远不会为许多用户工作,而它所服务的用户正在承担不必要的安全风险



    另一方面,WebGL“只是”另一个基于JavaScript的API,它只做图形,而不做很多其他必须由“securitymanager”元素关闭的事情。WebGL存在固有的风险(GPU驱动程序不是最安全的东西),但在目前的情况下,WebGL不太可能仅仅被关闭而不是被修复,如果发现问题。

    我同意你的第一句话,因为大多数web浏览器将不再支持Java插件2所依赖的NPAPI,而且这个插件已经坏了。我在2006年停止使用applet。然而,WebGL并不是万灵药:那篇文章已经很老了。例如,它提到微软选择不支持WebGL。那是假的。IE11随WebGL一起发布。不幸的是,文章的大部分内容在2014年仍然适用,特别是在众多图形卡被列入黑名单以及英特尔硬件性能不佳的问题上。起初,微软声称它不会在IE浏览器中支持WebGL,后来改变了主意,但我在2012年写的是100%正确的。此外,您忘了说WebGL在该web浏览器中部分受支持,而且仅从2013年10月开始。非常感谢您的回复。使用Java3D方法确实不是未来的证明,因此我们已经接到了使用webgl开发产品的电话。然而,我们确实希望使用Java3D开发一个快速原型,因为这似乎是一个很容易实现的结果。我们会让你们了解我们的最新进展。再次感谢您的宝贵回复。您是对的,这不是未来的证明。在我看来,如果您不想在使用Java3D创建(快速)原型时浪费大量时间,请不要使用JavaWebStart和/或小程序。也许您可以看看一些允许使用Java编码并使用Javascript部署的解决方案,例如带有GWT/WebGL后端的LibGDX。我还计划用Bck2Brwsr做一些实验: