Version:

第21章 介绍材质和光照

第21章 介绍材质和光照

介绍

是时候让我们的水平变得有趣了。在上一章中,我们使用具有默认白色材质的盒子构建了足球场。我们可以仅使用基本的引擎材质和灯光向关卡中添加大量颜色和灯光。

注意:
本章的随附资源可以在 GitHub 上找到,网址为: https://github.com/AMZN-Olex/O3DEBookCode2111/tree/ch21_materials_lights

材质

注意:
You will find a reference for O3DE materials online at: https://www.o3de.org/docs/atom-guide/look-dev/materials/

首先,我们将修改 Atom Default Environment 实体附带的地面网格的材质。

  1. 选择 Atom Default Environment (Atom 默认环境),然后选择其下的 Ground entity (地面实体)。

图 21.1.具有 Ground 子实体的 Entity Atom Default Environment

  1. Find Material 组件。
  2. 将 Default Material 更改为 “16_yellow”。(此材质在 Atom 渲染器 Gem 中附带 O3DE。

图 21.2.足球

  1. 单击 Default Material 旁边的球体图标,然后选择 Edit Material Instance (编辑材质实例)。

图 21.3.足球

  1. 这将打开 Material Property Inspector,您可以在其中更改此特定实体上此特定材质的各种属性。这样,您就只能修改此实体的材质,而不会影响可能使用相同源材质的其他实体。

  2. 我选择根据自己的喜好设置 Metallic 和 Roughness 因子。

图 21.4.足球

提示:
O3DE 附带支持 PBR 纹理(基于物理的渲染)的 Atom 渲染器。您可以找到或制作自己的 PBR 纹理,并为其分配组件纹理,例如 Base Color、Metallic、Roughness 纹理等。在本章中,我只使用简单的颜色纹理。

以与上述类似的方式,我将 O3DE 网格13_blue PBR 材质分配,09_moderate_red分配给足球场的两侧,14_green_tex分配给足球场网格。

提示:
默认情况下,添加 Mesh 组件不会添加 Material 组件。您必须自己将 Material 组件添加到实体中,否则将使用网格的默认 Material。最简单的方法是使用按钮 Add Material Component on Mesh (在网格组件上添加材质组件)。

图 21.5. Add Material Component 按钮

聚光灯

分配了一些基本材质后,我们可以转向添加一些花哨的灯光。我们的关卡已经附带了天空盒、天空光照和方向光照。您可以在 Atom Default Environment 实体下找到它们。

例如,Sun 子实体具有 Directional Light 组件。

图 21.6.Sun 实体

我感兴趣的是为每个目标线添加一个聚光灯。

  1. 打开 Goal_End 预制件。
  2. 将 Spot Light 子实体添加到 Back 实体。

图 21.7.添加 Spot Light 子实体

  1. 将 Light 组件添加到 Spot Light 实体。
  2. 对于 Light type (光源类型),选择 Spot (simple punctual) (聚光灯 (简单准时))。

图 21.8.具有 Spot 类型的 Light 组件

  1. 使用变换工具将聚光灯指向目标线。

图 21.9.球门线上的聚光灯

  1. 保存预制件。

盘状光源和自发光材质

这是一种将灯光与材料相结合以制作灯的有趣方法。

  1. 使用与上述相同的步骤,创建 Spot (disk)灯,

图 21.10.聚光盘灯

提示:
您可以有选择地为每个 Light 源启用阴影支持,以控制游戏的性能和外观。使用 Enable shadow on Light (在光源上启用阴影) 组件。
2. 创建一个网格,其中的球体沿一个轴被挤压,使其看起来像一个灯源。 3. 为此网格选择一种材质,例如 19_white。

图 21.11.网格上的白色材质

  1. 在材质实例上启用 Emissive 属性。

图 21.12.聚光盘灯

  1. 添加您选择的背景网格和样式,为足球场创建泛光灯。

图 21.13.转角泛光灯

更改材质的 Base Color

对于足球,我不想使用纯色,因为我想看看球是如何旋转的。幸运的是,即使是默认项目也可以访问default_grid材质,这将适用于鸡足球。

图 21.14.Default_grid材料

不过,我对灰色球不感兴趣。因此,我将使用 Base Color 部分将 Color 更改为 yellow。

图 21.15.黄色底色

小结

注意:
本章的随附资源可以在 GitHub 上找到,网址为: https://github.com/AMZN-Olex/O3DEBookCode2111/tree/ch21_materials_lights

我们对材质和灯光的简要介绍已经结束。这些主题还有很多内容需要探索,但这足以让我们开始。以下是关卡的外观,对材质进行了一些调整并添加了一些灯光。

图 21.16.新的关卡外观

注意:
有关材料的在线文档可在此处找到: https://www.o3de.org/docs/atom-guide/look-dev/materials/ 有关 Light 组件的文档在这里: https://www.o3de.org/docs/user-guide/components/reference/atom/light/