Three.js API手册

动画
AnimationAction AnimationClip AnimationMixer AnimationObjectGroup AnimationUtils KeyframeTrack PropertyBinding PropertyMixer
动画 / 轨道
BooleanKeyframeTrack ColorKeyframeTrack NumberKeyframeTrack QuaternionKeyframeTrack StringKeyframeTrack VectorKeyframeTrack
音频
Audio AudioAnalyser AudioContext AudioListener PositionalAudio
摄像机
ArrayCamera Camera CubeCamera OrthographicCamera PerspectiveCamera StereoCamera
常量
Animation Core CustomBlendingEquation DrawModes Materials Renderer Textures
核心
BufferAttribute BufferGeometry Clock DirectGeometry EventDispatcher Face3 Geometry InstancedBufferAttribute InstancedBufferGeometry InstancedInterleavedBuffer InterleavedBuffer InterleavedBufferAttribute Layers Object3D Raycaster Uniform
核心 / BufferAttributes
BufferAttribute_Types
弃用列表
DeprecatedList
附件
Earcut ShapeUtils
附件 / 核心
Curve CurvePath Font Interpolations Path Shape ShapePath
附件 / 曲线
ArcCurve CatmullRomCurve3 CubicBezierCurve CubicBezierCurve3 EllipseCurve LineCurve LineCurve3 QuadraticBezierCurve QuadraticBezierCurve3 SplineCurve
附件 / 物体
ImmediateRenderObject
几何体
BoxBufferGeometry BoxGeometry CircleBufferGeometry CircleGeometry ConeBufferGeometry ConeGeometry CylinderBufferGeometry CylinderGeometry DodecahedronBufferGeometry DodecahedronGeometry EdgesGeometry ExtrudeBufferGeometry ExtrudeGeometry IcosahedronBufferGeometry IcosahedronGeometry LatheBufferGeometry LatheGeometry OctahedronBufferGeometry OctahedronGeometry ParametricBufferGeometry ParametricGeometry PlaneBufferGeometry PlaneGeometry PolyhedronBufferGeometry PolyhedronGeometry RingBufferGeometry RingGeometry ShapeBufferGeometry ShapeGeometry SphereBufferGeometry SphereGeometry TetrahedronBufferGeometry TetrahedronGeometry TextBufferGeometry TextGeometry TorusBufferGeometry TorusGeometry TorusKnotBufferGeometry TorusKnotGeometry TubeBufferGeometry TubeGeometry WireframeGeometry
辅助对象
ArrowHelper AxesHelper BoxHelper Box3Helper CameraHelper DirectionalLightHelper FaceNormalsHelper GridHelper PolarGridHelper PositionalAudioHelper HemisphereLightHelper PlaneHelper PointLightHelper RectAreaLightHelper SkeletonHelper SpotLightHelper VertexNormalsHelper
灯光
AmbientLight DirectionalLight HemisphereLight Light PointLight RectAreaLight SpotLight
灯光 / 阴影
DirectionalLightShadow LightShadow SpotLightShadow
加载器
AnimationLoader AudioLoader BufferGeometryLoader Cache CompressedTextureLoader CubeTextureLoader DataTextureLoader FileLoader FontLoader ImageBitmapLoader ImageLoader Loader LoaderUtils MaterialLoader ObjectLoader TextureLoader
加载器 / 管理器
DefaultLoadingManager LoadingManager
材质
LineBasicMaterial LineDashedMaterial Material MeshBasicMaterial MeshDepthMaterial MeshDistanceMaterial MeshLambertMaterial MeshMatcapMaterial MeshNormalMaterial MeshPhongMaterial MeshPhysicalMaterial MeshStandardMaterial MeshToonMaterial PointsMaterial RawShaderMaterial ShaderMaterial ShadowMaterial SpriteMaterial
数学库
Box2 Box3 Color Cylindrical Euler Frustum Interpolant Line3 Math Matrix3 Matrix4 Plane Quaternion Ray Sphere Spherical Triangle Vector2 Vector3 Vector4
数学库 / 插值
CubicInterpolant DiscreteInterpolant LinearInterpolant QuaternionLinearInterpolant
物体
Bone Group Line LineLoop LineSegments LOD Mesh Points Skeleton SkinnedMesh Sprite
渲染器
WebGLMultisampleRenderTarget WebGLRenderer WebGLRenderTarget WebGLRenderTargetCube
渲染器 / 着色器
ShaderChunk ShaderLib UniformsLib UniformsUtils
场景
Fog FogExp2 Scene
纹理贴图
CanvasTexture CompressedTexture CubeTexture DataTexture DataTexture3D DepthTexture Texture VideoTexture
在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

SpotLightShadow

这在SpotLights内部用于计算阴影。

例子

//Create a WebGLRenderer and turn on shadows in the renderer 
var renderer = new THREE.WebGLRenderer(); 
renderer.shadowMap.enabled = true; 
renderer.shadowMap.type = THREE.PCFSoftShadowMap; // default THREE.PCFShadowMap 

//Create a SpotLight and turn on shadows for the light 
var light = new THREE.SpotLight( 0xffffff ); 
light.castShadow = true; // default false 
scene.add( light ); //Set up shadow properties for the light 
light.shadow.mapSize.width = 512; // default 
light.shadow.mapSize.height = 512; // default 
light.shadow.camera.near = 0.5; // default 
light.shadow.camera.far = 500 // default 

//Create a sphere that cast shadows (but does not receive them) 
var sphereGeometry = new THREE.SphereBufferGeometry( 5, 32, 32 ); 
var sphereMaterial = new THREE.MeshStandardMaterial( { color: 0xff0000 } ); 
var sphere = new THREE.Mesh( sphereGeometry, sphereMaterial ); 
sphere.castShadow = true; //default is false 
sphere.receiveShadow = false; //default 
scene.add( sphere ); //Create a plane that receives shadows (but does not cast them) 
var planeGeometry = new THREE.PlaneBufferGeometry( 20, 20, 32, 32 ); 
var planeMaterial = new THREE.MeshStandardMaterial( { color: 0x00ff00 } ) 
var plane = new THREE.Mesh( planeGeometry, planeMaterial ); 
plane.receiveShadow = true; scene.add( plane ); //Create a helper for the shadow camera (optional) 
var helper = new THREE.CameraHelper( light.shadow.camera ); 
scene.add( helper );

构造函数

构造函数创建一个 PerspectiveCamera : PerspectiveCamera 来管理阴影的世界视图

属性

有关常用属性,请参阅基础LightShadow类。

# .camera : Camera

在光的世界里。这用于生成场景的深度图;从光的角度来看,其他物体背后的物体将处于阴影中。

默认值为PerspectiveCamera,近剪裁平面为0.5。 fov将通过更新方法跟踪拥有SpotLight的角度属性。同样,aspect属性将跟踪mapSize的方面。如果设置了灯光的距离属性,则远剪裁平面将跟踪该值,否则默认为500。

# .isSpotLightShadow : Boolean

用于检查此类或派生类是否为聚光灯阴影。默认为true。

您不应该更改它,因为它在内部用于优化。

方法

有关常用方法,请参阅基础LightShadow类。

# .update ( light : SpotLight ) : SpotLightShadow

根据传入的light更新内部透视camera。

Source

src/lights/SpotLightShadow.js