three.js笔记 之 摄像机(Camera)

2021-02-25  本文已影响0人  伶念

一、Camera(基类)

摄像机的抽象基类。在构建新摄像机时,应始终继承此类。这个类并不是被直接调用的;你所想要的或许是一个 PerspectiveCamera(透视摄像机)或者 OrthographicCamera(正交摄像机)。
注:继承自 Object3D

二、CubeCamera(立方相机)

构造一个包含6个PerspectiveCameras(透视摄像机)的立方摄像机, 并将其拍摄的场景渲染到一个WebGLCubeRenderTarget上。

代码示例

// Create cube render target
const cubeRenderTarget = new THREE.WebGLCubeRenderTarget( 128, { format: THREE.RGBFormat,
 generateMipmaps: true, minFilter: THREE.LinearMipmapLinearFilter } );

// Create cube camera
const cubeCamera = new THREE.CubeCamera( 
1,//近剪切面的距离
 100000, //远剪切面的距离
cubeRenderTarget //The destination cube render target
);
scene.add( cubeCamera );

// Create car
const chromeMaterial = new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: cubeRenderTarget.texture } );
const car = new Mesh( carGeometry, chromeMaterial );
scene.add( car );

// Update the render target cube
car.visible = false;
cubeCamera.position.copy( car.position );
cubeCamera.update( renderer, scene );

// Render the scene
car.visible = true;
renderer.render( scene, camera );
上一篇下一篇

猜你喜欢

热点阅读