THREE.DirectionalLight 平行光源
阅读数:29 评论数:0
跳转到新版页面分类
html/css/js
正文
一、概述
THREE.DirectionalLight
是 Three.js 中的一种平行光源(Directional Light),用于模拟来自无限远处的均匀光线,例如太阳光。它照射到场景中的所有对象,并产生阴影。
const light = new THREE.DirectionalLight(color, intensity);
-
color
(可选)- 光源的颜色,默认值是白色 (
0xffffff
)。 - 可以是十六进制值、CSS 字符串或
THREE.Color
对象。 - 例如:
0xff0000
(红色),'blue'
,new THREE.Color(0, 1, 0)
(绿色)。
- 光源的颜色,默认值是白色 (
-
intensity
(可选)- 光源的强度,默认值是
1
。 - 较大的值会增加光的亮度。
- 光源的强度,默认值是
二、使用
// 创建光源
const light = new THREE.DirectionalLight(0xffffff, 1);
// 设置光源的位置
light.position.set(10, 10, 10);
// 添加到场景
scene.add(light);
三、常用属性
-
position
- 定义光源的位置。
- 例如:
light.position.set(x, y, z)
。
-
target
- 光源的目标,默认指向场景的中心
(0, 0, 0)
。 - 可以设置为一个特定对象:
light.target = mesh;
。
- 光源的目标,默认指向场景的中心
-
castShadow
- 是否启用阴影,默认为
false
。 - 如果需要生成阴影,需设置为
true
。
- 是否启用阴影,默认为
-
shadow
- 包含阴影相关的设置,如阴影分辨率、投影范围等。
light.shadow.mapSize.width = 1024; // 阴影纹理宽度
light.shadow.mapSize.height = 1024; // 阴影纹理高度
light.shadow.camera.near = 0.5; // 阴影相机的近剪裁面
light.shadow.camera.far = 500; // 阴影相机的远剪裁面
相关推荐
一、概述
OrbitControls 是 three.js 中的一个控制器,用于实现对 3D 场景的相机控制,允许用户通过鼠标或触摸操作来旋转、缩放和平移视图。
即轨道控制器,可以使相机围绕目标旋转。
一、概述
THREE.Object3D 是 Three.js 的基础类,用于表示 3D 空间中的一个对象。几乎所有的 3D 对象(如 Mesh、Group、Camera、Light 等)都继承自 TH
一、动画片段 animation clips
每个animationClip通常保存3D动画对象某个活动的数据。举个例子,假如mesh是一个角色,可能有一个AnimationClip实现步行循
一、概述
CSS2DRenderer 是 three.js 中的一个渲染器,用于将 HTML/CSS 元素(如标签、文本、图片等)渲染到 3D 场景中的指定位置。这种渲染器与 WebGLRendere
一、概述
WebGLRenderer 是 three.js 中的核心渲染器,用于将 3D 场景渲染到网页的 <canvas> 元素上。它使用 WebGL 技术,通过 GPU(图形处理单元)进行硬件加速
一、归一化设备坐标
在屏幕像素坐标系统中:
X 轴的正方向是从左到右,和归一化设备坐标系统一致。
Y 轴的正方向是从上到下,这与归一化设备坐标系统 相反。
在归一化设备坐标 (NDC) 系统中:
一、material.emissive
在 Three.js 中,material.emissive 是一个材质属性,用来控制物体的 自发光 效果。这个属性的值通常是一个 颜色,表示物体自发光的颜色,
场景允许你在什么地方、摆放什么东西来交给three.js来渲染,是旋转物体、灯光和相机的地方。
一、构造器
<pre class="language-javascript"