教程:表情增强课程#2 – 运用光影

在本课程中,您将学习使用 ACTION GAME MAKER 的各种表现技巧。
在第二次课程中,我们将专注于创建 光影 效果。

开始课程前的准备工作

我们将继续使用第一次课程中的项目。
请打开该项目并做好准备。

步骤 1:设置 PointLight2D

  1. 打开 game_scene 标签页并选择 ObjectRoot
  2. 添加一个新节点:PointLight2D
    你暂时不会看到任何效果——这是因为尚未分配纹理。
  3. 在文件系统(FileSystem)中,进入 templates > other,将 2d_lights_and_shadows_neutral_point_light.webp 拖入检查器(Inspector)窗口中 PointLight2D纹理(Texture) 属性。
  4. 现在应该会出现一道白光。这就完成了基本灯光的设置,但这里有一些常用的属性供你尝试:
  • 纹理缩放(Texture Scale):调整纹理的大小。
  • 颜色(Color):更改灯光的颜色。
  • 能量(Energy):控制灯光的亮度。数值越高,灯光越强。
  1. 接下来,让我们启用阴影。在 阴影(Shadow) 部分下勾选 启用(Enabled) 复选框。
    这就完成了阴影处理的激活。
    示例中提供的图块(Tiles)和角色默认已设置为投射阴影。将 PointLight2D 移近它们,你应该就能看到阴影出现了。
  2. 在下一步中,我们将介绍如何设置物体以投射阴影。

注意事项

关于纹理
在本教程中,我们使用了一个简单的圆形灯光纹理。但你可以创建任何你想要的形状——例如手电筒光束的圆锥形。
纹理应为黑白两色,其中黑色部分将变为透明。你也可以创建自己的自定义纹理。

使用 AnimationPlayer
颜色、缩放和能量等属性可以使用 AnimationPlayer 进行动画处理,从而实现闪烁灯光等效果。
有关使用 AnimationPlayer 的详细信息,请参阅图形课程(Graphic Course)。

步骤 2:使用 LightOccluder2D 创建阴影碰撞

  1. 要生成阴影,您需要使用 LightOccluder2D 设置专用的阴影碰撞。
    让我们将一个 LightOccluder2D 添加到示例对象中。
  2. sampleobject 文件夹中打开 Decoration_Statue.tscn
  3. 添加一个 LightOccluder2D 节点。
  4. 在检查器中,创建一个新的 OccluderPolygon2D
  5. 在编辑器窗口顶部,从工具栏中选择点绘制工具,并在雕像内部绘制一个多边形。
    您可以创建复杂的形状,但它们更消耗资源。目前,最好保持形状简单。
  6. 尝试将 Decoration_Statue.tscn 放置在步骤 1 中创建的灯光区域内。
    阴影应沿着多边形的形状生成。

注意事项

阴影看起来不自然?
尝试将 OccluderPolygon2DCullMode 更改为 Clockwise(顺时针)或 Counter-Clockwise(逆时针)。
如果您按顺时针方向放置了点,请选择 Clockwise;如果是逆时针,请选择 Counter-Clockwise

想要更平滑、更详细的阴影?
您可以在 PointLight2D 设置中调整阴影质量。
Shadow 部分中的 FilterNone (Fast) 更改为 PCF5PCF13
这将使阴影看起来更柔和、更精致——但这可能会影响性能。

想要为图块添加阴影?
要为图块添加阴影,请转到您的 TileSet 设置,并在 Rendering > Occlusion Layer 下定义多边形。
然而,在 ACTION GAME MAKER 中,如果您使用的是自动图块格式,遮挡层会自动设置——因此大多数情况下不需要额外设置。

步骤 3:尝试使用 DirectionalLight2D

  1. 打开 game_scene 选项卡,将 DirectionalLight2D 节点作为 BaseLayer 的子节点添加。
  2. 屏幕可能会变得非常亮,因此请将 Energy(能量) 降低至约 0.4
  3. DirectionalLight2D 模拟阳光。
    如果将 Color(颜色) 设置为蓝色调,它将类似于夜晚或黎明。
    如果设置为红色调,则可以呈现日落效果。
  4. 您还可以启用 Shadows(阴影) 以生成阴影。
    默认情况下,光线直接从上方照射。
    Transform(变换) 部分调整 Rotation(旋转),以角度设置光线方向,从而获得更自然的外观。

教程:视觉特效课程 #2 – 光照与阴影 到此结束。
下一个教程: