案例学习——创建你的第一个Substance Designer材质球
案例学习——创建你的第一个Substance Designer材质球
- 1-01: 什么是SD What is Substance Designer
- 1 软件简介
- 2 SD文件联动
- 1-02: 什么是节点 What is a node?
- 1 Package&Graph&Node
- 2 初始节点
- 1-03: 理解材质工作流 Understanding the material workflow
- 2-01: 创建Substance package与项目设置 Creating a Substance package and project setup
- 1 文件创建
- 2 3d预览窗
- 2.1 操作
- 2.2 材质/灯光/相机/环境
- 2-02: 设置base material节点 Setting up the base material node
- 2-03: 从大结构开始 Working on large form shapes
- 1 噪声
- 2 分辨率继承
- 3 自定义输入与基本效果
- 2-04: 创建中小结构1 Working on small shapes part one
- 2-05: 创建中小结构2 Creating small shapes part two
- 2-06: 创建散布结构 Creating spatter shapes
- 2-07 使用结构散布—中小结构 Using the Shape Splatter node to create medium dirt mounds
- 2-08 使用结构散布—小泥土 Using the Shape Splatter node to create small dirt mounds
- 2-09 鹅卵石 Creating rocks/pebbles
本案例学习资料来源
原版:Substance Academy Series:Getting Started with Substance Designer
翻译:创建你的第一个SD材质球
对操作过程做一个记录
1-01: 什么是SD What is Substance Designer
1 软件简介
简要来说,SD是一个用来制作贴图的软件,其工作模式以图形化节点为基础
使用SD的人更像是使用一款数字化合成软件,可以用一些对于艺术家来说非常友好的节点(比如noises,wraps,blends等等)去创造多种多样的的图案,来构建我们的贴图
在使用时,SD可以提供3D和2D的渲染预览
2 SD文件联动
最终我们导出的贴图可以导入各种建模软件和游戏引擎(直接导入贴图,或者可以使用sd的插件导入)
可以暴露参数,在引擎中实时调整
也可以导入到SP作为基础材质进一步使用
SD作为一个功能强大的材质工具,可以用来创建基础材质,可以程序化批量处理扫描贴图,也可以创建各种程序化的工具节点
1-02: 什么是节点 What is a node?
1 Package&Graph&Node
左边的Package代表一个sd文件,内有Graph
右边的工作区就是Graph里的内容,容纳包括了所有节点
左侧的library是所有节点的目录
以文件夹中的噪声节点为例,我们拖住一个图案拉到工作区
也就是在graph中实例化了这么一个节点
右边显示了这个节点在2d情况下的样子,如图是一个噪声
对于我们操作的graph来说,其内部的节点里面可能还有graph
当我们选择打开这个节点的时候,就会导入这个节点的sbs文件,可以看到内部又有graph以及很多节点,我们也可以创造我们自己的sbs文件和节点
2 初始节点
回到最初的graph,当我们在graph界面按下空格,我们可以获得初始节点列表,其是硬编码写成的节点,不是可以点开的graph,这些节点经过了优化,是我们平时会经常用到的工具
在上边栏同样有这些节点
1-03: 理解材质工作流 Understanding the material workflow
本节来了解一下材质的工作流程
- 我们首先构建高度数据(灰度Grayscale),然后基于此创建其他的贴图(比如Normal,AO,Roughness),然后基于此创建Albedo,再之后合并所有贴图到一个Material Node,再进行后续复杂的操作
- 在这一工作流中,我们从高度开始,从灰度Grayscale→Color
这么做我们可以从物体表面的总体特征开始构建,逐步制作细节
- 使用灰度来进行工作是一种比较好的工作方式
它能让我们为之后的工作存下更多复杂的RGB信息
同时它也让我们对正在制作的细节保持专注,不会轻易受到其他颜色的感染
- 当我们创作高度数据的图案时,这一过程非常像建模和雕刻的过程
建模和雕刻的时候,我们会从基本形状开始,创建大体的形状,然后细分网格来处理中等级别的细节,再细分来处理更精细的细节
这在SD中也是类似的处理思路
基于材质工作流程,我们提前看一看本教学案例的步骤
首先一切的根基起源于一个基础图像
接着对它进行一系列操作,制作细节
而后制作各种map,制作albedo,混合材质输出
2-01: 创建Substance package与项目设置 Creating a Substance package and project setup
1 文件创建
本节学习创建Substance package以及3D窗口的设置
点击File→NewSubstance,在创建面板选择Relative To Parent可以达到参数继承的作用
创建以后可以看到在左边的Explore栏出现了Unsaved Package,底下有我们建立dirt_ground
- 什么是Package?Package=source porject file(.sbs file),sbs文件可以类比Photoshop中的psd
- Package中有graph,可以有很多个graph,可以添加删除
2 3d预览窗
2.1 操作
对于底下的3d预览窗,我们可以点击scene,修改它的模型
这些模型相当于本身就装载在SD上的FBX
我们也可以导入自己的模型
不过该案例,我们并不会导入特定的模型,因为我们创造的是完全程序化可调整的材质,所以用默认模型展示就好了(我们选择Plane(hi-res))
在3d视图中按住左键进行旋转,中键进行平移,右键前后进行缩放
如果右键缩放的前后感觉反了,那么可以打开Edit→Preference,在红框处进行反转
2.2 材质/灯光/相机/环境
点击预览窗的Material按钮,可以进入材质选择,默认有一个default,我们可以这么选
选了这个以后,右边的属性栏就会出现该选择的对应属性,我们先不怎么研究,
灯光不做多介绍,在做PBR材质是也推荐尽量不使用灯光
相机会在后续小节介绍
环境(Enviroment)我们可以进行编辑,右边可以控制是否显示,曝光程度,以及旋转
关于环境HDR图的旋转也可以用 shift+ctrl+右键
我们也可以选择一个图,直接拖进去进行替换
左边的library栏,我们可以选择缩放大小以及文件名显示
2-02: 设置base material节点 Setting up the base material node
我们有很多方式可以在SD中创建节点,比如按下空格或者TAB然后找到节点单击,或者在library中搜索后拖入graph,都可以建立base material
节点上方的图标含义如下图,分别代表属性和2dview
双击节点即可在右下角的2dView展示,单击节点即可在属性面板显示
两个小图标可以通过display node badges来显示
我们在Graph中建立一个节点,也就是建立一个该节点的Instance,于是属性栏中有Instance Parameters
可以选择上方的图标来展开和收起输出节点(或者按下键盘上的数字 1 2 3 切换节点显示),双击节点即可在2dView展示
调整一下属性,选成电介质,明度居中,粗糙度拉满
右键点击BaseMaterial,拖到3d预览窗口,即可预览
2-03: 从大结构开始 Working on large form shapes
1 噪声
找到PerlinNoise节点拖入,该噪声能创造出大致的地形起伏
调节InstanceParameters内的Scale调节噪声缩放比例
在2dview中,按住alt和右键可以调节显示大小
在2dview中按空格,可以查看tilling情况,默认是四方连续
2 分辨率继承
将每一个graph中的节点看成是一个实例
下图为2048*2048的分辨率,16位灰度级的PerilinNoise
(同时我们可以发现因为是灰度图,所以输出节点也是灰色的)
关于SD中的父子关系,PerilinNoise分辨率继承了parent,也就是继承了我们这个graph的分辨率
我们也可以在BaseParamenters中选择绝对模式
因为分辨率都继承自graph,所以可以直接修改整体的分辨率来控制所有节点
3 自定义输入与基本效果
在BaseMaterial的InstanceParamenters中,打开User-Defined Maps,可以自定义节点的输入。
我们输入height和normal,在调节height强度时,拉杆最高为3,其实可以手动输入数字
我们可以调节shader的细分缩放比例来凸显效果
输入hbao即可查找到AO节点,调节其Heigh Depth调节效果
在BaseMaterial中增加AO输入,但是发现连不上去
因为此时的连接模式为CompactMaterial,软件没法连,选回Standard模式即可
2-04: 创建中小结构1 Working on small shapes part one
点击上方的Frame即可建立一个标记,我们可以用来分组
我们选择cloud2和cloud3的纹理,因为云的纹理很像泥土地的样子,cloud2比较光滑,cloud3边缘清晰具有颗粒感
不止用一种噪声,而是混合多种噪声,可以更具随机性
节点半黄半灰代表灰度和彩色图都行,但是注意要数据类型匹配,节点中心有小黑点代表是主要输入节点
两次都采用multiply的叠加模式进行blend
(在输出节点上 shift+左键 可以拖动所有接入该节点的线)
2-05: 创建中小结构2 Creating small shapes part two
接来下使用dirt4这个噪声,其表面具有一些条纹,有助于泥土外观的构建
(在2dView窗口按下F键,可以快速缩放到窗口大小)
将之前的结果与该纹理用subtract模式叠加
效果太剧烈,于是我们对dirt4后面加入level节点(点击一条线,按空格加入节点可以直接在线上加)
level即重映射,将上方小标的范围映射到下方小标的范围
————————————————————
接着使用dirt3,该纹理颗粒感比较大,可以用来做土块或者鹅卵石
对其加一个blur
然后level重映射去掉一些不需要的噪声层次
将该结果以 滤色(Screen) 的叠加模式进行混合
————————————————————
接着用grungeMap,该图具有刮痕和耙子的印记,适合泥土地,使用Screen模式进行blend
2-06: 创建散布结构 Creating spatter shapes
该节来创建一些中等水平的结构,以后可以将其scatter到整个面上
使用shape节点创建形状,指定pattern为抛物面paraboloid,till指定成3
作为一个input输入wrap节点,再选一个perlin noise作为gradient的坡度
再用一个level重映射一下缩小形状
接着使用slop blur gray scale,选择合适的mode来修剪形状
2-07 使用结构散布—中小结构 Using the Shape Splatter node to create medium dirt mounds
使用shape splatter节点进行撒点,将之前的地形连到BackGround Height上
增加pattern数量,让其更有随机感
使用CropGrayscale裁剪出三个pattern(连线时,按一下要连的节点,然后按住中键即可拖动窗口)
设置一下shape splatter里的各种random以及参数
调节shape splatter里的height参数可以调整图案的高度以及与原始高度的契合度
可以接入其他噪声来影响Size内的参数(感觉就是参数多调调)
2-08 使用结构散布—小泥土 Using the Shape Splatter node to create small dirt mounds
将之前level完的pattern重新使用,连到新的slop blur grayscale,将cloud2作为slope,这么做会有点像岩石
(按住shift+alt可以在连线中出现黄点,给连线造成弯折效果)
给它再加个blur,模糊一点,使用crop选出三份图案,使用shape splatter叠加到之前的结果上
这也时shape splatter经常要做的事情:混合各个结构
调整参数
2-09 鹅卵石 Creating rocks/pebbles
拿之前medium dirt mounds的部分,加个level缩小它
想让它变圆就可以把中间的键往黑的拉
然后crop grayscale,选出三种鹅卵石,使用shape splatter撒点
调调撒点的属性,粗细度很影响
这是底层的小鹅卵石,我们可以再做几层
……………………
案例学习——创建你的第一个Substance Designer材质球相关推荐
- substance designer 节点汇总
特殊Mask SVG 手绘遮罩,不是很常用(因为不够程序化). Text 输入文字作为遮罩(Mask).可以调整位置,如果想关闭Tilling让文本内容不会重复,可以通过Tilling Mode旁的小 ...
- 【UnityUGUIShader】创建材质球Material代码控制更换物体材质球
UGUI(Unity Graphical User Interface 简称 UGUI,又称图形用户接口)如何创建材质球 NGUI(Next-generation GUI,下一代图形用户接口) Ass ...
- 升级Unity 2018.3.2f1出现Built-in support for Substance Designer materials has been removed from Unity的问题
最近充Unity5.6.6升级到2018.3.2f1版本,出现了一个问题,如下:使用Unity 2018.2版本打开旧版本的项目后,控制台上报错:UnityEngine.ProceduralMater ...
- 通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本...
通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本 版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 ...
- (第二章)OpGL超级宝典学习:创建我们第一个OpenGL程序,绘制一个点和三角形
目录 前言 创建简单的应用 创建脚本 渲染底色 渲染底色plus 使用着色器(shader) 什么是着色器(shader) GLSL OpenGL的着色阶段 编写着色器 顶点着色器 片段着色器 sha ...
- ROS学习-创建一个ROS msg和一个srv
目录 ROS msg和srv的介绍 使用msg 创建一个msg 使用rosmsg命令 使用srv 创建一个srv 使用rossrv命令 msg和srv的通用步骤 使用Help 简要总结回顾 ROS m ...
- 在Substance Designer中创建砖墙视频教程
学习在Substance Designer中创建复杂材料的高级技术. 如果你想进入游戏行业,想学习如何创建高质量的纹理和学习物质设计,那么这个课程是给你的. 我设计了这个课程,从一开始就带你,教你我用 ...
- 《大数据导论》——1.4节案例学习背景
本节书摘来自华章社区<大数据导论>一书中的第1章,第1.4节案例学习背景,作者瓦吉德·哈塔克(Wajid Khattak),保罗·布勒(Paul Buhler),更多章节内容可以访问云栖社 ...
- 《大数据导论》一1.4 案例学习背景
本节书摘来自华章出版社<大数据导论>一书中的第1章,第1.4节,作者托马斯·埃尔(Thomas Erl),瓦吉德·哈塔克(Wajid Khattak),保罗·布勒(Paul Buhler) ...
- hadoop之mapreduce教程+案例学习(二)
第3章 MapReduce框架原理 目录 第3章 MapReduce框架原理 3.1 InputFormat数据输入 3.1.1 切片与MapTask并行度决定机制 3.1.2 Job提交流程源码和切 ...
最新文章
- 判断一个字符串中出现次数最多的字符
- Spring原理总结
- SQL查询重复记录方法大全 转
- python rsa加密二进制文件_用Python中的RSA加密文件
- Enze frist day
- JavaScript中的两个等号(==)和三个等号(===)
- linux 内核配置v4l2,深入理解linux内核v4l2框架之videobuf2【转】
- java亚马逊模拟登录_java – 亚马逊MWS入门
- 最新酷睿计算机配置,三款intel九代酷睿全系列组装电脑配置推荐 每一款CPU都支持超频...
- 调频连续波雷达(FMCW)测距/测速原理
- C/C++中各类数值型数据间的混合运算法则
- zigbee的各种profile【裁剪】
- 双摄像头实时视频拼接(平移模型)
- 上海黄山自游二日游攻略
- YOLO-Pose: Enhancing YOLO for Multi Person Pose Estimation Using Object Keypoint Similarity Loss 笔记
- 不用 IDE,仅用命令行 + SDK 开发 Android App
- 闲鱼SPU体系构建的背后
- 高通Linux Android 平台中的蓝牙功能学习 (8)-- LDAC 和 ABR
- 第十四周 任务一
- 大数据相关概念-什么是算子