用料
material是一组属性(状态,选项,参数)和资产(2D,3D纹理),在文本文件中描述并与特定的对象表面相关联。
UNIGINE拥有自己的材料系统,包括:
- 程序员实施的基础(user)材料。
- 从基础材料继承的用户(base)材料,并由3D艺术家通过“材料编辑器”进行了调整。
基础材料#
基础材料存储一组材料属性,并引用片段,顶点和几何shaders,描述了材料的外观。
着色器以GLSL和HLSL着色语言编写。在UNIGINE中,还有统一UNIGINE着色器语言(UUSL)也可用于编写着色器:它允许为两个3D图形API(OpenGL和Direct3D11)创建单个着色器文件。
基础材料存储在*.basemat文件中。不能通过材料编辑器对其进行编辑:要自定义基础材料,您应直接编辑文本文件。或者,您可以创建一个全新的链接。
基础材料无法形成材料层次结构:不能从其他基础材料继承任何基础材料。基础资料始终位于层次结构的顶部:用户资料是从其继承的。
一组内置基础材料很大,其中包含大多数常见问题的材料。
用户资料#
用户材质会覆盖发送给材质的着色器的属性,该材质由继承用户材质(或其父级)的基础材质使用。用户资料本身不能引用着色器。
用户资料存储在*.mat文件中,该文件包含对父级和基础资料的引用。通常,当通过“材质编辑器”从基础材质或其他用户材质继承新材质时,会创建此类文件。用户材料无法自定义:一组用户材料属性不能与引用的基础材料的属性不同。但是,您可以通过“材料编辑器”编辑用户材料。
与基础资料不同,用户资料可以构成资料层次结构。
手册和内部材料#
在UNIGINE中,还有手册资料。此类材料是手动创建和编辑的:在运行时通过材料编辑器进行的更改无法保存。所有基础材料(内置材料和自定义材料)都是手动的。但是,并非每种手册资料都是基础资料:用户资料也可以是手册。
在*.mat文件中,存储了手动用户材料名称。子*.mat文件可以存储基于基于名称或基于GUID的对父手册材料的引用。
当需要在不使用“材料编辑器”的情况下创建材料时,程序员可以使用手动材料。
内部材料是没有名称的材料。克隆或继承材质时,每个新材质都将成为内部材质,直到为其分配了名称。
也可以看看#
- 层次结构和继承 文章可了解有关材料组织方式的更多信息。
- 材料GUID 文章,了解如何引用基础资料和用户资料。
- 材料文件 部分,以了解有关基础材料和用户材料,.mat和.basemat文件及其与着色器文件的连接的更多信息。
- 自定义材料 文章了解新材料创建的基础。
- 统一的Unigine着色器语言 文章,了解如何为两个3D图形API实现着色器文件。