【发布时间】:2015-09-19 19:09:22
【问题描述】:
我试图在与鼠标交互时动态更改 material.map.image.src,但每次设置新图像时,图像加载时场景都会抖动。为了在最坏的情况下显示问题,我已将更改与 onMouseMove 事件联系起来。
这里有一个工作紧张的例子:Example
我在 onMouseMove 事件中执行此操作,这可能是错误的方法,而且我的代码很粗糙,因为我尝试学习 javascript 以使用 three.js:monkey see, monkey do style。
谁能帮我让 intersects[i].object.material.map.image.src = "/images/maisy.jpg"; 在后台工作...? p>
function onMouseMove(e) {
e.preventDefault();
mouse.x = (event.clientX / window.innerWidth) * 2 - 1;
mouse.y = -(event.clientY / window.innerHeight) * 2 + 1;
raycaster.setFromCamera(mouse, camera);
var intersects = raycaster.intersectObjects(scene.children);
for (var i = 0; i < intersects.length; i++) {
intersects[i].object.material.map.image.src = "/images/maisy.jpg";
exit; // ensures foreground object is adjusted and not all behind it.
}
}
这对你们来说可能很明显,但我花了一些时间才走到这一步,现在我很难过。
非常感谢所有阅读的人,
詹姆斯
【问题讨论】:
标签: javascript image three.js render on-the-fly