位置: IT常识 - 正文

Three.js教程:材质效果(three.js 入门)

编辑:rootadmin
Three.js教程:材质效果

推荐整理分享Three.js教程:材质效果(three.js 入门),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:three.js菜鸟教程,three. js,three. js,three.js glb,three.js 教程,three.js中文教程,three. js,three.js入门指南,内容如对您有帮助,希望把文章链接给更多的朋友!

推荐:将NSDT场景编辑器加入你3D工具链

其他工具系列:NSDT简石数字孪生

材质效果

前面案例中几何体对应网格模型材质只是设置了一个颜色,实际渲染的时候往往会设置其他的参数,比如实现玻璃效果要设置材质透明度,一些光亮的表面要添加高光效果。

半透明效果Three.js教程:材质效果(three.js 入门)

更改场景中的球体材质对象构造函数THREE.MeshLambertMaterial()的参数,添加opacity和transparent属性,opacity的值是0~1之间,transparent表示是否开启透明度效果, 默认是false表示透明度设置不起作用,值设置为true,网格模型就会呈现透明的效果,使用下面的代码替换原来的球体网格模型的材质, 刷新浏览器,通过鼠标旋转操作场景,可以看到半透明的球体和立方体颜色叠加融合的效果。

var sphereMaterial=new THREE.MeshLambertMaterial({ color:0xff0000, opacity:0.7, transparent:true});//材质对象

材质对象的一些属性可以在构造函数参数中设置,也可以访问材质对象的属性设置。

material.opacity = 0.5 ;material.transparent = true ;材质常见属性材质属性简介color材质颜色,比如蓝色0x0000ffwireframe将几何图形渲染为线框。 默认值为falseopacity透明度设置,0表示完全透明,1表示完全不透明transparent是否开启透明,默认false添加高光效果

直接使用下面的代码替换上面的透明度材质即可,刷新浏览器可以看到球体表面的高光效果。

var sphereMaterial=new THREE.MeshPhongMaterial({ color:0x0000ff, specular:0x4488ee, shininess:12});//材质对象

处在光照条件下的物体表面会发生光的反射现象,不同的表面粗糙度不同,宏观上来看对光的综合反射效果,可以使用两个反射模型来概括,一个是漫反射,一个是镜面反射, 使用渲染软件或绘画的时候都会提到一个高光的概念,其实说的就是物理光学中镜面反射产生的局部高亮效果。实际生活中的物体都是镜面反射和漫反射同时存在,只是哪个占得比例大而已, 比如树皮的表面更多以漫反射为主基本没有体现出镜面反射,比如一辆轿车的外表面在阳光下你会看到局部高亮的效果,这很简单汽车表面经过抛光等表面处理粗糙度非常低, 镜面反射效果明显,对于three.js而言漫反射、镜面反射分别对应两个构造函数MeshLambertMaterial()、MeshPhongMaterial(),通过three.js引擎你可以很容易实现这些光照模型,不需要自己再使用原生WebGL实现,更多关于光照模型的知识可以参考文章《WebGL_course光照渲染立方体》或计算机图形学的相关书籍。

前面案例都是通过构造函数MeshLambertMaterial()实现漫反射进行渲染,高光效果要通过构造函数MeshPhongMaterial()模拟镜面反射实现,属性specular表示球体网格模型的高光颜色,改颜色的RGB值会与光照颜色的RGB分量相乘, shininess属性可以理解为光照强度的系数,初学的的时候这些细节如果不清楚,不用深究,每个人的基础不同,理解问题的深度和角度不同,比如高光,学习过计算机图形学的会联想到镜面反射模型和物理光学, 从事过与美术相关工作,都知道需要的时候会给一个物体添加高光,视觉效果更加高亮,因此对于构造函数MeshPhongMaterial()的参数设置不太清除也没关系,对于零基础的读者本节课的要求就是有个简单印象就可以, 站在黑箱外面理解黑箱;对于有WebGL基础的,可以思考three.js引擎构造函数实际封装了哪些WebGL API和图形学算法,站在黑箱里面理解黑箱,如果是你你会怎么封装开发一个三维引擎,这样你可以从底层理解上层的问题, 保证学习的连贯性;如果你使用过其它的三维建模渲染软件,那就使用three.js这个黑箱类比一个你熟悉的黑箱,通过类比降低学习难度,比如你可以打开3dmax软件设置一个材质的高光,体验下视觉效果。

材质类型

threejs提供了很多常用的材质效果,这些效果本质上都是对WebGL着色器的封装,对于开发者来说直接使用就可以,这里不再做过多介绍,大家现有一个印象即可。

材质类型功能MeshBasicMaterial基础网格材质,不受光照影响的材质MeshLambertMaterialLambert网格材质,与光照有反应,漫反射MeshPhongMaterial高光Phong材质,与光照有反应MeshStandardMaterialPBR物理材质,相比较高光Phong材质可以更好的模拟金属、玻璃等效果

3D建模学习工作室

本文链接地址:https://www.jiuchutong.com/zhishi/300832.html 转载请保留说明!

上一篇:React脚手架工具创建项目的详细介绍(react脚手架搭建项目)

下一篇:vue实现动态路由添加(简单无废话版本)(vue动态路由是什么)

  • 格力空调强劲模式怎么开(格力空调强劲模式怎么关闭没有显示)

    格力空调强劲模式怎么开(格力空调强劲模式怎么关闭没有显示)

  • iqoo5手机是立体双扬声器吗(iqoo3是立体声吗)

    iqoo5手机是立体双扬声器吗(iqoo3是立体声吗)

  • 荣耀x10后盖是玻璃材质吗(荣耀x10后盖玻璃不是原装)

    荣耀x10后盖是玻璃材质吗(荣耀x10后盖玻璃不是原装)

  • ios14如何更新(ios14如何更新软件)

    ios14如何更新(ios14如何更新软件)

  • 小米8重量多少克(小米8多重多少克)

    小米8重量多少克(小米8多重多少克)

  • 一个爱奇艺会员可以登几个设备(一个爱奇艺会员能几个人用)

    一个爱奇艺会员可以登几个设备(一个爱奇艺会员能几个人用)

  • 微信二维码过期了怎么才能恢复(微信二维码过期了怎么才能进群)

    微信二维码过期了怎么才能恢复(微信二维码过期了怎么才能进群)

  • 网易云如何查看已购专辑(网易云如何查看听歌次数)

    网易云如何查看已购专辑(网易云如何查看听歌次数)

  • 滴滴出行怎么看历史订单(滴滴出行怎么看剩余骑行次数)

    滴滴出行怎么看历史订单(滴滴出行怎么看剩余骑行次数)

  • 相机ois是什么意思(相机oss是什么意思)

    相机ois是什么意思(相机oss是什么意思)

  • 为什么下载微信的时候显示不能现在下载(为什么下载微信在手机页面不显示)

    为什么下载微信的时候显示不能现在下载(为什么下载微信在手机页面不显示)

  • 微信暗色页面怎么设置(微信暗色页面怎么调亮度)

    微信暗色页面怎么设置(微信暗色页面怎么调亮度)

  • excel表格变小了怎么恢复(Excel表格变小了怎么放大)

    excel表格变小了怎么恢复(Excel表格变小了怎么放大)

  • 怎么把docx转换成txt(怎么把docx转换成word)

    怎么把docx转换成txt(怎么把docx转换成word)

  • 苹果11怎样设置指纹解锁(苹果11怎样设置陌生号码拦截)

    苹果11怎样设置指纹解锁(苹果11怎样设置陌生号码拦截)

  • nova5pro低配版啥意思(nova5pro高配版)

    nova5pro低配版啥意思(nova5pro高配版)

  • emui是鸿蒙系统吗(鸿蒙是emui几)

    emui是鸿蒙系统吗(鸿蒙是emui几)

  • 闹钟就寝怎么删除(怎么删除闹钟就寝)

    闹钟就寝怎么删除(怎么删除闹钟就寝)

  • 拼多多九块九入口在哪(拼多多9块9是不是真的?)

    拼多多九块九入口在哪(拼多多9块9是不是真的?)

  • 华为出行路况怎么设置的(华为手机的路况在哪里设置)

    华为出行路况怎么设置的(华为手机的路况在哪里设置)

  • reno z和reno区别(reno和renoz外观一样吗)

    reno z和reno区别(reno和renoz外观一样吗)

  • 计算机clock是什么意思(计算机clock表示什么?)

    计算机clock是什么意思(计算机clock表示什么?)

  • 苹果11有指纹解锁吗(苹果11有指纹解锁的手机)

    苹果11有指纹解锁吗(苹果11有指纹解锁的手机)

  • 微信小气泡视频怎么发(微信气泡视频怎么不留痕迹呢)

    微信小气泡视频怎么发(微信气泡视频怎么不留痕迹呢)

  • 小飞智能无线音箱如何配网(小飞连接)

    小飞智能无线音箱如何配网(小飞连接)

  • 微信笔记内容已超过下载期限(微信笔记内容已过期或被清理别人打不开怎么办)

    微信笔记内容已超过下载期限(微信笔记内容已过期或被清理别人打不开怎么办)

  • 未交增值税借贷方负数表示
  • 什么是增值税一般纳税人
  • 补贴收入属于什么分配
  • 货运代理开票系统如何开票
  • 物业公司财务制度及核算方法
  • 增值税申报错误如何重报
  • 完税证明必须本人办理吗
  • 建筑业异地预缴增值税流程
  • 企业所得税弥补亏损年限
  • 发票作废进项税额转出怎么做账
  • 加油站销售加油卡是否征收增值税
  • 旅行社小规模纳税人增值税怎么征税
  • 企业申报表填写错误
  • 税收协助
  • 企业亏损减资的会计处理
  • 收取滞纳金是行政处罚吗
  • 小规模查账征收增值税怎么算
  • 使用U盘安装win7出现找不到任何设备驱动程序
  • 暂估成本比实际高分录
  • 怎样结转销售成本会计分录
  • 货币资金资产处置损益表如何填
  • 简易征收的分录
  • win11镜像文件怎么复制到系统U盘
  • 备抵法是什么科目
  • 合伙企业分配股票给合伙人
  • php模板引擎原理
  • php处理数据
  • 快速查找附近的人
  • 销售提成属于什么费用
  • html+javascript
  • 药品进销差价的计算公式
  • 雪花算法workid
  • Diffusion models代码实战:从零搭建自己的扩散模型
  • sysstat命令
  • 公司一年没有业务
  • 商业承兑汇票如何查询
  • 其他收益在利润表填在哪里
  • CINLINELE工具
  • mysql备份数据恢复
  • python copyto
  • 资产处置损益明细表货币资金怎么填
  • sql server 2008打开界面
  • sqlserver如何锁表
  • 什么是一般公共预算财政拨款
  • 一般纳税人实际税负怎么核算
  • 待处理财产损益是什么意思
  • 已提足折旧的固定资产出售的账务处理
  • 工资的内容包括很多项
  • 社会保险与商业人身保险的区别有
  • 本月增加的无形资产本月摊销
  • 借款怎么入会计分录
  • 在职职工暖气费补助款
  • 营改增试点纳税人提供技术转让
  • 以前年度管理费用
  • 不动产拆除的收入处理
  • 城建税50%减免条件
  • 企业职工食堂就餐收费
  • 员工自动辞职有工龄工资吗
  • 供应链公司的骗局招司机是真的吗
  • 其他业务收入的现金流量项目
  • 盈利赢利营利手机文章
  • etc电子发票需要勾选吗
  • 暂估收入怎么做分录
  • atwakeup进程
  • windows怎么查
  • 如何升级mac系统到10.12
  • win7桌面图标有小方块
  • node.js wss
  • python获取当前路径的方法
  • 电脑完美平台
  • unity yield
  • js原生dialog
  • javascrpt绑定事件之匿名函数无法解除绑定问题
  • c#中init
  • js时间戳转日期格式
  • 划拨土地转让需要交什么税
  • 电子税务局开的发票怎么作废
  • 车辆购置税免税条件
  • 电子税务局房产税怎么申报
  • 西安新公司税务注销流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设