three.js 貼圖時一直報"DOMException: Failed to execute 'texImage2D' on 'WebGLRenderingContext': Tainted canvases may not be loaded.",
這是因為canvas在畫圖時會圖片存在跨域,但是在three.js中並沒有進行處理,所以是可以通過修改three.js源碼,設置 image.crossOrigin=''; 處理canvas的跨域問題 具體步驟如下:
1. 找到 threejs 源碼 threejs.module.js 文件 打開
2. CTRL + F 查找到 ImageLoader.prototype
3. 到 ImageLoader.prototype 類的 return 之前(向下滑)
在紅框處 加上一句 image.crossOrigin=''; 保存, 就解決了跨域問題