位置: 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动态路由是什么)

  • vivox70pro+怎么设置返回键(vivox70pro+怎么设置无线充电)

    vivox70pro+怎么设置返回键(vivox70pro+怎么设置无线充电)

  • soul附近的人怎么找(soul附近的人怎么约出来)

    soul附近的人怎么找(soul附近的人怎么约出来)

  • 苹果手机怎么下载大于100m(苹果手机怎么下载安卓app并安装)

    苹果手机怎么下载大于100m(苹果手机怎么下载安卓app并安装)

  • qq手机在线说明什么(qq手机在线说明在玩手机吗)

    qq手机在线说明什么(qq手机在线说明在玩手机吗)

  • 为什么手机自动下载东西(为什么手机自动下载软件)

    为什么手机自动下载东西(为什么手机自动下载软件)

  • qq水果标识怎么弄(水果qq头像可爱卡通)

    qq水果标识怎么弄(水果qq头像可爱卡通)

  • wps如何冻结指定的行和列(wps2019如何冻结指定的行和列)

    wps如何冻结指定的行和列(wps2019如何冻结指定的行和列)

  • 华为云备份有必要开吗(华为云备份有必要吗)

    华为云备份有必要开吗(华为云备份有必要吗)

  • 电话拉入黑名单打电话会提示什么(电话拉入黑名单对方电话会提示什么)

    电话拉入黑名单打电话会提示什么(电话拉入黑名单对方电话会提示什么)

  • tcl是啥意思(tcl什么含义)

    tcl是啥意思(tcl什么含义)

  • i5 7300hq属于什么级别(i5 7300hq性能怎么样)

    i5 7300hq属于什么级别(i5 7300hq性能怎么样)

  • 虎牙直播一个藏宝图等于多少人民币(虎牙直播一个藏宝图多少钱)

    虎牙直播一个藏宝图等于多少人民币(虎牙直播一个藏宝图多少钱)

  • 错误代码1901什么意思(错误代码11901是什么)

    错误代码1901什么意思(错误代码11901是什么)

  • 什么是breeno空间(breeno空间为什么下线了)

    什么是breeno空间(breeno空间为什么下线了)

  • 苹果手机怎么安装小红书(苹果手机怎么安装卡)

    苹果手机怎么安装小红书(苹果手机怎么安装卡)

  • 手机欠费还能上网吗(手机欠费还能上网打电话)

    手机欠费还能上网吗(手机欠费还能上网打电话)

  • vivo手机微信视频怎么美颜(vivo手机微信视频横屏怎么调竖屏)

    vivo手机微信视频怎么美颜(vivo手机微信视频横屏怎么调竖屏)

  • 天猫店铺关了找谁售后(天猫店铺关了找不到商家)

    天猫店铺关了找谁售后(天猫店铺关了找不到商家)

  • xr没有电池百分比吗(苹果手机xr没有电池百分比)

    xr没有电池百分比吗(苹果手机xr没有电池百分比)

  • qq服务电话号码多少(qq的服务电话号码)

    qq服务电话号码多少(qq的服务电话号码)

  • 盒马鲜生如何点外卖(盒马鲜生如何点堂食)

    盒马鲜生如何点外卖(盒马鲜生如何点堂食)

  • Win11操作系统无缝支持安卓 App 界面大更新(win11开机后无法操作)

    Win11操作系统无缝支持安卓 App 界面大更新(win11开机后无法操作)

  • 织梦DEDECMS关于提交表单“数据校验不对”的解决办法(织梦设置的关键词看不到)

    织梦DEDECMS关于提交表单“数据校验不对”的解决办法(织梦设置的关键词看不到)

  • 个体户超过了核定征收额怎么交税
  • 进口货物增值税纳税人是谁
  • 小规模季度不超过30万是含税还是不含税
  • 企业注册资金需要拿钱出来吗
  • 非营利组织注销流程
  • 跨年发票问题
  • 二房东转租需要备案吗
  • 退货折价的账务处理分录
  • 捐赠支出税前扣除
  • 国外客户手续费差异账务处理如何做?
  • 以资抵债是利空还是利好
  • 支付单位结算卡年费计入什么科目
  • 小规模纳税人税控盘怎么做账
  • 商品销售赠送部分要交税吗
  • 劳务发票普票怎么开
  • 咨询费收入交什么税种
  • 园林设计开票
  • 重庆个人住房房产税申报
  • 印花税加工承揽税率
  • 金银首饰零售消费税税收优惠
  • 加计抵减申报表填写视频
  • 金蝶怎么一次性删除所有分录
  • mac怎么分区硬盘分区
  • 注册表关闭微软yes改成no
  • 研发费加计扣除申报表怎么填
  • 为离职员工代缴社保 论
  • mac触控板使用技巧
  • 预计负债内容
  • 现金日记账的填制要求
  • 农产品来料加工设备
  • php登录注册
  • 营改增前建筑工程需交哪些税种
  • vue2路由跳转页面不刷新问题
  • HTTP 错误 500.19- Internal Server Error 错误解决方法
  • 产品出库单附在什么凭证后面
  • 查找命令位置
  • python 3.4.3 shell
  • 汇算清缴补税的情况有哪些
  • 当月的印花税什么时候申报
  • 显示已申报未导入
  • 计提折旧是怎么计算的
  • 小企业会计准则调整以前年度费用分录
  • 银行不良资产核销后怎么处理
  • mongodb视频教程
  • 关于python序列类型
  • mysql最新版怎么中文
  • 出售固定资产不确认收入
  • 残保金怎么计提和缴纳
  • 一般纳税人简易征收的适用范围
  • 私人出租房子发圈文案
  • 未实现内部交易损益是什么意思
  • 专项应付款科目编码是多少
  • 发票保管应由谁保管
  • 单利率和复利率公式
  • 如何使用费用分割单
  • 收到个人退回的社保费,怎样做分录
  • 虚拟模块
  • 会计怎么核对出纳的日记账
  • sql的排序函数
  • windows vista pe
  • 远程修改微信聊天记录
  • win8.1安装过程
  • 全自怎么安装方法
  • Mac如何使用Excel
  • win8如何使用
  • android:Background线程池和UiThread线程池
  • 通过扣缴义务人申报和综合所得年度自行申报
  • nodejs test
  • Qualcom QMI系列-基本知识介绍
  • 磁盘监视器在哪
  • 健壮的什么
  • python中的range和arange
  • 用原生js实现过什么功能
  • python bottle 教程
  • 小规模纳税人怎么申报纳税
  • 小规模纳税人销售额怎么算
  • 移动办税12366
  • 河南新乡地税局罗姓病逝
  • 上海税务办事大厅电话
  • 辽宁交管12123能用微信支付吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设