019-各种灯光和常用helper(一)

46 阅读1分钟

该系类文章主要用于记录学习three.js的过程,包括做的一些demo,笔记,以及个人思考;主要学习的课程是 神光的小册《three.js通关秘籍》,感兴趣的可以购买学习,质量还是可以的

DirectionalLight平行灯

说明

光线是平行的,一般用来实现太阳光,太阳光从很远的地方射过来,可以理解为就是平行光

用法和效果

const light = new THREE.DirectionalLight(0xffffff);
light.position.set(400, 500, 300);
light.lookAt(0, 0, 0);

PointLight 点光源

说明

从一个发射出来的光,类似于灯泡的灯光

用法和效果

const light = new THREE.PointLight(0xffffff, 1000000);
light.position.set(400, 500, 300);
light.lookAt(0, 0, 0);

AmbientLight 环境光

说明

均匀照射到物体上,用来照亮整个场景

用法和效果

const ambientLight = new THREE.AmbientLight(0xffffff);
mesh.add(ambientLight);

SpotLight 聚光灯

说明

比较聚拢的灯光,类似于手电筒的灯光效果,或则舞台的灯光效果

用法和效果

const light = new THREE.SpotLight(0xffffff, 1000000);
light.distance = 1000;
light.angle = Math.PI / 6;
light.position.set(400, 500, 300);
light.lookAt(0, 0, 0);