在Unity中,点光源(Point Light)是一种非常实用的光照效果,它可以从一个点向四面八方发射光线。点光源常用于模拟手电筒、灯泡等场景。以下是一个详细的指南,帮助您快速添加和设置Unity中的点光源。
1. 创建点光源
1.1 在场景中添加点光源
- 打开Unity编辑器,进入您的项目场景。
- 在菜单栏中,点击 GameObject > Light > Point Light。这样,一个默认的点光源就会自动添加到场景中。
1.2 查看和选择点光源
- 场景视图中,您会看到一个发光的小球,这就是您的点光源。您可以点击它,使其高亮显示,以便在场景视图中进行选择和操作。
2. 点光源属性设置
2.1 灯光颜色
- 在检查器面板中,找到 Color 属性。这里可以设置点光源发出的光颜色。
- 默认情况下,点光源是白色的。您可以根据需要调整RGB值来改变颜色。
2.2 灯光强度
- 在检查器面板中,找到 Intensity 属性。这决定了点光源的亮度。
- 增加强度值会使光线更亮,减少则使光线更暗。
2.3 范围和衰减
- Range:设置点光源影响的最大距离。在此范围内,光线强度会逐渐衰减。
- Attenuation:控制光线衰减的类型,可以是线性、平方或无衰减。
2.4 投影
- 如果需要,可以为点光源添加投影效果。在检查器面板中,勾选 Cast Shadows 和 Projector 选项。
- 设置投影的分辨率和采样方法,以获得最佳的投影效果。
2.5 其他设置
- Culling Mask:控制点光源在哪些层上投射阴影。
- Lightmap:将点光源添加到光照贴图(Lightmap)中。
- Baked Shadows:在静态场景中使用烘焙阴影。
3. 实时调整
- 在场景视图中,您可以通过拖动点光源小球来实时调整其位置。
- 使用检查器面板,您可以实时调整点光源的各种属性,并立即看到效果。
4. 示例代码
以下是一个简单的C#脚本示例,用于在Unity中动态调整点光源的颜色和强度:
using UnityEngine;
public class LightController : MonoBehaviour
{
public Light pointLight;
void Update()
{
// 获取用户输入来调整灯光颜色和强度
float h = Mathf.PolarToCartesian(Input.GetAxis("Horizontal"), 0);
float s = 1;
float v = 1;
// 计算HSV到RGB转换
Color color = Color.HSVToRGB(h, s, v);
pointLight.color = color;
// 调整灯光强度
pointLight.intensity = Mathf.Lerp(1.0f, 10.0f, Input.GetAxis("Vertical"));
}
}
通过以上步骤,您应该能够快速添加和设置Unity中的点光源。点光源的使用将使您的场景更加真实和生动。
