动态改变外部加载Collada文件中的Three.js纹理
Dynamically Change Three.js texture in externally loaded Collada file
我使用three.js collada加载器导入一个带有纹理(.png)图像的.dae文件。我需要用新的纹理覆盖。png文件,并使用画布元素创建此纹理,导出为。png格式。如果我清除缓存,它将改变纹理(我将导出的"新"。png纹理命名为与。dae文件中引用的原始。png纹理相同的文件名)。
我如何确保新的纹理被识别/渲染而不让用户清除他们的缓存?示例:用户创建了一个新的纹理,它被导出到原始纹理上,用户点击按钮渲染框后collada文件重新渲染
一旦你有一个Javascript图像对象在内存中,不管来源如何,你可以通过.image
属性将它分配给你的对象的"材料"纹理。你需要让thres .js知道如何修改绑定。例如,如果您有一个名为img
的新图像和一个名为mesh
的网格,其典型材质为:
mesh.material.map.image = img;
mesh.material.map.needsUpdate = true;
就可以了。不需要将DOM元素以。png格式发送到磁盘,只需使用它。
相关文章:
- 在Three.js中导出网格会提高性能吗
- 如何在three.js上添加两个向量
- Three.js Points Rotation
- 无法读取属性'材料'未定义的Three.js
- Potree/Three.js测量问题
- Three.JS OBJ模型未显示
- 有没有一种方法可以获得three.js的最小/lite版本
- JS和three.JS,在浏览器中进行参数测试
- 参数列表Three.js之后的未捕获语法错误:缺少)
- 如何在three.js中有效地使用TraingleStripDrawMode
- 通过拖动可以更改三维模型对象在Three.js场景中的位置
- three.js:如何让透明的png精灵投射和接收阴影
- Three.js更改材质
- three.js EffectComposer's渲染目标
- 单击以将相机放置在Three js中的对象附近
- Three.js Three.投影仪已移至
- THREE.js轨道控制不工作
- Three.js,WebGL,渲染六幅图像的全景图
- 如何在three.js中为三角形添加纹理
- Three.js CanvasRenderer,在将图像纹理设置为平面时出现问题