44.程序材质

44.高级纹理-程序纹理-程序材质


44.1 知识点

知识点回顾

程序纹理是通过代码(C# 或 Shader 代码)动态生成的图像纹理。我们可以在材质中使用这些纹理来渲染对象。

什么是程序材质

程序材质是通过算法和数学函数生成的材质(主要在 Shader 代码中实现)。它通常包括多个纹理属性和其他各种属性,用于计算并模拟现实世界中的表面特性。

程序材质的特点

  • 程序材质由多个程序纹理和材质属性组合而成。
  • 它们共同定义了材质的外观和物理属性,能够模拟复杂的表现效果。
  • 程序纹理属于程序材质的一部分,因为材质负责管理纹理。

制作程序材质的工具

常见的制作程序材质的美术工具包括:

  1. Substance Designer(物质设计师)
  2. Blender
  3. Houdini

其中,Substance Designer 是广泛使用的程序材质创建工具,应用领域包括:

  • 游戏开发
  • 电影制作
  • 建筑可视化
  • 虚拟现实

通过 Substance Designer 制作的程序纹理,不仅可以在游戏引擎(如 Unity、Unreal)中使用,还能应用于其他领域。因此,本文主要讲解如何使用 Substance Designer 制作的程序材质。

Unity 中使用程序材质

Substance Designer 制作的程序材质文件后缀为 .sbsar

Unity 并不能直接使用 .sbsar 后缀的程序材质,需要通过以下步骤实现:

  1. 打开 Unity 的 Asset Store。
  2. 搜索 Substance 3D for Unity 插件。
  3. 将插件导入到工程中。

完成后,即可在 Unity 工程中直接使用 .sbsar 文件的程序材质。

获取程序材质

我们可以通过以下方式获取程序材质:

  1. 自制
    让美术团队使用 Substance Designer 制作程序材质。

  2. 下载
    从一些网站获取程序材质,常见资源平台包括:

通过这些方法,可以方便地获取高质量的程序材质,满足项目需求。




44.2 知识点代码

Lesson44_高级纹理_程序纹理_程序材质.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Lesson44_高级纹理_程序纹理_程序材质 : MonoBehaviour
{
    void Start()
    {
        #region 知识点回顾

        //程序纹理
        //其实就是通过代码(C#或Shader代码)动态生成的图像纹理
        //我们可以在我们的材质中使用该纹理来渲染对象

        #endregion

        #region 知识点一 程序材质是什么

        //程序材质是通过算法和数学函数生成的材质(主要在Shader代码中实现)
        //它通常包括多个纹理属性和各种其他属性,用于计算模拟现实世界中的各种表面特性

        //总的来说
        //程序材质是由多个程序纹理和材质属性组合而成的
        //他们共同定义了材质的外观和物理属性,模拟出复杂的表现效果
        //可以说程序纹理属于程序材质 因为材质管理纹理

        #endregion

        #region 知识点二 制作程序材质的工具

        //常见的制作程序材质的美术工具有:
        //1.Substance Designer(物质设计师)
        //2.Blender
        //3.Houdini
        //等等
        //其中Substance Designer是一个使用非常广泛的的程序材质创建工具
        //在游戏开发、电影制作、建筑可视化、虚拟现实领域都很常用
        //通过它制作的程序纹理不仅可以在各种游戏引擎(Unity、UE等)中使用,还可以在其他领域使用
        //因此我们在此主要讲解如何使用由Substance Designer制作的程序材质

        #endregion

        #region 知识点三 Unity中使用程序材质

        //Substance Designer制作的程序材质后缀为 .sbsar 文件

        //Unity中并不能直接使用.sbsar后缀的程序材质
        //我们需要在Asset Store中搜索Substance
        //找到一个叫:
        //Substance 3D for Unity 的插件并导入到自己的工程中即可
        //这样我们就可以在工程中直接使用.sbsar后缀的程序材质了

        #endregion

        #region 知识点四 获取程序材质

        //我们可以让美术同学使用Substance Designer制作程序材质
        //也可以在一些免费网站中获取程序材质
        //比如:
        //1.Unity资源商店
        //2.Substance Share: https://substance3d.adobe.com/community-assets
        //3.GameTextures:https://gametextures.com/
        //等等

        #endregion
    }
}


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏