图形化开发(五)022-Three.js之材质——受光影响-MeshLambertMaterial 兰伯特材质 & MeshPhongMaterial 高光材质

添加光

由于MeshBasicMaterial不会受光的影响,即使有光也不会影响它的效果,前面我们也没有添加光。但是后面介绍的材质会受到光源的影响,在介绍之前,我们需要添加一个光源,来影响材质的显示效果。

//创建灯光
function initLight() {var light = new THREE.DirectionalLight(0xffffff); //添加了一个白色的平行光light.position.set(20, 50, 50); //设置光的方向scene.add(light); //添加到场景//添加一个全局环境光scene.add(new THREE.AmbientLight(0x222222));
}
MeshLambertMaterial 兰伯特材质

这种材质会对光有反应,但是不会出现高光,可以模拟一些粗糙的材质的物体,比如木头或者石头。实现案例:

geometry = new THREE.BoxGeometry( 2, 2, 2 ); //创建几何体
material = new THREE.MeshLambertMaterial({color:0x00ffff}); //创建材质mesh = new THREE.Mesh( geometry, material ); //创建网格
scene.add( mesh ); //将网格添加到场景
MeshPhongMaterial 高光材质

这种材质具有高光效果,可以模拟一些光滑的物体的材质效果,比如油漆面,瓷瓦等光滑物体。实现案例:

geometry = new THREE.BoxGeometry( 2, 2, 2 ); //创建几何体
material = new THREE.MeshPhongMaterial({color:0x00ffff}); //创建材质mesh = new THREE.Mesh( geometry, material ); //创建网格
scene.add( mesh ); //将网格添加到场景

图形化开发(五)022-Three.js之材质——受光影响-MeshLambertMaterial 兰伯特材质 MeshPhongMaterial 高光材质相关推荐

  1. 图形化开发(五)021-Three.js之材质——不受光影响-MeshBasicMaterial-同颜色MeshNormalMaterial-方向不同颜色LineBasicMaterial线条材质

    图形化开发(五)021-Three.js之材质--不受光影响-MeshBasicMaterial-整个物体颜色一样&MeshNormalMaterial-方向不同自动改变颜色 & Li ...

  2. 图形化开发(一)——Three.js基本介绍-优缺点-在线编辑器 Babylon.JS是最好的JavaScript3D游戏引擎

    图形化开发(一)--Three.js基本介绍-优缺点-在线编辑器 & Babylon.JS是最好的JavaScript3D游戏引擎 课程主要学习目标 Threejs ( 3d ) D3 (做数 ...

  3. 图形化开发(六)01-Three.js之导入模型——3dmax和SketchUp-editor编辑器导出json文件,在创建模型initMesh中外部的JSON文件

    图形化开发(六)01-Three.js之导入模型--3dmax和SketchUp-editor编辑器导出json文件,在创建模型initMesh中外部的JSON文件 导入模型 官方推荐我们使用的3D模 ...

  4. 图形化开发(一)——D3.js的基本介绍、技术原理

    图形化开发(一)--D3.js的基本介绍.技术原理 D3.js 为什么学习D3 中文官网--https://www.d3js.org.cn/ github--https://github.com/d3 ...

  5. Arduino的图形化开发环境: ArduBlock

    转载自http://youngmakers.cn/groups/articles/54f9466b9835fed6656d4dd6 ArduBlock是一款为Arduino设计的开源图形化编程软件,由 ...

  6. 【MSP430G2553】图形化开发笔记(2) 系统时钟和低功耗模式

    目录 系统时钟概述 BCS+模块单元的基本构造 时钟-概览 介绍 Basic User 模式 Power User 模式 1. 数控振荡器 DCO 2. 出厂预校正频率 3. 低频振荡器 VLO 4. ...

  7. python 图形化开发用什么模块_用python进行GUI开发的选择/python的GUI模块(图形界面开发库)...

    Python最大的特点就在于她的快速开发功能.作为一种胶水型语言,python几乎可以渗透在我们编程过程中的各个领域.这里我简单介绍一下用python进行gui开发的一些选择. 1.Tkinter T ...

  8. pyqt5 不报错退出_最新版本Python图形化开发环境Anaconda(Python3.7) +PyQT5+Eric6

    Anaconda是完全免费的企业级的Python发行大规模数据处理.预测分析和科学计算工具.Anacoda是Python科学技术包的合集,所以不同的包所遵循的协议不一样.PyQt5与Eric6是众所周 ...

  9. 微信小程序开发(五) - 全局(app.js)逻辑 - js 文件

    微信小程序中使用的逻辑文件 ,本质上还是.js 文件,脚本中的很多东西进行了二次封装,本质上可以在外部调试中,查看 逻辑层(App Service) 小程序开发框架的逻辑层由 JavaScript 编 ...

最新文章

  1. 《UX最佳实践:提高用户体验影响力的艺术 》一3.6 总结
  2. cocos2d-x开发中wstring和string的转换
  3. jenkins的基本操作
  4. 程序人生之回顾大学前两年----第一篇
  5. 关于 UDP Hole Punching 的资料
  6. nginx多进程模型之配置热加载---转
  7. 空间滤波_第三章 灰度变换与空间滤波-(六)锐化空间滤波器之非锐化掩蔽
  8. 金士顿 8G u盘 红色 量产记录
  9. Caffe CuDNN版本与环境不同导致make错误
  10. 爆款入门 | 第 14 期微生物组-扩增子16S分析和可视化(线上/线下同时开课,2022.4)...
  11. 深度学习二(Pytorch物体检测实战)
  12. 64位BASM学习随笔(一)
  13. (2)R包,GO.db调研(数据库构建角度解析)
  14. 计算机基础证和PS证,全国计算机等级PHOTOSHOP一级证书
  15. 全能扫描王(一款识别率超高的OCR识别APP)
  16. Origin 画图——简单的柱状图画法
  17. Windows安装Nginx并设置开机自启
  18. ESP8266 (WEMOS D1 R1 ) + L9110S_FOUR 驱动直流电机
  19. 考研复习--高等数学
  20. 什么是加密?什么是md5加密算法?

热门文章

  1. Google Doodle — 谷歌的插画之道
  2. MC/SG集群系统概述
  3. 怎样用C语言编写病毒
  4. 计算机系口号8字,班级口号霸气押韵8字
  5. 贵阳 计算机就业,学计算机专业就业率高值得信赖_贵阳经济技术学校
  6. 达内推出内部员工购房计划最高可贷50万
  7. 实践一个GNSS系统的基础理论和工程概念
  8. Android Studio页面跳转共享参数
  9. java跟python哪个好找工作-短期找工作,编程语言是学习Python还是Java好呢?
  10. 活体检测:keras