unity3d学习笔记-着色器(1.一些概念)
一、网格
1.定义
网格是 GameObject 的 3D 骨架。Unity 中的每个 GameObject 都有一个网格。它是对象的几何元素。
2.结构
网格是由顶点(单数:vertex )定义的一系列平面 2D多边形,这些顶点是 3D 空间中存储为 XYZ 坐标的点。
如果 3D 对象仅由 2D 多边形制成,那么它将像钻石或其他宝石一样刻面。3D 网格需要额外的信息才能使它们在某些地方显得平滑或弯曲。
3.相关组件
网状过滤器组件
Mesh Filter 组件指向您项目中的网格坐标数据。
网格渲染器组件
Explore meshes and rendering - Unity Learn
二、渲染与渲染管线(render and pipeline)
1.渲染
渲染是获取三维 (3D) 数据并使用它为屏幕生成二维 (2D) 图像的过程。
2.渲染管线
如果渲染是从 A 点到 B 点(3D 数据到 2D 图像)的过程,那么您可以将渲染管道视为到达那里的不同方式。
由于每个渲染管线使用不同的技术和计算来生成 2D 图像,因此结果可能会有所不同,具体取决于选择的管线
Get started on your guided project - Unity Learn
三、着色器
1.定义
着色器是一个脚本,它应用材质中包含的属性来将 3D 对象的网格渲染到屏幕上的 2D 图像。
每个着色器都是为特定的渲染管道编写的。
Explore shaders - Unity Learn
2.shaders and materials的关系
着色器定义了表面的外观,而材质定义了它的外观
Manage materials in a project - Unity Learn
四、反射
1.漫反射:Base Map(Albedo或Diffuse Map)
什么是反照率(Albedo)?
为什么叫地图(Map)?
地图可以是纯色的,也可以用 2D 图像指定以增加表面的变化。您用于设置 Base Map 属性的颜色选择器仅将所选颜色应用为纯色。
2.镜面反射:Specular、smoothness
高光不同于平滑度。我们可以把一个红苹果打磨到非常光滑,但它永远不会变成金属。然而,为了有任何镜面反射,一个光滑的物体必须有一些镜面反射。
下图中的苹果具有相同的平滑度,但增加了高光度。
Specular、Metallic
镜面反射作为材料的一种属性,是一种指定表面看起来像金属的方法。您可以使用两种工作流程来指定材质中的金属外观——Specular、Metallic
Metallic 工作流程更常见,因为它更易于使用,但它并不科学。高光工作流程基于真实世界的反射率原理,但彩色高光贴图使其更具挑战性。
3.平滑度smoothness
平滑度,也称为光泽度或光泽度,使镜面反射成为焦点。从光滑的表面,光线以均匀的方式反射,因此您可以在反射中看到光源的形状。
在下图中,所有五个苹果的金属色设置均为 0.5,平滑度增加。在最光滑的一张上,我们可以看到桌子的灯光和反射。
Simulate solid surfaces - Unity Learn
五、贴图、纹理(Maps、textures)
1.什么是纹理?
定义:贴图是 2D 图像,它像一张纸一样环绕游戏对象,以设置网格中的颜色、镜面反射或金属度、物理纹理和其他属性。包含地图的图像文件称为纹理。
2.底图纹理base map textures
用于改变颜色
将纹理从 Project 窗口拖到材质的Base Map属性左侧的空框中;
尝试使用颜色选择器设置基色来为底图纹理着色。通常你会希望这种颜色是白色的,这样它就不会改变纹理颜色,但有时着色会很有用。
3.平铺纹理Tiled textures
平铺纹理的纹理设计为围绕任何网格平铺。每个文件中的地图就像地板上的瓷砖一样简单地重复。
属性:
平铺是网格表面上每单位的平铺数量。数字越大,图案越小。
4.UV贴图纹理
对于像球体这样的基元和像我们的块这样的简单形状,纹理贴图在哪些点与对象的网格对齐并不重要。但是在角色模型等详细对象上,纹理贴图与网格的对齐非常重要!
纹理如何环绕网格?
在建模应用程序中创建 3D 模型时,应用程序使用称为UV 映射的过程生成这些纹理。
UV 映射是展开 3D 模型的表面以创建平面,然后对其应用 2D 纹理贴图的过程。在此过程中,建模应用程序生成 UV 坐标,允许将纹理回绕到模型上。
Map materials with textures - Unity Learn
待续。。
unity3d学习笔记-着色器(1.一些概念)相关推荐
- unity3d学习笔记-着色器(3.凹凸贴图Bump Maps)
一.凹凸贴图Bump Maps 1.目的意义 考虑低多边形网格(多边形较少的网格)和高多边形网格之间的区别.渲染高多边形网格需要更多的计算能力,因为更多的多边形意味着有更多的数据需要处理. 但是使用凹 ...
- unity3d学习笔记-着色器(5.自定义着色器)
一.界面介绍 创建方法:右键单击并选择Create > Shader > Universal Render Pipeline > Lit Shader Graph :这将在文件夹中创 ...
- unity3d学习笔记-着色器(4.一些贴图)
1.遮挡贴图occlusion maps 即使在 PBR (基于物理的渲染)中,环境光也会以奇怪的方式反射它应该被遮挡的地方.遮挡贴图为这些遮挡区域添加阴影. 遮挡图与 3D 建模软件中的大多数模型一 ...
- unity3d学习笔记-光照(1.一些概念)
一.直接光照和间接光照之间的区别 1.直射光是发射的光,撞击表面一次,然后直接反射到传感器中. 2.间接光是最终反射到传感器中的所有其他光,例如多次撞击表面的光以及当您不直接看太阳时来自天空的光.(请 ...
- Unity3D学习笔记3——Unity Shader的初步使用
文章目录 1. 概述 2. 详论 2.1. 创建材质 2.2. 着色器 2.2.1. 名称 2.2.2. 属性 2.2.3. SubShader 2.2.3.1. 标签(Tags) 2.2.3.2. ...
- Unity3D学习笔记6——GPU实例化(1)
文章目录 1. 概述 2. 详论 3. 参考 1. 概述 在之前的文章中说到,一种材质对应一次绘制调用的指令.即使是这种情况,两个三维物体使用同一种材质,但它们使用的材质参数不一样,那么最终仍然会造成 ...
- Unity3D学习笔记8——GPU实例化(3)
文章目录 1. 概述 2. 详论 2.1. 自动实例化 2.2. MaterialPropertyBlock 3. 参考 1. 概述 在前两篇文章<Unity3D学习笔记6--GPU实例化(1) ...
- Unity3D 学习笔记4 —— UGUI+uLua游戏框架
Unity3D 学习笔记4 -- UGUI+uLua游戏框架 使用到的资料下载地址以及基础知识 框架讲解 拓展热更过程 在这里我们使用的是uLua/cstolua技术空间所以提供的UGUI+uLua的 ...
- Unity3D学习笔记:粒子特效参数
Unity3D学习笔记:粒子特效参数含义 转载 https://blog.csdn.net/asd237241291/article/details/8433534 粒子特效 粒子系统检视面板 初始化 ...
最新文章
- iframe元素內嵌页面如何去掉继承的html及body背景色/背景图片
- string日期格式化_java面向对象---日期类
- javascript jquery 获取select选中的值
- 使用 CORBA 和 Java IDL
- 转:MySQL史上最全性能优化方式
- 第八十四节,css布局小技巧及font-awesome图标使用
- linux开源文档管理系统_Linux中的系统管理员问题 免费和开源软件
- 车厢调度(信息学奥赛一本通-T1357)
- 【python笔记】 for循环和while循环,break和continue语句
- html5文章 -- 应用HTML5 开发手机APP
- Photoshop CC(2018)安装破解
- 宏基ACER E1-471G拆机心得及注意事项
- 小窗终曲说策划(有空就看看吧,可能对设计想法有所帮助,不仅仅是游戏方面
- 【原创】Kinect for windows SDK 入门学习资源合辑
- Java练习题【新】
- 四足机器人(从PCB到3D打印)
- 为什么粘贴是crtl+v
- 推荐:雨林木风Linux
- 平台业务收款分账产品设计 - 退款退分账
- 二氧化铅,氧化锌,四氧化三铁-碳复合材料增容电池的方法
热门文章
- 计算机英语kbc,计算机英语词汇(附;翻译).doc
- 关于浏览器主页被https://hao.360.com/?src=lmls=n78852a3c9b劫持
- 智卡调度APP的隐私声明
- 如何通过储蓄USD获得100%+年化收益
- 电力机车电子脚踏开关中霍尔开关的选择DRV5013/CHA442
- php 识别图片五星好评,jquery实现五星好评方法
- SAPABAP金色传说:SELECT SUM(CASE WHEN THEN END)语法示例
- ASO第一步-什么是ASO,与SEO的区别?
- Google play ASO 关键字指南
- 大连在线旅游网站推荐-找驴网