平行光本质是一个方向向量,在shader中计算时直接与模型顶点的法线方向进行dot点乘操作。

如果L(平行光)的向量与N(顶点法线方向)一样(N Dot L=1),那么表示模型的这个点正对着光源,应该最亮,相反,如果两个向量呈相反方向(N Dot L=-1),那么则表示这个点背对光源,应该最暗。

image.png

基础的兰伯特计算模型的明暗就是NdotL。

与Unity中的平行光不一样的是,Unity中平行光仅使用方向不使用位置来表示平行光方向;而Three.js中是设定一个起点和一个终点(默认为0,0,0),来确定平行光的方向。因此Three.js中通常在创建完成后设定一下光照的位置,如下:

const dirLight = new THREE.DirectionalLight(0xFFFFFF, 1);dirLight.position.set(5, 5, 5);scene.add( dirLight );

平行光是可以产生阴影的,需要将castShadow打开,如下

//开启该光源阴影dirLight.castShadow = true;//获取该光源产生的shadow,并设置参数//具体shadow的参数设置后续再讲解dirLight.shadow.mapSize.width = 2048;dirLight.shadow.mapSize.height = 2048;dirLight.shadow.camera.left = -10;dirLight.shadow.camera.right = 10;dirLight.shadow.camera.top = -10;dirLight.shadow.camera.bottom = 10;dirLight.shadow.camera.near = 4;dirLight.shadow.camera.far = 16;dirLight.shadow.radius = 0.1;dirLight.shadow.bias = 0.0000000001;

也可以设置光源照射的对象target,光的照射终点会跟随着物体移动(默认为上述的0,0,0)。

无论在Unity中还是Three.js中,平行光通常是场景中的主光源,也通常是产生阴影、计算亮暗面的主要光源。


http://www.taodudu.cc/news/show-4303972.html

相关文章:

  • OpenGL光源位置
  • 红外平行光管ZEMAX光学设计/SOLIDWORKS
  • shader学习摘要(八)unity光源类型
  • 《缠中说禅108课》1:不会赢钱的经济人,只是废人
  • smart gesture安装失败_从安装到打印HP 108w操作详解
  • 网上看到的IQ题
  • 面试题--用友面试题--IQ题
  • 13个小球的IQ题
  • 【C++】智力题总结
  • pdf文档页码怎么添加?分享这几个pdf加页码方法给你
  • 怎样调整Firefox火狐浏览器开发者控制台字体大小
  • Linux红帽RedHat 8升级更新Firefox火狐浏览器版本方法
  • Firefox火狐浏览器在http下允许通知
  • Firefox支持Websocket
  • 最速下降法汇总
  • Troubleshooting: High Version Count Issues (文档 ID 296377.1)
  • High Version Count Issues
  • High Version Count Issues(SQL高Version Count) (文档 ID 296377.1)
  • Oracle SQL 高版本相关
  • 忽视警告_不要忽视下雨的风险2
  • 209. 长度最小的子数组(中等 数组 滑动窗口)
  • 因为计算机中丢失d3dx926.dll,win10系统打开程序提示丢失d3dx9 26.dll的解决方法
  • d3dx9_35.dll如何修复
  • 1.7 常微分方程
  • 提示找不到d3dx9.h及dxerr.lib
  • “d3dx9.h”: No such file or directory 解决办法
  • openssl-genras命令简单入门
  • Consider defining a bean of type的问题
  • 求旋转体体积表面积时的dx,ds问题的简单解释
  • AcWing 145 超市

Three.js光源梳理3——平行光(DirectionalLight)相关推荐

  1. Three.js光源梳理2——环境光(AmbientLight)

    环境光会均匀的照亮场景中的所有物体.不能用来投射阴影,因为它没有方向. 环境光类似于一个颜色+强度的最简单的参数,材质的shader中会将其直接作为参数+到最终的颜色信息上,不会进行任何空间上的计算. ...

  2. CSharpGL(39)GLSL光照示例:鼠标拖动太阳(光源)观察平行光的漫反射和镜面反射效果...

    CSharpGL(39)GLSL光照示例:鼠标拖动太阳(光源)观察平行光的漫反射和镜面反射效果 开始 一图抵千言.首先来看鼠标拖动太阳(光源)的情形. 然后是鼠标拖拽旋转模型的情形. 然后我们移动摄像 ...

  3. Three.js - 光源使用详解2(聚光灯 SpotLight、平行光 DirectionLight)

    三.THREE.SpotLight(聚光灯光源) 1,基本介绍 THREE.SpotLight 是一种具有锥形效果的光源,该光源拥有产生光的方向和角度.我们可以将其与手电筒或者灯笼产生的光进行对比. ...

  4. 第五节:Three.js光源的类型【Three.js整理】

    Three.js 光源类型:环境光 THREE.AmbientLight .点光源THREE.PointLight.聚光灯 THREE.SpotLight.定向光 THREE.DirectionalL ...

  5. Three.js - 光源使用详解1(环境光 AmbientLight、点光源 PointLint)

    Three.js 中有许多不同种类的光源,每种光源都有特别的行为和用法.下面通过一个系列文章介绍它们的用法. 一.THREE.AmbientLight(环境光) 1,基本介绍 在创建 THREE.Am ...

  6. Node.js知识梳理(一)——基础

    以下内容来自对<从前端到全栈>一书的学习记录~ 学习的时候用的是V16.20.0,18+之后的语法差别还是有的~ 什么是Node.js Node.js 是运行在操作系统中的 JavaScr ...

  7. Javascript 引擎工作机制(js层面梳理)

    转载地址:http://www.jb51.net/article/98610.htm 我们需要引入几个相关的概念:执行环境栈.全局对象.执行环境.变量对象.活动对象.作用域和作用域链等,这些概念正是J ...

  8. 前端高效开发必备的 js 库梳理

    之前有很多人问学好前端需要学习哪些 js 库, 主流框架应该学 vue 还是 react ? 针对这些问题, 笔者来说说自己的看法和学习总结. 首先我觉得在学习任何知识之前必须要有一个明确的学习目标, ...

  9. Node.js知识梳理之Node.js安装

    Node.js官网:nodejs.org/en/ 用户进入官网,会自动推荐适合于开发者电脑的Node.js版本,官网提示我下载适用于windows(x64)的版本.官网有两个版本LTS(长期稳定)版和 ...

最新文章

  1. Ubuntu下添加新分区并设置挂载点
  2. iis php重定向循环,在windows机器IIS上如何设置301永久重定向
  3. 【STM32】STM32系列教程汇总(暂时暂停更新...)
  4. 数据装载全/存量直接装载到目标表_09
  5. 信息学奥赛一本通(1009:带余除法)
  6. DataReader类访问字段的值
  7. OpenShift 4 - DevSecOps Workshop (13) - 将镜像推送到Quay,并进行漏洞扫描
  8. bzoj4850 [JSOI2016]灯塔
  9. java 嵌套类implement_有关 C++ 嵌套类
  10. ai人工智能的本质和未来_人工智能简介:这就是未来
  11. 联想计算机不能使用ghost,联想电脑不能GHOST的解决方法
  12. 与孩子一起学编程05章
  13. 如何巧妙将流量转化为销量?
  14. 切向量,普通矢量,渐变
  15. 一道发散思维题,有1000个一模一样的瓶子,其中有999瓶是普通的水,有一瓶是毒........
  16. 电信行业数据安全风险评估案例 - 数据安全治理之数据安全风险评估白皮书
  17. Linux centos安装chromium
  18. 使用sqlyog连接阿里云rds数据库
  19. ​LeetCode刷题实战375:猜数字大小 II
  20. 回顾2022年计算机视觉领域最激动人心的进展

热门文章

  1. ubuntu命令行配置文件夹共享
  2. python制作slack bot聊天机器人02
  3. 成功体验Katalon框架测试安卓APK(一)
  4. 在线电影订票系统 - 数据库建模
  5. Android Bitmap 缩放
  6. 第四模块MySQL数据库
  7. MAC合约3.0API
  8. win10的开机启动文件夹
  9. es多个字段排序_如何解决 ES 复杂聚合排序问题(嵌套桶排序)?
  10. 人工神经网络 人工智能,人工智能神经网络技术