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 场景的相机控制,允许用户通过鼠标或触摸操作来旋转、缩放和平移视图。 即轨道控制器,可以使相机围绕目标旋转。

环境光会均匀的照亮场景中的所有物体,它不能用来投射阴影,因为它没有方向。 一、构造函数 Amb

聚光灯是从一个方向上的一个点发出,沿着一个圆锥体,它离光越远,它的尺寸就越大。 一、构造器 SpotL

一、概述 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"