Skip to content

资产定义

材质资产(Material Asset)是在 SandMod 游戏编辑器中的 项目窗口(Project)内创建的,或者导入 网格(Mesh)模型的时候系统会根据模型的材质信息自动生成,材质资产用于描述物体表面外观的信息,以及决定将该信息分配给哪些物体。材质资产生成后将在 项目窗口(Project)对应项目文件夹中查看和使用,该资产样式如图:

创建资产

从 项目窗口(Project) 中创建菜单或从 项目窗口(Project) 中创建 材质资产(Material Asset)。

方法一:

在 项目窗口 中,点击 添加(+) 然后选择 材质(Material)

Material_Asset002

方法二:

在 项目窗口 中右键点击空白处,然后依次选择 创建(Create)> 材质( Material )

Material_Asset003

资产导入

当您导入的 网格(Mesh)模型带有 材质(Material)信息,导入该模型后系统会自动根据模型的材质信息生成材质资产。

Material_Asset004

模型导入与材质导入的关系示例。

值得注意的是,外部导入的模型的材质信息默认储存在引用 默认着色器(Engine/Default)的 默认材质(Default),因此 SandMod 只会读取默认材质支持的 材质属性(Property),默认材质所支持的材质属性请参阅 内置着色器 章节及其子章节。

编辑资产

如果您需要编辑 材质资产(Material Asset),您可以在 项目窗口(Project)中点击选中材质资产,此时在 检视窗口(Inspector)中即可查看并编辑该材质资产的属性。

Material_Asset005

在 检视窗口(Inspector)中,您可以看到材质资产的以下可编辑属性类目:

名称描述
着色器(Shader)新创建和外部导入的材质默认都是使用内置着色器 默认着色器(Engine/Default),您可以在此属性中配置与此材质引用的 着色器(Shader)。值得注意的是,当前版本中您只能通过引用列表中指定材质引用的着色器,引用列表中每个着色器都会显示 name 命令定义的命名。
标签(Tags)材质标签类目中包含了所有材质都会拥有的属性,当前版本材质支持的标签请参阅 材质标签 小节。
关键字(Keywords)检查是否为此材质启用了指定着色器关键字。
材质属性(Properties)该类目中显示的 材质属性(Property)取决于该材质引用的 着色器(Shader)使用 property 命令定义的内容。

材质标签

Material_Asset006
名称描述
渲染队列(Render Queue)选择渲染队列。材质的 着色器(Shader)确定默认渲染队列值,您可以在着色器中使用 renderqueue 命令定义。

资产预览

您可以在 项目窗口(Project)中点击选中 材质资产(Material Asset)后在 检视窗口(Inspector)底部查看材质预览。

Material_Asset007

如果预览窗口没有显示,您可以拖动 检视窗口(Inspector)底部的 预览窗口(Preview)将其显示,并可通过拖动 预览窗口(Preview)的顶部调整窗口的大小。

Material_Asset008

资源信息窗口(Resource Information Window)用于切换角度预览材质实例化效果,在预览材质时能进行以下操作:

  • 旋转镜头:长按鼠标左键并拖动鼠标,可以移动观察材质的角度。
Material_Asset009
  • 切换预览网格:点击 切换网格(Mesh Switching) 按钮,可以切换不同形状的 网格(Mesh)查看材质的显示效果。
Material_Asset010

引用资产

材质资产(Material Asset)的引用本质上是材质实例化的过程,关于引用材质资产的具体方法和逻辑,请参阅 材质实例化 章节。

资产右键菜单

在 项目窗口(Project)中,鼠标指向材质资产,并点击鼠标右键,即会打开材质资产对应的上下文菜单,在上下文菜单中您可以对此材质资产进行以下内容的编辑。

Material_Asset011
名称描述
在资源管理器中显示(Show In Explorer)在电脑的资源管理器上打开选中的材质资产。
复制(Copy)复制所选材质资产至剪贴板。
剪切(Cut)剪切所选材质资产至剪贴板,与复制不同的是,剪切后的材质资产将不再出现于原路径下。
复制并粘贴(Duplicate)在所选的材质资产路径下克隆一份所选的材质资产。
重命名(Rename)使对象名称可编辑,以便进行更改。按 Enter 键以保存更改,或按 Esc 键以取消重命名。
删除(Delete)删除选中的材质资产。
上传资源(Upload Asset)将选中的材质资产上传至资源商店,具体上传方法请参阅 上传资源 章节。
复制资源 ID(Copy Asset ID)复制选中的材质资产的 ID 至剪贴板中,您可以通过 Resources.Load(Type,ID) 代码,直接通过此 ID 将材质以 Material 类型动态引用。
复制路径(Copy Path)以 Type Script 语法的方式,创建选中的材质资产对象从 Assets 目录下的路径在剪贴板中。