three.js - 将 Material 应用于 A 形框架中的 Collada 网格

标签 three.js collada aframe

我正在尝试将 Material 应用于 A 框架中的自定义 3D 网格(基于 Three.js),但它不起作用(即模型保留其原始 Material )任何想法可能是什么问题?

在我的场景中,“ruban4”是从 Blender 导出的随机 Collada 模型。

<a-scene>
    <a-assets>
        <a-asset-item id="ruban" src="ruban4.dae">
    </a-assets>
    <a-collada-model 
                     src="#ruban"
                     material="shader: flat; color: #93d400;"
                     position=" 10 10 0">
    </a-collada-model>
</a-scene>

更新:似乎是 Collada 特有的,与 .obj 和 .mtl 配合良好

最佳答案

Collada 模型应被视为黑匣子。如果您想修改模型或其纹理,您应该在您选择的 3D 包中进行操作。 Collada 模型通常包含多个几何图形、动画、纹理和贴图(它们导入完整的子场景)。 aframe Material 不适用,因为它无法以可预测的方式完成。哪个纹理将被替换? Aframe 需要了解作者的意图。

OBJ 之所以有效,是因为该格式描述了简单的几何形状,并且可以以可预测的方式应用 Material 。

关于three.js - 将 Material 应用于 A 形框架中的 Collada 网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36519632/

相关文章:

javascript - 检测 Object3D 是否正在接收阴影 (r86)

javascript - Three.js/Collada : this. Geometry3js.computeCentroids() 未定义

安卓科拉达

python - 如何让 PyC​​ollada 向同一场景输出多个网格?

javascript - Three.js:无法补间对象位置var(出现空错误),但对象本身实际上可用

three.js - 如何将渲染从three.js 转换为.png 文件?

three.js - 闪烁的飞机

javascript - Mozilla AFRAME a-frame 通过按钮单击而不是击键启动检查器

javascript - 如何在 WebVR/A-Frame 中监听 Android Chrome 上的点击事件?

three.js - 如何在运行时在框架中加载3D对象?