案例学习——创建你的第一个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材质球相关推荐

  1. substance designer 节点汇总

    特殊Mask SVG 手绘遮罩,不是很常用(因为不够程序化). Text 输入文字作为遮罩(Mask).可以调整位置,如果想关闭Tilling让文本内容不会重复,可以通过Tilling Mode旁的小 ...

  2. 【UnityUGUIShader】创建材质球Material代码控制更换物体材质球

    UGUI(Unity Graphical User Interface 简称 UGUI,又称图形用户接口)如何创建材质球 NGUI(Next-generation GUI,下一代图形用户接口) Ass ...

  3. 升级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 ...

  4. 通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本...

    通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本   版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 ...

  5. (第二章)OpGL超级宝典学习:创建我们第一个OpenGL程序,绘制一个点和三角形

    目录 前言 创建简单的应用 创建脚本 渲染底色 渲染底色plus 使用着色器(shader) 什么是着色器(shader) GLSL OpenGL的着色阶段 编写着色器 顶点着色器 片段着色器 sha ...

  6. ROS学习-创建一个ROS msg和一个srv

    目录 ROS msg和srv的介绍 使用msg 创建一个msg 使用rosmsg命令 使用srv 创建一个srv 使用rossrv命令 msg和srv的通用步骤 使用Help 简要总结回顾 ROS m ...

  7. 在Substance Designer中创建砖墙视频教程

    学习在Substance Designer中创建复杂材料的高级技术. 如果你想进入游戏行业,想学习如何创建高质量的纹理和学习物质设计,那么这个课程是给你的. 我设计了这个课程,从一开始就带你,教你我用 ...

  8. 《大数据导论》——1.4节案例学习背景

    本节书摘来自华章社区<大数据导论>一书中的第1章,第1.4节案例学习背景,作者瓦吉德·哈塔克(Wajid Khattak),保罗·布勒(Paul Buhler),更多章节内容可以访问云栖社 ...

  9. 《大数据导论》一1.4 案例学习背景

    本节书摘来自华章出版社<大数据导论>一书中的第1章,第1.4节,作者托马斯·埃尔(Thomas Erl),瓦吉德·哈塔克(Wajid Khattak),保罗·布勒(Paul Buhler) ...

  10. hadoop之mapreduce教程+案例学习(二)

    第3章 MapReduce框架原理 目录 第3章 MapReduce框架原理 3.1 InputFormat数据输入 3.1.1 切片与MapTask并行度决定机制 3.1.2 Job提交流程源码和切 ...

最新文章

  1. 判断一个字符串中出现次数最多的字符
  2. Spring原理总结
  3. SQL查询重复记录方法大全 转
  4. python rsa加密二进制文件_用Python中的RSA加密文件
  5. Enze frist day
  6. JavaScript中的两个等号(==)和三个等号(===)
  7. linux 内核配置v4l2,深入理解linux内核v4l2框架之videobuf2【转】
  8. java亚马逊模拟登录_java – 亚马逊MWS入门
  9. 最新酷睿计算机配置,三款intel九代酷睿全系列组装电脑配置推荐 每一款CPU都支持超频...
  10. 调频连续波雷达(FMCW)测距/测速原理
  11. C/C++中各类数值型数据间的混合运算法则
  12. zigbee的各种profile【裁剪】
  13. 双摄像头实时视频拼接(平移模型)
  14. 上海黄山自游二日游攻略
  15. YOLO-Pose: Enhancing YOLO for Multi Person Pose Estimation Using Object Keypoint Similarity Loss 笔记
  16. 不用 IDE,仅用命令行 + SDK 开发 Android App
  17. 闲鱼SPU体系构建的背后
  18. 高通Linux Android 平台中的蓝牙功能学习 (8)-- LDAC 和 ABR
  19. 第十四周 任务一
  20. 大数据相关概念-什么是算子

热门文章

  1. 易优CMS:arcpagelist 瀑布流分页列表
  2. MACD-DKJ金叉选股、金蜘蛛选股、均线粘合公式
  3. 百度地图-个性化地图用法
  4. 详细介绍如何使用MATLAB中的机器人工具箱建立机器人模型(DH法建模)(机械臂)
  5. java实现九九乘法表
  6. mysql复制表语句
  7. 量化金融笔记2-期货量化基础
  8. JavaScript离别之作——HTML元素操作
  9. 万字长文,详解线上线下收单业务(二):系统交互
  10. 5. 块定义(AttributeDefinition)