【问题标题】:Interactive 3D visualization on browser浏览器上的交互式 3D 可视化
【发布时间】:2014-12-06 23:28:15
【问题描述】:

我正在尝试创建一个网站,用户可以在其中通过浏览器在 3D 环境中查看房间家具并与之互动。现在,我不希望从头开始创建任何东西,如果可以在现有开源工作的基础上进行构建的话。到目前为止,我的研究表明:

  1. 我可以构建的最成熟的开源项目,它允许我在浏览器上显示 3D 场景并让用户与之交互,使用 Java3D 进行浏览器视图,封装在一个 Java 小程序 (sweethome3Dviewer) 中。
  2. Java 3D 本身似乎已经过时,大多数人推荐 HTML5+WebGL(不幸的是,我找不到任何已开发的解决方案)。

以下是我对本论坛的问题: 1) 使用基于 Java3D 的方法有什么严重的缺点吗? 我在这里谈论任何缺点,例如:“它太慢了”; “它不稳定”; “受并发用户数限制”等 2) 如果不是基于 Java3D 的,你会建议我从什么开始和构建?

请注意我不喜欢重新发明轮子!

【问题讨论】:

    标签: html three.js webgl java-3d


    【解决方案1】:

    是的,今天使用 Java 小程序有一个严重的缺点:它们很可能根本无法工作。

    最大的问题是 Java 安全系统,它旨在防止像小程序这样的程序访问您计算机的其他部分(修改文件、运行其他非沙盒程序等),有 安全漏洞的历史。由于这段历史,人们普遍认为允许 Java applet 根本不是当今可接受的安全策略。因此,很多浏览器默认忽略或禁用了Java插件。

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

    因此,使用 Java applet 不是一个好的选择:您的 applet 永远不会为许多用户工作,而那些为它工作的用户正在承担不必要的安全风险。


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

    【讨论】:

    • 我同意您的第一句话,因为大多数 Web 浏览器将停止支持 Java 插件 2 所依赖的 NPAPI,而且这个插件已经被破坏了。我在 2006 年停止使用小程序。然而,WebGL 并不是万能药:gouessej.wordpress.com/2012/06/22/…
    • 那篇文章很老了。例如,它提到微软选择不支持 WebGL。那是假的。 IE11 附带 WebGL。
    • 不幸的是,2014年的大部分文章仍然如此,特别是关于众多显卡的黑名单以及英特尔硬件的性能不佳。最初,微软声称它不会在 Internet Explorer 中支持 WebGL,后来它改变了主意,但我在 2012 年写的内容是 100% 正确的。此外,你忘了说这个 Web 浏览器部分支持 WebGL,而且只是从 10 月开始2013.
    • 所有 - 非常感谢您的回复。使用 Java3D 方法确实不是面向未来的,因此我们已致电使用 webgl 开发产品。然而,我们确实希望使用 Java3D 开发一个快速原型,因为这似乎是一个唾手可得的果实。将让您随时了解我们的进展。再次感谢您的宝贵回复。
    • 你是对的,这不是面向未来的。在我看来,如果您不想在使用 Java3D 创建(快速)原型时浪费大量时间,请不要使用 Java Webstart 和/或小程序。也许您可以看看一些允许用 Java 编写代码并使用 Javascript 进行部署的解决方案,例如带有 GWT/WebGL 后端的 LibGDX。我也打算用 Bck2Brwsr 做一些实验:wiki.apidesign.org/wiki/Bck2Brwsr
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-13
    • 2012-03-23
    • 1970-01-01
    • 2020-12-15
    • 1970-01-01
    相关资源
    最近更新 更多