学习threeJS(三)--光源
2019-05-22 18:13
2206 查看
一、光源的类型
- AmbientLight(环境光)
- PointLight(点光源)
- SpotLight(聚光灯光源,锥形光源)
- DirectionLight(方向光,太阳光,平行光)
- HemisphereLight(半球光)
- AreaLight(面光源)
- LensFlare(镜头炫光)
二、基础光源
1、AmbientLight
没有特定来源,不会产生阴影,不能单独使用,与其他光源一起使用,目的是弱化阴影或添加颜色。
var ambientLight = new THREE.AmbientLight('#0c0c0c'); scene.add(ambientLight);
不需要指定光源位置
2、PointLight
new THREE.PointLight(color颜色, intensity强度, distance距离, position位置, visible光源开闭)
var pointColor = '#ccffcc'; var pointLight = new THREE.PointLight(pointColor, 2, 100); pointLight.position.x = -20; pointLight.position.y = 10; pointLight.position.z = 0; pointLight.visible = true; scene.add(pointLight);
*点光源不会产生投影,因为点光源向所有方向发射光,计算负担过重。
3、SpotLight
- castShadow 是否生成阴影
- shadowCameraNear 投影近点
- shadowCameraFar 投影远点
- shadowCameraFov 投影视场(我理解为视角)
- target 目标,决定光照方向
- shadowBias 阴影偏移
- angle 角度、光柱的宽度
- exponent 光强衰减指数
- onlyShadow 没有光照只有阴影
- shadowCameraVisible 投影方式可见
- shadowDarkness 阴影暗度--场景渲染之后不能修改
- shadowMapWidth 阴影映射宽度(像素)
- shadowMapHeight 阴影映射高度(像素)
var spotLight = new THREE.SpotLight('#FFFFFF'); spotLight.position.set(-40, 60, -10); spotLight.castShadow = true; spotLight.target = plane; scene.add(spotLight);
若想指向其他地方,空间其他点位,可以创建一个空的THREE.Object3D()实例
var target = new THREE.Object3D(); target.position = new THREE.Vector3(5, 0, 0); spotlight.target = target;
其他属性有待研究
4、DirectinalLight
var directionalLight = new THREE.DirectionalLight('#FFFFFF'); directionalLight.position.set(-20, 50, -20); directionalLight.castShadow = true; directionalLight.shadowCameraNear = 2; directionalLight.shadowCameraFar = 200; directionalLight.shadowCameraTop = 50; directionalLight.shadowCameraBottom = -50; directionalLight.shadowCameraLeft = -50; directionalLight.shadowCameraRight = 50; scene.add(directionalLight);
三、特殊光源
待更
(adsbygoogle = window.adsbygoogle || []).push({});相关文章推荐
- threejs学习笔记--各种光源
- unity学习之光源. 材质和预设体以及音频的学习
- OpenGL学习: 光照系列3-光源类型和使用多个光源
- OpenGL学习之材质RGB值和光源RGB值关系
- threejs学习笔记(7)
- unity3d 学习笔记四 skybox(天空盒) light(光源) halo(光晕)
- ShaderLab学习小结(六)接收点光源阴影
- ThreeJS学习之旅(1)
- 我们来学一学threejs的相机。深度学习,了解!
- Three.JS学习 6:光源
- UnityShader入门精要学习笔记(十二):渲染路径与光源类型
- OpenGL学习之材质RGB值和光源RGB值关系
- Android 3D 游戏学习笔记(4)-光源
- OpenGL学习脚印:光源类型和使用多个光源(Light source and multiple lights)
- Unity3D学习之光源
- WebGL和ThreeJs学习5--ThreeJS基本功能控件
- threejs学习心得(场景的搭建+运动模型导入)
- ThreeJS学习笔记(7)- 程序的性能
- 学习Unity3D第二天之制作耀斑、碰撞、风力区域、材质与预设体、创建公路、光源、声频实现与创建树木。
- ThreeJS学习之旅(2)