021-顶点法线与反射原理

81 阅读1分钟

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

反射的原理

  1. 当光源射向物体表面的时候,光源与物体表面垂直的线,我们称之为法线。可以理解为光源从不同的角度照射过来的角度不同。
  2. MeshBasicMaterial 不受光照的影响。而 MeshLambertMaterialMeshPhongMaterial 会受光照的影响,也就是会模拟真实的光照效果

如何设置法线

通过设置物体的 attributesnormal 属性

const normals = new Float32Array([
    0, 0, 1,
    0, 0, 1,
    0, 0, 1,
    0, 0, 1
]);
geometry.attributes.normal = new THREE.BufferAttribute(normals, 3);

示例