Skip to content

Sci-fi PackMule Material and Texture & PBR Theory

Substance/Texture

  • Properties/Texture Settings/Display Settings/Viewer Settings
  • World space 可以用来做mask,然后选择top还是bottom
  • Position Map,Top-bottom,Left-Right,选择
    • 不包括high poly的信息
    • 一直是渐变色
  • Color Map 勾选不同颜色的mask
  • curvature map,用来勾选edge、凹进去的地方
  • Thinkness,高低勾选,一般不用
  • 其他的Map也可以作为mask

Substance的Channel设置

  • 右上角的Channel,可以加Color, Metal,Rough,Normal,Height,ao
  • Color
    • flat color
  • Height
  • Rough
    • 0 shiny
    • 1 how dole
  • Metal
    • binary
    • 0 none
    • 1 metal
    • 不要在中间
      • NOT HALF METALLIC
  • Normal
    • Layer use map
  • AO
    • 可以加上那个texture
    • 也可以用滚动条 override

PBR Theory(Physically-Based Rendering)

  • Material
    • Albedo 也叫 Basic Color/Diffuse
      • 不会有glow
      • 没有highlight
    • Roughness/Gloss(Ctrl – i相反的)
      • Roughness和Gloss就是相反的两个值
      • 对于Roughness
        • Black => 平滑 shiny
        • White => doll 粗糙
      • 对于Gloss
        • Black =>doll 粗糙
        • White =>平滑 shiny
        • 在PS里用Ctrl+i,把图片切换成Roughness Map
      • Convincing
    • Metalness/Specular
      • Metal ness 更简单,Specular比较难理解
      • 把他看成Binary
      • 中间值会比较怪
    • AO
      • High Poly Ambient 有的,Low没有的,shadow detail,shadow area
      • help thing sit together
    • Normal Map
      • Baking High poly detail
      • One of most strong part
      • 加上base color就可以得到比较好的结果
  • Good Base Color 非常重要
    • is a Guide Book
  • PBR Chart
    • Unreal
    • Detail

Roughness/Gloss

How doll or shiny it is

  • 图片的不同角度
  • Roughness的体现
    • Smooth highlight
  • 石膏
    • 很粗燥
  • 一种经验
    • 除了对比PBR Chart
      • 旧石头、脏贝壳 0.9~1
      • 光滑水泥地0.8~0.9
      • 石膏 0.7~-0.8
      • 点点缸 0.5
      • 不太反光的塑料0.5
      • 铜把手 0.4
      • 反光塑料 0.3
      • 红油漆柱子0.2
      • 镜面0.1
  • 使用Luminacity的Histgram 来看Roughness

Metalness/Specular

  • Metal&Albedo
    • 即使颜色对了也不信
  • 0 paper、rubber、plastic
  • 1 iron metal
  • 例如金子
    • 金色
    • metal
    • roughness 0.5左右
  • Rust生锈的情况
    • non-metallic
    • metalness 有地方是metal,有地方是non-metallic
    • 然后当做mask就可以看上去是rust了
  • 0~1之间更多是去fake材质
  • 很重要的一点,Mask可以控制很多小细节,不仅仅是纯色或者过渡色,更多更多细节
  • Specular
    • small ranges for metal
    • Specular Intensity 0.04 = non-Metallic 0
    • (黑色的albedo+ Specular Color + Intensity 1 ) = Metallic 1
    • 需要多用一个Specular color的slot
  • 但是,使用Metallic的算法话,我们可以把RGB不同的Channel存更多的texture
  • 在Unreal里
    • Specular限制在0.04~0.08之间的

Substance Painter

  • 创建项目
    • PBR-metal-Rough 作为 template算法
    • 然后fbx
    • Normal Map Format directX
    • Unreal:Compute tangent space per fragment
    • 2048
    • 把Texture导入
  • 没有自动贴图
  • 需要自己加
    • 因为只有一种材质TextureList只有一个?
    • 然后在下面修改texture size 2048
    • 然后把map对应选上
  • 如果没有所有的,就可以把已有的选上,然后把缺失的在用Painter来Bake
  • 可用的
    • Alpha
    • Grunges Rust?
    • Procedurals
    • Texture
    • Filters
      • blur
      • warp
    • brushes
    • particle
    • Tools
      • mask
    • Materials
  • Properties对应的是Layer
  • 也可以drag到Layer里面
    • 有点时候Height会有不同的blend情况
    • 左上角的height,把后面的属性Ldodge改成Normal
  • Add Black Mask
    • 右键Mask
      • Color selection
        • 属性:Pick Color
        • 0.1 tolerance
      • add Paint
        • x键正反invert
        • 可以设置blend的属性
      • Add Levels
        • 保证多层不干涉
        • 过滤器的作用
      • Add Generator
        • 例如MG Metal
          • 把texture作为起点
          • mul or overly
          • mul会叠加
          • Alt然后点击Mask可以看Mask到底在干啥
          • 可以控制Wear Level
          • 以及Contrast
            • Metal-》non metal ,contrast 大
          • Use Custom Grunge Map
            • 然后选择点点
            • 这样blend效果可能更好
  • Smart Material
    • 是Material再加上一些Mask的结果
    • 自己建的也可以右键Material然后Create smart material
    • 非常棒的方法去学习Painter
    • 例如Bronze
      • Fill
      • Rough
      • Dirt
      • Surface Detail
        • more dirt
      • Edge damage
      • sharp
    • Machinery
      • metal base
      • dirt
      • dust
      • rust
    • Fill
      • Checker!!棋盘
  • Smart mask
    • Mask dust
    • Dirt dry
    • 就是组合的Mask presets

Mask Generator能做啥

  • 新加Fill Layer
    • Black
    • mask add generator
  • Generator
    • blend this layer and the last one fill Layer
      • Blur
      • Balance
      • Contrast
    • Texture和下面的设置的texture相关
      • triplanar
      • scale
        • overlay
      • 对不同Texture的细节进行操作
        • 算法
          • Linear Dodge
          • Multiply
        • Edges
          • Sharp
          • Fine
          • Medium
            • 区域控制
        • World Space
          • Top – bottom
            • snow
          • right to left
        • Position 也是
        • AO
      • 还可以加一个新的texture
    • Generator可以修改种类
      • 例如dirt
      • light
    • c display next channel
    • m display material
  • 使用Level来控制isolate texture里面的过渡或者特定小细节
  • 原有的Texture是可以drive 整个mask的
  • ZBrush的HighPoly 的Texture是有用的!!他的特征更多!!可以用来操作的选项也就更多

Material Breakup

  • 先看看分到多少部件
  • 然后搜图,看看那些细节可以用
  • 对比图上的颜色,break up
    • flat color
    • + 有些摩擦的
    • worn steel
      • yellow paint 的物体和这个玩意摩擦过
  • 先把最简单设置上,base color和steel
    • Paint Base :蓝色
      • Roughness 0.2~0.3
    • 复制->Paint Rough
      • Roughness 0.5~0.6
      • saturated 饱和度减少一些
      • Black mask
        • add fill layer
          • Base color : Grunge 13
          • UV Projection(UV 不是完全连在一起的会有seams)
            • 但是用Tri-planar project会好些
          • 调整Scale找到效果,2.44
            • 随时可以回来调整
          • 以及offset
    • PaintHight
      • 只Contribute to height
        • Procedurals->Moisture 放在Height上,会自动变
          • not work
          • 所以试试combination
        • 然后尝试Grunge plastic
          • 左上角Base->Height只在Height Channel
          • 右边吧LDGE->Normal:2
        • 加一个Filter
          • Hue Saturation Luminosity来控制Strength
          • Slide Luminosity down
            • 也可以把PaintHeight Group一下,然后LDGE调小到45
              • 然后在Group里再加一个PaintHeight,然后加一个Dirt,然后LinearDodge->1
                • 实现和另一个PaintHeight的整合(LinearDodge整合
    • 把PaintBase和PaintRough和PaintHeight,组合成Paint一个组
      • 在Group里面Group PaintBase和PaintRough为Blue
      • 然后复制调整成Orange
        • 然后加一个filter Color selection,把BaseColor不一样的地方mask一下
          • 或者加一个Paint Filter,选中Polygon fill,然后UV(或者Mesh),在图上选。。
          • 这两种filter都是mask的近似等价操作方式
  • Rubber
    • 加了一个Fill Layer,然后group it
    • 把Group的属性改为Normal,既不会blend
    • RubberBase
      • Base color :HSV Value 0.3
      • roughness 0.7
    • Duplicate Rubber base->RubberRoughness(Ldge)
      • fill
        • Grunge dirt
        • warm up = HSV 的H值变大
    • Rubber的group加一个color selection
      • 然后勾选 black mask的部分
    • 加一个height,控制粗糙度

Metal

  • +Filter Layer MetalGroup
    • MetalBase
    • Height Channel
      • Normal
    • Metal
      • MetalBase
      • MetalRoughness
        • 分开可控性多
        • Metal edge wear
          • Level up 0.75
          • masking down 0.37
          • Use tri-planar
          • scale变大,tight会
          • Edge shiny
      • Height
        • dusty
        • Invert这样scratch就可以go down 了
      • 然后BlackMask Color Selection
    • 叫Oxidized
    • 然后Ldge
    • ReGroup最顶层,复制一次
      • 叫MetalHeight
        • Height
          • Fractal sum base
        • Roughness
          • Fractal sum 2
      • 再加一层Rust,LDGE 22
        • 使用BlackMask之MG Mask Editor
        • Oxidized Norm100
  • 加一层Glass
    • BlackMask,然后勾选ColorSelection
    • Glass Norm
      • Roughness 100% Reflective
    • 复制,Height,Roughness0.2
      • 然后加一个fill
        • 加上 Grunge 008

Metal Break in

  • ColorID Map不要带着 AntiAlias
  • Painter Layers修改
  • 修改上面Breakup的几个Layer的具体颜色
  • OrangePaint
    • Paint的black mask filter
      • Stencil里
        • 放入Alpha 三角形
        • 改成orthography
        • shift控制大小
        • 然后mask就可以画图了!

Material Weathering(风化)

  • 再加一些Metal Scratch
    • 例如grunge
    • 例如Height layer
      • push into it
      • 看上去就和scratch一样
    • Gradient
  • Position gradient
    • old paint dark under
  • 不要overdo!!!!!!太多detail就会想noise!!
  • 再优化Rust
    • Primer
    • 有一种Old Paint的感觉
    • 就和风化的感觉
    • 可以用Paint的画笔画一下rust得到想要的效果

Weathering Nature(Dust、Dirt)

  • 有的地方dirt掉了有的地方厚
    • 可以用curvature(得到cavity)和Ambient Occlusion(哪里多)这两个texture来做
    • World Space的top down(dust会在哪里land)
    • Engine的地方会比较少
  • 新Layer Dirt
    • Black Mask
    • 顶上的dirt和边上的dirt是不一样的
      • 顶上的dirt会积聚
      • 旁边不是垂直的地方边缘会有积聚
        • 通过curvature和level把最边缘的地方鼓励出来
    • 复制一遍当Height
    • 使用Dirt6 和Dirt 1,一起用
    • 再加一个Dirt EveryWhere
      • Dropping Rust
      • 仿Gravity在Height突出凹进去的地方积聚dirt
      • Overlap detail
      • 负责周边的dirt
    • Dirt:不是很老,但是被用过
  • Grime
    • 油污渍
    • 使用Fill的Cavity Rust
      • 实现Nasty looking
      • oil building up
        • 使用Curvature、Worldspace实现
      • Pipes
        • bottom部分
    • generator
      • Use AO to tight up
      • Use WSpace balance contrast来控制位置
      • Texture 来控falloff
    • 先在全部上做
    • 然后再isolate
      • 同样是color Selection 以及tolerance
      • 还可以用overlay的这种算法,和下面的mask filter混合在一起
    • Oil出现的位置要观察图片
    • texture size:4k和2k的区别主要是速度
  • smart material有些工作的也挺好
    • dirt
    • dust
  • 太Uniform的话dust会不真实
    • 使用Cloud 3 来处理,添加噪声
    • 然后搭配level来控制更多细节
  • 此时,比较好修改,如果想测试就在这测试,之后就是hand paint了,修改会很麻烦
  • 以及可以看看unreal里什么样
  • 把所有的Layer都会保存成PBR-BaseColor-normal-(roughness-Metallic-OA)三个Texture里!!

Decals(Text)

  • decals贴花纸
  • texture.com
  • 在ps里做成有white和back的图,可以paint through的
    • 字母表
    • 设置好字体之类的
  • Stencil,放入这个额图片
  • PS
    •  把那些image的变成黑白的
      • 尤其是RGB的图
      • 图层加Level的mask
        • 控制Level能显示的
      • 设置好
      • 然后导入充当Alpha(黑底白字白图)
  • 把之前的保存成SmartMaterial,这样以后用会更快,而且是4k的texture
  • Decals Group
    • Stickers
      • 每次下笔都可以修改roughness之类的
      • 3D有时候还不好画
        • 可以用2D View(菜单栏)
      • Brush 设置成UV而不是3D
        • 这样不会穿过
    • 设置Sticker的Ldge度,整合的程度
    • 好玩!!
  • 在加一层StampedMetal
    • 钢字
      • 把除了Height的Channel去掉就可以实现
  • 也要加几个grunge
  • 非常flexible
    • 也可以用paint filter然后用画笔擦除一些
    • 各种地方,都擦擦,模糊度

Polish

  • Dirt、Grime的过渡部分
  • Bolt
  • 主要是手动画(各种Brushes,例如leaks)
  • 现实版的图片按照Decals的处理方法,处理成Alpha,然后各种地方刷
  • 再放一些plastic和rubber
  • PBR-validator
    • Free!!!!!
    • 去check 是不是follow pbr rule
    • 绿色是对的
    • 红色有问题

Final Touches

  • 每个Channel 一个一个的查看
  • metal
    • level
      • get rid of gray
  • roughness
    • paint 太overdo了
    • 少一些可能
  • 不同的environment map的话base color感觉是不一样的!
  • 查看
    • Display Settings
      • 打开Antialiasing
    • Viewer Settings
      • 可以打开Shadows查看
  • 最后要Texture Settings
    • 把Size改成4K
  • 然后Render
    • Aperture可以控制focus的区域大小

In Game (Export to Unreal Engine)

  • Export
    • Unreal
      • PBR-base-normal-orm-emissive
    • ORM的顺序是可以在Configuration里调整的!!
      • R: Roughness
      • G: Mixed AO(mixed是刚刚做的,AO是之前bake的)
      • B: Metallic
    • 在Configuration里可以添加新的各种map
      • 例如Height
    • 然后Duplicate保存成新的自定义名字
    • 调整Dilation infinite
    • document size
  • 可以在Marmoset里先测一下
    • 因为可以设置一些参数而不改变设置的结果
    • chrome abberration,那种晕晕的虚幻感觉
  • Unreal
    • 把Texture导入就可以了
    • 只需要改 Compression Setting ROM的,(Masks no  sRGB)
    • 然后就大功告成!
Published inDiaryUnrealEngine

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *

http://next.sh/wp-content/smilies/icon_confused.gif 
http://next.sh/wp-content/smilies/icon_cool.gif 
http://next.sh/wp-content/smilies/icon_cry.gif 
http://next.sh/wp-content/smilies/icon_eek.gif 
http://next.sh/wp-content/smilies/icon_evil.gif 
http://next.sh/wp-content/smilies/icon_exclaim.gif 
http://next.sh/wp-content/smilies/icon_idea.gif 
http://next.sh/wp-content/smilies/icon_mad.gif 
http://next.sh/wp-content/smilies/icon_mrgreen.gif 
http://next.sh/wp-content/smilies/icon_neutral.gif 
http://next.sh/wp-content/smilies/icon_question.gif 
http://next.sh/wp-content/smilies/icon_razz.gif 
http://next.sh/wp-content/smilies/icon_redface.gif 
http://next.sh/wp-content/smilies/icon_rolleyes.gif 
http://next.sh/wp-content/smilies/icon_sad.gif 
http://next.sh/wp-content/smilies/icon_smile.gif 
http://next.sh/wp-content/smilies/icon_arrow.gif 
http://next.sh/wp-content/smilies/icon_biggrin.gif 
http://next.sh/wp-content/smilies/icon_surprised.gif 
http://next.sh/wp-content/smilies/icon_twisted.gif 
http://next.sh/wp-content/smilies/10.gif 
http://next.sh/wp-content/smilies/102.gif 
http://next.sh/wp-content/smilies/103.gif 
http://next.sh/wp-content/smilies/106.gif 
http://next.sh/wp-content/smilies/108.gif 
http://next.sh/wp-content/smilies/20.gif 
http://next.sh/wp-content/smilies/26.gif 
http://next.sh/wp-content/smilies/37.gif 
http://next.sh/wp-content/smilies/99.gif