持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第7天,点击查看活动详情
概述
本系列文章主要记录Unity的HDRP项目入门级教程,本篇文章主要了解一下HDRP项目中的材质和着色器。
Material(材质)
在Unity中,HDRP项目和普通项目中模型基本上都是有Mesh(网格),Material(材质),Shader(着色器)以及Texture(贴图)组成,唯一不同的可能就是Material和Shader的设置等地方不同。如下图所示,水桶的表面图案等,主要就是由material的Surface Inputs的设置
下面就一起来看一下Surface Inputs的设置中每一项的作用,其实和普通项目的material差不多
- Base Map:主要是用控制模型贴图的颜色,比如我们调成红色,就会发现整个桶都变成了红色,白色就是只贴图是什么样,显示的就是什么样子。而Base Map前放置图片的位置,就是这个桶的贴图,如果没有此图,我们也就看不到桶身上这些图案了
- Mask Map:主要是用来控制模型的RGBA四个通道的纹理
- Normal Map:法线贴图,此项可以使模型的表面细节更加清楚
接下来看一下Surface options中的一些重要参数
Surface Type :这一项感觉和普通项目的rendering Mode类似,不过只有两项Opaque和Transparent,主要是用来设置透明与不透明
- Material Type:材质的类型,其主要分为6个类型:
- Subsurface Scattering:次表面散射
- Standard:标准的(默认)
- Anisotropy:各向异性
- Iridescence:彩虹色
- Specular Color:高光颜色
- translucent:半透明 目前这几种类型还正在学习中。。。。。
Shader(着色器)
在普通项目中,我们可以看到,模型的Shader一般都是Standard,但是在示例工程中,我们可以看到,模型的Shader是HDRP/Lit
创建
其实在HDRP项目中,还有很多种HDRP适用的Shader,加下来看一下如何创建
方法一、直接在材质球的Shader选项上进行选择Unity内置的Shader.首打开Shader下拉选框
然后选择HDRP项
接着我们就可以看到HDRP的Shader了,通过下图,我们可以看到HDRP项目还有很多的内置Shader.
方法二、直接在菜单栏通过如下路径进行创建Assets->Create->Shader->HDRP,在这里同样会看到上述那些Shader,不过这样创建的其实也是一个配置好的Shader,但是这可我们可以自己随意的进行效果调整,包括使用可视化编程工具编辑
结束
对于HDRP项目,作者本人也是在学习摸索,所以写的文章大多学习中自己的理解,如有有问题的地方还希望各位能够提出,大家共同学习。谢谢。