0

-规格-

three.js 版本:r84(现在)

设备:iPad Air2

iOS版本:10.0.2

浏览器:Chrome、Safari

-glTFLoader-

网址:https ://threejs.org/examples/#webgl_loader_gltf

怪物 -> 不显示

其他 -> 显示

我为什么要问这个问题?

我的自制模型也有同样的问题。我的模型是通过以下过程导出的。

  1. MODO 的建模、UV、蒙皮和动画
  2. MODO 出口的 Collada
  3. 通过 COLLADA2GLTF 工具从 Collada 转换 glTF

我的模型在 Windows 和 macOS 上显示,但在 iOS 上不显示。所以,我的情况与示例相同。

有显示它的规则吗?

附言

我没有新的 Android 设备。我不检查Android...

4

1 回答 1

2

原因是最大数量的骨头。

如果我们使用的骨骼数量超过操作系统支持的数量,WebGL 渲染器会输出“too many uniforms”错误。

我听说 iOS (10.x?) 支持 22 个骨骼(Phong 着色)或 22 个骨骼(Lambert 着色)。

此问题已在 github 上列出。

https://github.com/mrdoob/three.js/issues/7807

一个简单的解决方案是我们使用少于 22 个骨骼。

嗯……对于人体模型等等来说,这是一个小数字。

谢谢 Marco13 和大家。

笔记:

Monster模型有32块骨头。(我的自制模型有 52 块骨头(!)。)

我能够学习如何使用 iOS safari + macOS safari 进行调试。

以下是Monster模型的日志。

在此处输入图像描述

在此处输入图像描述

于 2017-02-10T05:59:06.653 回答