three.js - EdgesHelper loses its mesh when scene is rotated -
i've drawn mesh edgeshelper. when rotate scene using mouse, edges seems react twice fast mesh. result edges don't "fit" around mesh anymore when scene rotated.
what doing wrong ?
<html> <body onmousemove="bmousemove(event);"> <script src="three.min.js"></script> <script> var prevx = 0, prevy = 0; var scene = new three.scene(); var camera = new three.perspectivecamera(75,window.innerwidth/window.innerheight, 1,10000); var renderer = new three.webglrenderer(); renderer.setsize(window.innerwidth, window.innerheight); document.body.appendchild(renderer.domelement); geometry = new three.boxgeometry( 10, 20, 40, 1, 1, 1 ); material = new three.meshbasicmaterial( { color: 0xff0000 } ); object = new three.mesh( geometry, material ); edges = new three.edgeshelper( object, 0xffffff ); camera.position.z = 100; scene.add( object ); scene.add( edges ); render(); function render() { requestanimationframe(render); renderer.render(scene, camera); } function bmousemove(e) { if (prevx == 0) { prevx = e.clientx; prevy = e.clienty; } scene.rotation.y += (e.clientx - prevx) / 100; scene.rotation.x += (e.clienty - prevy) / 100; prevx = e.clientx; prevy = e.clienty; } </script> </body> </html>
i'm using version r71 under windows 7
yes, consequence of how edgeshelper
(and of other helpers) have been implemented.
if want use edgeshelper
, have adhere 2 rules:
edgeshelper
must added scene, directly.the
scene
can't have transform applied (for example, rotated).
consequently, have rotate mesh, instead.
three.js r.71
Comments
Post a Comment