021-顶点法线与反射原理

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

反射的原理

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

如何设置法线

通过设置物体的 attributesnormal 属性

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

示例

相关推荐
恶猫19 分钟前
网页自动化模拟操作时,模拟真实按键触发事件【终级方案】
前端·javascript·自动化·vue·网页模拟
ZC跨境爬虫1 小时前
跟着 MDN 学 HTML day_2:(表单分组与高级输入控件实战)
前端·javascript·css·ui·html
千寻girling2 小时前
滑动窗口刷了快一个月(26天)了 , 还没有刷完. | 含(操作系统学什么的Java 后端)
java·开发语言·javascript·c++·人工智能·后端·python
一袋米扛几楼982 小时前
【报错问题】彻底解决 TypeScript 报错 TS2769: No overload matches this call (JWT 篇)
linux·javascript·typescript
牧码岛3 小时前
Web前端之JavaScrip中的Array、Object、Map和Set详解
前端·javascript·web·web前端
533_3 小时前
[pinia] vue3中监听pinia值的变化
前端·javascript·vue.js
AlenLi3 小时前
JavaScript - 相对实用的Axios二次封装
前端·javascript
一叶飘零晋3 小时前
【(二)Electron 使用之常用技巧】
javascript·electron·ecmascript
小小19923 小时前
vue 单页面请求
开发语言·前端·javascript
hhb_6183 小时前
JavaScript 本地存储与动态数据渲染实战案例
开发语言·javascript·ecmascript