Substance Painter

任务:识别模型的交界处,将其信息存储在一张贴图中

  • 存到 Base Color,因为黑白图的 R、G、B 值一样,所以取 R 通道就可以
    Unity Shader 里读取:float mask = SAMPLE_TEXTURE2D(_EdgeMask, sampler_EdgeMask, uv).r;

建模阶段

  • 之前是放了三个立方体尝试完美的拼接在一起(错)
    后来我又想能不能通过挤出边实现(但是玻璃玻璃应有厚度)
    Ctrl + R环切,裁出厚度的宽度然后挤出面
  • 导出:导出前ctrl+A全体应用变换+旋转,然后u+智能UV映射

Adobe Substance painter阶段

  • 新建项目
  • 选择模型的时候法线贴图格式选择OPENGL
    • 如果最后贴图要给 Unity 用,法线贴图格式建议选 OpenGL / Y+,因为 Unity 读取切线空间法线时默认是 红通道 X+ 向右、绿通道 Y+ 向上,也就是常说的 OpenGL 法线方向。DirectX 和 OpenGL 最大区别基本就是 绿色通道 Y 方向相反,选错后会出现凹凸反了、边缘高光方向怪、阴影像“鼓起来/陷进去反了”的问题。
    • Unity 的导入面板里也有 Flip Green Channel,如果你已经导出了 DirectX 法线,可以在 Unity 里勾这个来补救

烘焙贴图

  • Texture Set List – Bake Mesh Maps / 主视角右上角的🥐
  • 有叹号的是需要有高模才能烘焙的
  • 如果没有高模那就启用Use Low Poly Mesh as High Poly Mesh
    如果有高模那就导入高模模型,一般一开始导入SP的模型是低模
    • 如果没有Mesh Map Setting这个界面:Windows – Views – ~
  • 注意:一般 高模转低模不是在 PT / Substance Painter 里做,而是在 Blender、Maya、3ds Max、ZBrush 这类建模软件里做

处理贴图

  • 目的是:把 PT 里“Generator 生成的 Mask 信息”转成一张 Unity 能读的贴图。
  • 先添加一个纯黑色的Layer
    • 因为如果没有黑色底层,导出的贴图可能不是你想要的纯黑白 Mask

Unity 导入这张 Mask 后怎么设

给模型的某部分更换材质

  • 新建一个Fill Layer,并添加Black Mask,选中Mask
  • 在最左侧的工具列选择Polygon Fill
  • 因为你加的是 Black Mask,默认全隐藏,因此Polygon Fill 的颜色/值要是:White / 1
    • 逻辑是黑色 Mask = 隐藏这个材质;白色 Mask = 显示这个材质
  • 选择填充方式:
    • 三角形:Triangle Fill,按三角面填
      正方形:Polygon Fill,按多边形面填
      立方体:Mesh Fill,按独立网格填
      棋盘格:UV Chunk Fill,按 UV 岛填
  • 然后点击想要填充的部分即可
  • 同时如不想和主材质叠加,则要在其他材质添加白色Mask,同样的步骤但是color改成黑色

学习笔记如有侵权,请提醒我,我会马上删除
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇