Three.js 光源类型:环境光 THREE.AmbientLight 、点光源THREE.PointLight、聚光灯 THREE.SpotLight、定向光 THREE.DirectionalLight、半球光THREE.HemisphereLight (HDR天空盒环境贴图)、区域光THREE.AreaLight、镜头光晕THREE.LensFlare。

环境光 THREE.AmbientLight

THREE.AmbientLight灯光全局应用,该光源没有特定的方向,THREE.AmbientLight不会产生阴影。一般不会使用THREE.AmbientLight作为单个光源,该光源以相同的颜色为所有对象着色。可以与THREE.SpotLight或THREE.DirectionalLight柔化阴影或添加一些额外的颜色场景。

点光源THREE.PointLight

Three.js中的 THREE.PointLight 是一个向各个方向发光的光源从一个点发出。点光源的一个很好的例子是发射信号弹在夜空中。

聚光灯 THREE.SpotLight

THREE.SpotLight是您最常使用的灯之一(尤其是如果您想要使用阴影)。THREE.SpotLight是一种具有锥形效果的光源。你可以将其与手电筒或灯笼进行比较。这种光有方向和角度它产生光

定向光 THREE.DirectionalLight

我们将看到的最后一个基本灯是THREE.DirectionalLight 。这类光可以认为是很远的光。它发出的所有光线彼此平行。太阳就是一个很好的例子。太阳那么远我们在地球上接收到的光线(几乎)彼此平行。主要的THREE.DirectionalLight和THREE.SpotLight之间的区别(我们在上一节中看到的)是这种光不会随着距离越远而减弱THREE.DirectionalLight的目标与THREE.SpotLight一样(您可以使用距离和指数参数对其进行微调)

半球光THREE.HemisphereLight  ,也可用HDR、天空盒作为补充或替代。

我们要查看的第一个特殊光源是THREE.HemisphereLight 。Three.HemisphereLight ,我们可以创造更自然的户外照明。没有这个光,我们可以通过创建THREE.DirectionalLight来模拟户外,它模拟太阳,并且可能添加额外的 THREE.AmbientLight来提供给场景一些一般的颜色。然而,这看起来并不自然。什么时候你在户外,并不是所有的光都直接来自上方:大部分都是由大气并被地面和其他物体反射。这是获得更自然外观的简单方法户外照明

three.js exampleshttps://threejs.org/examples/#webgl_lights_hemisphere

有环境光

无环境光

区域光THREE.AreaLight

我们可以定义一个发光的矩形区域。三.AreaLight不包括在内在标准 Three.js 库中,但在其扩展中,所以我们必须采取几个在我们可以使用这个光源之前的额外步骤。


three.js exampleshttps://threejs.org/examples/?q=lights#webgl_lights_rectarealight

import { RectAreaLightHelper } from './jsm/helpers/RectAreaLightHelper.js';
import { RectAreaLightUniformsLib } from './jsm/lights/RectAreaLightUniformsLib.js';

镜头光晕THREE.LensFlare

镜头光晕它们会在您拍照时出现直接进入太阳或其他明亮的光源。在大多数情况下,您希望避免这个,但对于游戏和 3D 生成的图像,它提供了一个很好的效果,使得场景看起来更真实一些。

https://threejs.org/examples/?q=LensFlare#webgl_lensflares

第五节:Three.js光源的类型【Three.js整理】相关推荐

  1. Js转换long类型时间

    Js转换long类型时间 js转换10位long类型的 function ten(longTypeDate) {var date = new Date()date.setTime(longTypeDa ...

  2. 【java】兴唐课程第五节到第九节知识点总结

    第九节 1. 代码:void readBook(String- bookNames) 表示不确定参数的个数,此时变量为一个数组. 2.当方法中的参数名称(如stuname)和属性名称相同时. this ...

  3. java创建node类型数据类型_[Java教程]js DOM Node类型

    [Java教程]js DOM Node类型 0 2015-12-18 16:00:08 DOM(文档对象模型)是针对HTML和 DOM可以将任何HTML或 以下面为例: My article Hell ...

  4. Simulink仿真 第五节 复用器和分路器

    第五节 复用器和分路器 1.复用器(将多个输入信号合并为矢量) Mux 模块可将其输入合并为单个矢量输出.输入可以是标量或矢量信号.所有输入都必须具有相同的数据类型和数值类型.矢量输出信号元素采用输入 ...

  5. Kotlin学习笔记 第二章 类与对象 第五节 可见性 第六节 扩展

    参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 中文网站 https://www.kotlincn.net/docs/reference/p ...

  6. Js基础——变量类型和计算

    JS基础--变量类型和计算 一.基本数据类型 二.引用类型 三.typeof判断数据类型 四.浅拷贝与深拷贝 4.1 浅拷贝 4.2 深拷贝 五.数据类型转换 5.1== 和 === 一.基本数据类型 ...

  7. 五节课从零起步(无需数学和Python基础)编码实现AI人工智能框架电子书V1

    五节课从零起步  (无需数学和Python 基础)  编码实现AI 人工智能框架          王  家  林        2018/4/15                          ...

  8. 探讨Vue 数据监测原理-第五节-展开介绍 Vue中监测-【数组】数据的原理

    文章目录 探讨一下Vue 数据监测的原理 本次探讨共的第五个章节 第五节:展开介绍 Vue中监测-[数组]数据的原理 1. 案例 1.1. 页面案例 2. 数组形式|对象形式爱好的区别 2.1. 页面 ...

  9. [基于STM32底盘控制与ROS上层导航小车制作] 第五节 实现STM32与ubuntu系统下的ROS串口DMA通信,传输底盘速度等信息

    系列文章目录 第一节 stm32电机驱动与编码器读取反馈 第二节 stm32电机pid控制 第三节 stm32线速度标定 第四节 stm32添加mpu6050得到angle角度 第五节 实现STM32 ...

最新文章

  1. 概率论中伯努利分布(bernoulli distribution)介绍及C++11中std::bernoulli_distribution的使用
  2. linux 安装tinyxml,使用TinyXml
  3. Kubernetes学习笔记一:Docker和Kubernetes的诞生
  4. FW: HTTP错误500显示具体的出错信息的方法
  5. cocos2dx-lua控制台报错集合
  6. 天了噜!定义static字段还有顺序要求?
  7. r语言 中断r的输入_R语言_004数据输入
  8. 「北京」京东 JD.COM 招聘中/高级前端工程师
  9. Exchange2003的设定及安全管理
  10. 微信小程序开发学习资料
  11. 壮阔与波澜:互联网十年创业记
  12. 腾讯为什么把全国最大的数据中心落户到南京?
  13. 微信小程序java python node医疗微服务系统医院预约挂号系统
  14. Golang实现文件搜索器
  15. 總結——關於2017 11 3測試的分析總結
  16. 电阻(4)之上拉电阻与下拉电阻详解
  17. spring事务管理配置
  18. yarn和npm常用基本命令安装和卸载
  19. OC Bock的使用
  20. python批量添加qq好友_python实现QQ批量登录功能

热门文章

  1. webwork html引入,WebWork(在主线程创建子进程)
  2. 谷歌浏览器无法携带cookie问题
  3. ios快捷指令进行钉钉打卡
  4. 回首“360”和“金山”的那次战役--小马哥“以彼之道还施彼身”
  5. 趣味学python(018)
  6. 计算机通讯技术行业有什么职位,通信技术专业就业岗位有哪些?
  7. 2014.11.9--南京GDG活动摘要
  8. 蓝桥杯---星际交流---全排列
  9. win7下安装配置totoro
  10. 【mmsegmentation】