ThreeJS 学习笔记

去掉图片大小检测的warnning

texture.minFilter = THREE.LinearFilter;

链接

释放内存

componentWillUnmount 时,要 cancelAnimationFrame;

另外也最好 dispose 掉 scene 下所有子组件的 geometry 和 material

 cancelAnimationFrame(this.id);// Stop the animation    this.renderer.domElement.addEventListener('dblclick', null, false); //remove listener to render    this.scene = null;    this.projector = null;    this.camera = null;    this.controls = null;    empty(this.modelContainer);

再看 animate

function animate() { 
requestAnimationFrame( animate ); 
renderer.render( scene, camera ); 
}
 animate(); 

以前理解在threejs中必须要每帧不断render才有图像,其实是不对的。也可以只renderer.render( scene, camera );一次,那么就是一张静止的图像,OrbitControls 下任何交互(缩放、旋转等)都不生效。

position 与 lookAt

两者都是Object3D的基本属性和方法 lookAt 把物体旋转到面向指定的位置

position设置camera的位置,lookAt设置它的朝向 lookAt 并非camera所特有的

点光

点光不能渲染阴影是因为点光会从各个方向发射光线,消耗性能太大。

你可能感兴趣的:(ThreeJS 学习笔记)