【问题标题】:Three.JS model viewer feasible in phonegap?三.JS模型查看器在phonegap中可行吗?
【发布时间】:2013-07-30 13:26:41
【问题描述】:

我正在尝试在 phonegap 应用程序中制作一个非常简单的 3D 模型查看器,以便在 iPhone 4 上使用。我正在使用three.js,当我制作一个简单的网站时它运行良好。问题是当我在手机上试用时,3D 对象没有出现。像立方体和圆柱体这样简单的几何形状会加载到画布上,但 obj 文件不会。

我使用 objLoader 来引入 .obj 文件,并将所有相关文件放在应用程序的同一目录中,以防万一。我认为问题可能在于在 iOS 上使用 webGL,但我不太确定。

非常感谢您的帮助。如果有人对在 phonegap 中构建模型查看器以在 iOS 中显示有任何建议,我会很高兴听到这些建议。

【问题讨论】:

  • 有人有什么想法或建议吗?我真的被困住了。

标签: ios model cordova three.js viewer


【解决方案1】:

由于目前很少有mobile browsers support WebGL,我选择使用画布来渲染 3D 模型。我使用简单的web 3D object viewer called JSC3D 在 iOS 上的 PhoneGap 中创建模型查看器。它可以使用 webGL,但我只是使用 2D 画布进行渲染。

我在 iPhone 4 上测试了我的应用程序,结果是模型加载需要 2 到 5 秒,当您旋转对象时,需要一些时间来重新绘制它,具体取决于它的复杂程度。虽然不是最令人满意的结果,但它确实完成了这项工作。我将在更高级的 Android 手机上试用它,我会告诉你结果。

【讨论】:

    【解决方案2】:

    如果您为 iphone 打包,我建议您尝试使用 XDK Intel,但对于 android 使用 AIDE Phonegap。确保只使用var renderer = new THREE.CanvasRenderer();并避免使用 除了 BB Playbook 和 BB 10 之外,大多数设备都不支持与 WebGL 相关的任何内容。

    【讨论】:

      【解决方案3】:

      我觉得IOS渲染能力比安卓好,有些场景在IOS渲染不错,而在安卓不行。

      通常,移动应用比移动应用具有更多的渲染能力。我用firefox渲染了three.js obj demo,效果很好。但是当我在应用程序中使用 webview 时,它什么也没有呈现。

      我制作了一个 Android 应用来渲染 stl 模型。首先,当我使用移动浏览器渲染场景时,它不会渲染整个场景,当我移除阴影效果时,它会渲染。然后我尝试将 webview 与 WebGlRenderer 或 CanvasRenderer 一起使用,没有用。最后我参考了crosswalk的XWalkView,一个web引擎,可以作为app的插件,代替webview,我也关闭了阴影效果,渲染效果很好。

      您可以参考此answer 了解更多信息。

      这是渲染结果。

      【讨论】:

        【解决方案4】:

        你绝对不应该使用 three.js 的 WebGL 渲染器,因为它在 iOS 上不受支持。试试 Canvas 或 SVG 渲染器。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-03-09
          • 2017-07-17
          • 1970-01-01
          • 1970-01-01
          • 2019-10-05
          • 2021-11-07
          • 2010-09-28
          相关资源
          最近更新 更多