1,环境光 AmbientLight

环境光是没有特定方向的光源,主要是改变物体表面的明暗效果。代码:

var ambient = new THREE.AmbientLight(0x444444); // 创建环境光对象AmbientLight
scene.add(ambient);

2,点光源 PointLight

点光源需要设置位置属性 position,光源位置不同,物体表面被照亮的面不同。

var point = new THREE.PointLight(0xffffff); // 创建光源对象
point.position.set(400,200,300); // 设置光源位置
scene.add(point);

3,平行光 DirectionalLight

three.js平行光提供了位置position和目标target两个属性来确定平行光方向,目标target可以是场景中的一个三维模型对象,比如网格模型Mesh

// DirectionalLight(hex, intensity) hex--光源颜色的RGB数值。intensity--光源强度的数值。
var directionalLight = new THREE.DirectionalLight(0xffffff,1);
directionalLight.position.set(80,100,50);
// 方向光指向对象网格模型mesh,可以不设置,默认的位置是0,0,0
directionalLight.target = mesh;
scene.add(directionalLight);

注意:如果不设置position,target属性,光线默认从上往下照射,可以认为从(0,1,0)照向(0,0,0)的光。

4,聚光源 SpotLight

聚光源是沿着特定方向发散的光源,照射范围在三维空间形成一个圆锥体,通过属性angle设置发散角度,照射方向位置通过 位置position, 目标target两个属性来设置;

var spotLight = new THREE.SpotLight(0xffffff);
spotLight.position.set(200,200,200);
spotLight.target = mesh;
spotLight.angle = Math.PI / 6;
scene.add(spotLight);

光源辅助对象:就像是AxisHelper三维坐标轴一样显示光源对象,方便查看位置,方向

聚光源辅助对象: SpotLightHelper

var spotLightHelper = new THREE.SpotLightHelper( spotLight );
scene.add( spotLightHelper );

点光源辅助对象: PointLightHelper

平行光辅助对象: DirectionalLightHelper

three.js 常见光源类型相关推荐

  1. Three.js常见光源类型

    常见光源类型 本文是Three.js电子书的5.1节 Threejs虚拟光源是对自然界光照的模拟,threejs搭建虚拟场景的时候,为了更好的渲染场景,往往需要设置不同的光源,设置不同的光照强度,就像 ...

  2. Moment.js常见用法总结

    From: https://www.jianshu.com/p/9c10543420de Moment.js常见用法总结 Moment.js是一个轻量级的JavaScript时间库,它方便了日常开发中 ...

  3. Moment.js常见用法总结 1

    Moment.js常见用法总结 Moment.js是一个轻量级的JavaScript时间库,它方便了日常开发中对时间的操作,提高了开发效率. ​ 日常开发中,通常会对时间进行下面这几个操作:比如获取时 ...

  4. 前端常用时间工具 -- Moment.js常见用法总结

    Moment.js常见用法总结 文章目录 Moment.js常见用法总结 Moment.js常见用法总结 获取时间 Start of Time End of Time Timestamp Get Ti ...

  5. JS常见正则方法整理

    JS常见正则方法整理 目录 文章目录 前言 1. 使用测试方法 - `test` 2. 同时用多种模式匹配文字字符串 - `x|y` 3. 匹配时忽略大小写 - `/x/i` 4. 提取匹配项 - ` ...

  6. js常见的几种页面刷新方法

    js常见的几种页面刷新方法如下: 1 history.go(0); 2 location.reload(); 3 location=location; 4 location.assign(locati ...

  7. js 数组修改watch_前端面试:专注Vue.js常见的问题答疑,掌握了基本上Vue就过关了...

    v-show 与 v-if 区别 第一题应该是最简单的,提这个问题,也是想让候选人不那么紧张,因为但凡用过 Vue.js,多少知道 v-show 和 v-if 的区别,否则就没得聊了.不过这最简单的一 ...

  8. Moment.js 常见用法总结

    Moment.js是一个时间日期库,它方便了日常开发中对时间的操作,提高了开发效率. 结合官网及其他资料,对Moment. js的常见用法做了简单的总结,方便后续的查阅与使用. 一.引入 1.node ...

  9. js常见的的6种继承方式

    继承是面向对象的,继承可以帮助我们更好的复用以前的代码,缩短开发周期,提高开发效率:继承也常用在前端工程技术库的底层搭建上,在整个js的学习中尤为重要 常见的继承方式有以下的六种 一.原型链继承 原型 ...

最新文章

  1. Windows 10 还有前途么?
  2. LL-verilog语法-generate语句
  3. SDH光传输设备是什么?SDH设备特点介绍
  4. LightweightCTI开发实录(5)板卡适配器概述
  5. 调用第三方接口发送短信
  6. 前端第二天 表格/表单和H5
  7. Python和MD5网站挂马检测程序
  8. 136 137 260只出现一次的数字【我亦无他唯手熟尔】
  9. requirement生成和使用
  10. chrome 91版本 解决跨域请求SameSite
  11. AOSP 源代码标记和 build
  12. 全球通胀对IT领域的影响
  13. LeetCode3:合并两个有序数组 给你两个有序数数组,nums1和nums2,请你将nums2合并到nums1中,使nums1成为一个有序数组.
  14. “天地不仁,以万物为刍狗”正解
  15. kestrel修改服务器名,如何修改 .NET Core Kestrel 下的端口
  16. git merge squash 和 rebase 区别
  17. 一个小时学会 MySQL 数据库
  18. gcms基峰有什么用_GC-MS与常规GC有什么不同,数据处理应该注意些什么?
  19. AJAX实例--根据邮政编号动态获取省,市,县三级地区+仿百度搜索下拉提示
  20. 分道扬镳 /// 邻接表 DFS 剪枝 oj1332

热门文章

  1. Qt开发的TCP客户端和服务器
  2. 【转】: 塞尔达组在GDC2017演讲的文字翻译:创新的勇气
  3. LaTeX学习经验分享
  4. js正则验证11位手机号码
  5. C# + Socket断线重连 整理
  6. 苏联宇航员在太空上到底有没有酒驾空间站?
  7. 将xls文件转化为xlsx文件
  8. 高新技术(反射、内省、类加载器、代理)
  9. Novavax向韩国提交生物制剂许可证申请;瑞科生物获得新冠疫苗《药品生产许可证》| 医药健闻...
  10. c语言tchar转char,CString、TCHAR*、char*转换