blender 基础材质篇

news2024/12/26 0:03:18

材质展示

材质背景介绍

什么是PBR?

PBR 全称为 Physically Based Rendering,译为基于物理属性的引擎渲染,也就是说会把物质的颜色、粗糙度、高光属性等进行分别处理,使物质体现出更真实的感觉;

什么是BRDF?

BRDF全称为 Bidirectional Reflectance Distribution Function,译为双向反射分布函数,也就是说光线从某个方向入射到表面后,能量被该表面吸收,然后再朝着各个方向发射出去。

当前 blender 采用的是原理化 BSDF =BRDF + BTDF,BSDF 包含了 BRDF(反射) + BTDF(透射)

 

如何添加和删除材质 

添加材质
  1. 打开 blender,会默认有一个立方体,一个摄像机,一盏灯光,选择物体,点击右侧的材质图标,物体默认是有材质的,右侧面板可以修改材质名称,调整材质颜色等;
  2. 点击右上角材质预览,可以观察材质效果,点击后方下拉箭头,关闭场景世界,软件会默认添加一个 HDR 贴图,照亮场景,便于观察材质效果(此处 HDR 为虚拟场景,渲染时无效果);
  3. shift + a 新建模型,此时选择右侧的材质图标,发现为空白,点击新建材质即可新建左侧材质球图标展开,可以查看创建过的所有材质,点击需要的材质,即可添加上;

添加多重材质

  1. 给材质添加一个默认材质,tab 进入编辑模式,面模式下,双击选择一圈面,选择添加颜色,点击指定,即可赋予选中材质另一个颜色;

 

 删除材质

选择模型,点击材质面板右侧的 — 号,即可删除材质,材质球列表中,名称前方的数字 0 代表此材质未使用,若关闭软件,再次打开时,未使用的材质球会被系统自动删除,因此若需要保留材质球,需要给次材质球添加保护,此时材质球列表前方的数字会变为 f ,意为给未使用的材质赋予一个伪用户;

分割界面

 鼠标悬停到顶部图标后面,会出现一个加号图标,拖动的小图标,往左拖动,会将窗口分成两个,或者至于下方分割线,点击左键,会出现弹框,选择垂直分割或其他,点击显示区域,也可分割画面;

分割窗口后,点击左侧 # 图标,选择着色编辑器,界面会更改为着色​​​​​​​编辑模式,会发现每个材质都是有节点逻辑在里面,着色编辑器就是展示所有的材质逻辑节点;

原理化 BSDF 详解

中间框选部分是最为重要的,必须要掌握的;

GGX 是一种微表面反射光照模型,blender 用此模型模拟一些反射材质;

多重散射 GGX,比 GGX 模拟得更细致,但肉眼几乎看不出来,且渲染速度更慢,默认采用 GGX 即可;

基础色:调整颜色;

金属度:将模型调整为金属或者非金属,1 代表金属,0 代表非金属,通常情况下不给中间值,若反射不够亮,可以更改下方糙度;

糙度:模型表面的粗糙程度,0 代表平滑,1 代表粗糙;

光泽:模型边缘有白光,0 代表没有,1 代表有,多用于丝绒材质,面料反光等效果比较好;

光泽染色:模型边缘的光会和模型颜色融合;

清漆:类似于车漆,会在模型表面浮上一层白色的包膜,0 代表没有,1 代表有;

投射:0 代表不透明,1 代表透明;

投射粗糙度:调整模型内部的粗糙度;

次表面:主要是用于制作软糖、翡翠、皮肤这些有透光属性的材质,调节基础色、次表面颜色,次表面参数;

次表面半径:光透过模型的程度和距离,展开有三个值,分别代表 RGB 通道的三个值;

 

IOR 折射率:代表不同材质的折射率,不同物体的折射率可网上自查;必备:数百种常见材质的折射率值(IOR)必备:数百种常见材质的折射率值(IOR)icon-default.png?t=N6B9http://www.360doc.com/content/12/0121/07/77309395_1013051454.shtml

高光:生活中的物体基本都有反射,有反射就都会有高光,高光的强弱和物体的反射率有关,反射率又和菲尼尔的效应有关;

什么是菲尼尔效应?

菲涅尔效应是一种物理现象,它指的是光经过透明或半透明介质时发生折射和反射的现象。这种现象是由法国物理学家奥古斯丁·菲涅尔在19世纪中期发现的。

 汇总

学习笔记来源

blender 材质基础——KurTipsicon-default.png?t=N6B9https://www.bilibili.com/video/BV14u41147YH?p=14&spm_id_from=pageDriver&vd_source=98ff6b45a8ad88aa9e7408ec9cebb330

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/779210.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】初识多线程深入理解进程地址空间

目录 1 多线程的引入 1.1 相关概念 1.2 Linux操作系统理解多线程 特殊的进程结构 创建子进程的过程 创建多线程 进程与线程之间的关系 1.3 对多线程结构的管理 Windows管理多线程 Linux管理多线程 1.4 理解多线程与多进程相比,调度的成本更低 2 深入理…

[JAVAee]volatile关键字

目录 1.volatile的特性 ①保持线程可见性 2.volatile注意事项及适用场景 ①注意事项 ②适用场景 1.volatile的特性 ①保持线程可见性 volatile,译为"易变的". 对此我们就可以这样理解,对于被volatile修饰的变量的数值,是容易变化的. 在之前的线程安全文章中,…

XILINX ZYNQ 7000 AXI总线 (二)

了解了AXI 的大部分内容后,开始做一个实战,就是完成AXI 结构的输入输出搭建。 一.创建一个IP 3. 4. 5. 6.选择AXI FULL,创界主接口和从接口 7. 8.可以看到XILINX AXI FULL 的源代码 二.创建一个新的工程,把IP导入到这个工…

ARP系统的命令行基础

系列文章目录 华为数通学习(2) 一、基本命令结构 二、命令行视图 设备提供了多样的配置和查询命令,为便于用户使用这些命令,VRP系统按功能分类将命令分别注册在不同的命令行视图下。 2.1,命令行视图介绍 我们接下来…

DevOps系列文章 之GitLabCI模板库的流水线

目录结构,jobs目录用于存放作业模板。templates目录用于存放流水线模板。这次使用​​default-pipeline.yml​​作为所有作业的基础模板。 作业模板 作业分为Build、test、codeanalysis、artifactory、deploy部分,在每个作业中配置了rules功能开关&…

栈和队列 --- C语言实现

本篇文章来详细介绍一下栈和队列,并且通过数组或链表来实现。 目录 1.栈 1.1栈的概念及结构 1.2栈的实现 2.队列 2.1队列的概念及结构 2.2队列的实现 3.栈和队列面试题 4.相关概念选择题 1.栈 1.1栈的概念及结构 栈:一种特殊的线性表&#xff…

项目初始化--uniapp--vscode--vue3--ts

HBuilderX 创建 uni-app 项目 注意开启服务端口 目录结构 ├─pages 业务页面文件存放的目录 │ └─index │ └─index.vue index页面 ├─static 存放应用引用的本地静态资源的目录(注意:静态资源只能存放于此) ├─unpackage …

eclipse中经常遇到的maven相关的问题

maven工程依赖的jar包无法部署到tomcat中 右键maven工程&#xff0c;选择“属性” 将工程在tomcat重新发布即可。 2、Update Project or use Quick Fix maven工程总是提示更新&#xff0c;一更新java版本又回到1.5 在pom.xml添加如下&#xff1a; <build><finalN…

【jenkins】idea+jenkins+docker+dockerfile+compose流水线部署java应用

目录 整体架构 环境准备 安装docker以及docker-compose jenkins安裝 maven安装 portainer面板安装 sonarqube安装 在项目中增加dockerfile和compose.yml脚本 Dockerfile脚本内容 compose.yml脚本内容 jenkins安装必要插件 jenkins增加流水线任务 增加pipeline任务j…

windows下搭建php开发环境

http://wed.xjx100.cn/news/139397.html?actiononClick https://www.bilibili.com/read/cv23429835/ https://www.php.cn/faq/498307.html 安装iis 选择卸载程序 安装php 官网https://www.php.net/下载 选择线程安全 国内地址 下载完成后解压放到想存放的路径 添加p…

【Deviation】50 Matplotlib Visualizations, Python实现,源码可复现

详情请参考博客: Top 50 matplotlib Visualizations 因编译更新问题&#xff0c;本文将稍作更改&#xff0c;以便能够顺利运行。 本文介绍一下5中图示&#xff1a; Diverging Bars Diverging Texts Diverging Dot Plot Diverging Lollipop Chart with Markers Area Chart 1 Di…

OpenCv之车辆统计项目

目录 一、加载视频 二、去除背景 三、通过形态学识别车辆 四、对车辆统计 一、加载视频 代码如下: import cv2 import numpy as np import matplotlib.pyplot as plt# 视频加载 cap cv2.VideoCapture(2.mp4)# 循环读取视频帧 while True:ret,frame cap.read()if ret Tr…

【Vue】day03-VueCli(脚手架)

day03 一、今日目标 1.生命周期 生命周期介绍 生命周期的四个阶段 生命周期钩子 声明周期案例 2.综合案例-小黑记账清单 列表渲染 添加/删除 饼图渲染 3.工程化开发入门 工程化开发和脚手架 项目运行流程 组件化 组件注册 4.综合案例-小兔仙首页 拆分模块-局部…

Java-API简析_java.net.Proxy类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意&#xff0c;谢绝转载&#xff01;&#xff08;请尊重原创&#xff0c;博主保留追究权&#xff09; https://blog.csdn.net/m0_69908381/article/details/131881661 出自【进步*于辰的博客】 因为我发现目前&#xff0c;我对Java-API的学习意识比较薄弱…

Element Ui 时间组件

很多时候在我们做项目的时候一般都会用到时间组件&#xff0c;其次js中&#xff1a;new dateNow new Date();得到的是Thu Jul 28 2022 15:04:32 GMT0800 (中国标准时间)&#xff0c;都需要去转换自己需要的时间格式。 接下来介绍Element Ui中的一个组件: <el-date-picker…

windows 服务器允许 ping

打开 Widnows 防火墙&#xff0c;高级 – 入站规则 找到以下 4 条规则&#xff0c;一条一条的点击右边的 &#xff1a; 启用规则 文件和打印机共享(回显请求 - ICMPv4-In) 文件和打印机共享(回显请求 - ICMPv6-In) 虚拟机监控(回显请求 - ICMPv6-In) 虚拟机监控(回显请求- IC…

【Linux网络编程】- 认识 ‘’协议‘‘ | 网络版本计算器

目录 一、“协议” 的概念 二、结构化数据的传输 三、序列化和反序列化 序列化和反序列化的目的 四、网络版本计算器 服务端&#xff08;server&#xff09; 协议定制&#xff08;protocal&#xff09; 客户端&#xff08;client&#xff09; 服务器处理请求逻辑&#…

【Unity3D】地面网格特效

1 前言 本文实现了地面网格特效&#xff0c;包含以下两种模式&#xff1a; 实时模式&#xff1a;网格线宽度和间距随相机的高度实时变化&#xff1b;分段模式&#xff1a;将相机高度分段&#xff0c;网格线宽度和间距在每段中对应一个值。 本文完整资源见→Unity3D地面网格特效…

C++ —— 类与对象(上)

前言 由于C在C语言的基础上移植了新的编程理念&#xff0c;所以我们先回顾一下C语言所遵循的旧的理念。一般来说&#xff0c;计算机语言要处理两个概念——数据和算法。数据是程序使用和处理的信息&#xff0c;而算法是程序使用的方法。C语言与当前最主流的语言一样&#xff0…

关于 Qt中的QString内容存在\u0000使用QChart(0x00)消除 的解决方法

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/131860574 红胖子(红模仿)的博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软…