我正在尝试构建一个使用3D进行图像处理并返回一个全新图像的messenger bot。我使用THREE.CanvasRenderer,我的应用程序托管在Heroku上。使用节点在THREE.js中加载纹理使用节点
当用户/ POST附件到我的webhook时,我想采用新创建的图像的URL并将其插入到我的3d场景中。
这是我的代码(使用节点帆布库):
const addTexture = (imageUrl) => {
request({
uri: imageUrl,
method: 'GET'
}, (err, res, body) => {
let image = new Canvas.Image();
image.src = body;
mesh.material.map = new THREE.Texture(image);
mesh.material.needsUpdate = true;
});
}
回调函数被运行,其实我可以console.log()
图像的内容,但没有在现场展示了 - 飞机我应该渲染只是变得黑色没有任何错误...我在这里错过了什么?
我也尝试过其他几种方法,没有任何成功...
我尝试使用THREE.TextureLoader
与jsdom修补它(模拟document
,window
)和node-xmlhttprequest
,但随后出现的错误与我load
事件(事件.target没有被定义...)就像in this example
应该如何解决这个问题?我有一个由Facebook生成的url
,我想从它下载图像并将其放置在我的场景中?
您使用的是什么版本的three.js? – Wilt