BufferGeometry
Object3D
Raycaster
Camera
CubeCamera
PerspectiveCamera
OrthographicCamera
StereoCamera
Clock
Curve
CurvePath
Path
Shape
ShapePath
ArrowHelper
AxesHelper
BoxHelper
Box3Helper
CameraHelper
DirectionalLightHelper
GridHelper
PolarGridHelper
HemisphereLightHelper
PlaneHelper
PointLightHelper
SkeletonHelper
SpotLightHelper
Light
PointLight
RectAreaLight
SpotLight
DirectionalLight
HemisphereLight
LightShadow
PointLightShadow
AnimationLoader
AudioLoader
BufferGeometryLoader
CompressedTextureLoader
CubeTextureLoader
DataTextureLoader
FileLoader
ImageBitmapLoader
ImageLoader
Loader
LoaderUtils
MaterialLoader
ObjectLoader
TextureLoader
LoadingManager
Material
Box2
Box3
Color
Cylindrical
Euler
Frustum
Interpolant
Line3
MathUtils
Matrix3
Matrix4
Plane
Quaternion
AnimationAction
AnimationClip
AnimationMixer
AnimationObjectGroup
AnimationUtils
keyframeTrack
PropertyBinding
PropertyMixer
BooleanKeyframeTrack
QuaternionKeyframeTrack
StringKeyframeTrack
Audio
AudioAnalyser
AudioContext
AudioListener
PositionalAudio

CubeCamera.update()

该方法用于更新CubeCamera的图像纹理。

语法

.update(renderer, scene)

参数说明:

  • renderer:以渲染场景使用的渲染器。
  • scene:用于生成立方体贴图的场景。

详细说明

CubeCamera用于生成反射或折射贴图,它可以将一个场景渲染到六个方向的立方体贴图中。update方法被用于更新立方体贴图的纹理,从而反映场景中的最新变化。当场景中的对象发生了变化,例如移动或者旋转时,需要调用此方法来更新贴图。

注意:在调用该函数前,必须要将当前的相机指定为摄像机的位置。在生成立方体贴图的过程中,Camera视口大小默认为方形,因此需要确保相机物体的比例对称。

示例

// 创建CubeCamera
var cubeCamera = new THREE.CubeCamera(near, far, cubeSize);

// 创建一个立方体对象
var geometry = new THREE.BoxGeometry(1, 1, 1);
var material = new THREE.MeshPhongMaterial({
    color: 0xffffff,
    envMap: cubeCamera.renderTarget.texture
});
var mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);

// 调用CubeCamera.update方法更新纹理
cubeCamera.position.copy(mesh.position);
cubeCamera.update(renderer, scene);

版本

该方法从three.js r70版引入。