diff --git a/web/src/containers/Model2D/Canvas2D/Index.jsx b/web/src/containers/Model2D/Canvas2D/Index.jsx index b4659b58..fe059f61 100644 --- a/web/src/containers/Model2D/Canvas2D/Index.jsx +++ b/web/src/containers/Model2D/Canvas2D/Index.jsx @@ -27,6 +27,7 @@ class Index extends React.Component { this.setupPanControls(); this.animate(); + this.renderScene(); this.group.add(new PrintablePlate(new THREE.Vector2(150, 120))); window.addEventListener('resize', this.resizeWindow, false); } @@ -67,6 +68,7 @@ class Index extends React.Component { this.panControls.addEventListener( 'panning', (event) => { + this.renderScene(); // 比较卡 // const {x, y} = event.object.position; // this.props.updateTransformation("x", x, false) @@ -118,9 +120,14 @@ class Index extends React.Component { this.node.current.appendChild(this.renderer.domElement); } + renderScene = () => { + this.renderer.render(this.scene, this.camera); + }; animate = () => { this.renderer.render(this.scene, this.camera); - requestAnimationFrame(this.animate); + setTimeout( ()=> { + requestAnimationFrame( this.animate ); + }, 200); }; getVisibleWidth() { @@ -154,6 +161,7 @@ class Index extends React.Component { } this.camera.position.z = z; this.camera.updateProjectionMatrix(); + this.renderScene(); }; this.renderer.domElement.addEventListener('mousewheel', mousewheel, false); diff --git a/web/src/containers/p3d/ui/Canvas3D/Index.jsx b/web/src/containers/p3d/ui/Canvas3D/Index.jsx index 5c1d2037..55e8a19c 100644 --- a/web/src/containers/p3d/ui/Canvas3D/Index.jsx +++ b/web/src/containers/p3d/ui/Canvas3D/Index.jsx @@ -68,6 +68,7 @@ class Index extends React.Component { const model = event.object; this.props.selectModel(model); // this.panControls.select(model); + this.renderScene(); } ); } @@ -93,6 +94,7 @@ class Index extends React.Component { this.msrControls.addEventListener( 'move', () => { + this.renderScene(); // console.log("move") // this.updateTransformControl2D(); } @@ -169,11 +171,17 @@ class Index extends React.Component { this.scene.add(this.group); this.node.current.appendChild(this.renderer.domElement); + this.renderer.domElement.addEventListener('wheel', this.renderScene, false); } - animate = () => { + renderScene = () => { this.renderer.render(this.scene, this.camera); - requestAnimationFrame(this.animate); + }; + animate = () => { + this.renderScene(); + setTimeout( ()=> { + requestAnimationFrame( this.animate ); + }, this.props.tap == 'TAP_P3D' ? 30 : 1000); }; getVisibleWidth() {