three.js 常见光源类型
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 常见光源类型相关推荐
- Three.js常见光源类型
常见光源类型 本文是Three.js电子书的5.1节 Threejs虚拟光源是对自然界光照的模拟,threejs搭建虚拟场景的时候,为了更好的渲染场景,往往需要设置不同的光源,设置不同的光照强度,就像 ...
- Moment.js常见用法总结
From: https://www.jianshu.com/p/9c10543420de Moment.js常见用法总结 Moment.js是一个轻量级的JavaScript时间库,它方便了日常开发中 ...
- Moment.js常见用法总结 1
Moment.js常见用法总结 Moment.js是一个轻量级的JavaScript时间库,它方便了日常开发中对时间的操作,提高了开发效率. 日常开发中,通常会对时间进行下面这几个操作:比如获取时 ...
- 前端常用时间工具 -- Moment.js常见用法总结
Moment.js常见用法总结 文章目录 Moment.js常见用法总结 Moment.js常见用法总结 获取时间 Start of Time End of Time Timestamp Get Ti ...
- JS常见正则方法整理
JS常见正则方法整理 目录 文章目录 前言 1. 使用测试方法 - `test` 2. 同时用多种模式匹配文字字符串 - `x|y` 3. 匹配时忽略大小写 - `/x/i` 4. 提取匹配项 - ` ...
- js常见的几种页面刷新方法
js常见的几种页面刷新方法如下: 1 history.go(0); 2 location.reload(); 3 location=location; 4 location.assign(locati ...
- js 数组修改watch_前端面试:专注Vue.js常见的问题答疑,掌握了基本上Vue就过关了...
v-show 与 v-if 区别 第一题应该是最简单的,提这个问题,也是想让候选人不那么紧张,因为但凡用过 Vue.js,多少知道 v-show 和 v-if 的区别,否则就没得聊了.不过这最简单的一 ...
- Moment.js 常见用法总结
Moment.js是一个时间日期库,它方便了日常开发中对时间的操作,提高了开发效率. 结合官网及其他资料,对Moment. js的常见用法做了简单的总结,方便后续的查阅与使用. 一.引入 1.node ...
- js常见的的6种继承方式
继承是面向对象的,继承可以帮助我们更好的复用以前的代码,缩短开发周期,提高开发效率:继承也常用在前端工程技术库的底层搭建上,在整个js的学习中尤为重要 常见的继承方式有以下的六种 一.原型链继承 原型 ...
最新文章
- Windows 10 还有前途么?
- LL-verilog语法-generate语句
- SDH光传输设备是什么?SDH设备特点介绍
- LightweightCTI开发实录(5)板卡适配器概述
- 调用第三方接口发送短信
- 前端第二天 表格/表单和H5
- Python和MD5网站挂马检测程序
- 136 137 260只出现一次的数字【我亦无他唯手熟尔】
- requirement生成和使用
- chrome 91版本 解决跨域请求SameSite
- AOSP 源代码标记和 build
- 全球通胀对IT领域的影响
- LeetCode3:合并两个有序数组 给你两个有序数数组,nums1和nums2,请你将nums2合并到nums1中,使nums1成为一个有序数组.
- “天地不仁,以万物为刍狗”正解
- kestrel修改服务器名,如何修改 .NET Core Kestrel 下的端口
- git merge squash 和 rebase 区别
- 一个小时学会 MySQL 数据库
- gcms基峰有什么用_GC-MS与常规GC有什么不同,数据处理应该注意些什么?
- AJAX实例--根据邮政编号动态获取省,市,县三级地区+仿百度搜索下拉提示
- 分道扬镳 /// 邻接表 DFS 剪枝 oj1332