Unity笔记3-光照系统、声音

本文详细介绍了Unity中的全局光照(Global Illumination)技术,包括直接光、环境光照、间接光的计算方式及其组件类型。实时GI使得光照效果在运行时能即时更新,提升场景的真实感。烘焙Lightmap则通过预渲染光照贴图,优化性能,适用于资源有限的平台。此外,还提及了声音处理的基本概念和组件。
摘要由CSDN通过智能技术生成

光照系统

Global Illumination

简称GI,即全局光照
能够计算直接光、间接光、环境光以及反射光的光照系统。
通过GI算法可以使渲染出来的光照效果更为真实丰富。

直接光
从光源直接发出的光,通过Light组件实现
Type类型

  • Directional Light 平行光: 平行发射光线,可以照射场景里的所有物体,用于模拟太阳。
  • Point Light 点光源: 在灯光位置上向四周发射光线,可以照射其范围内的所有对象,用于模拟灯泡。
  • Spot Light 聚光灯: 在灯光位置上向圆锥区域内发射光线,只有在这个区域内的物体才会收到光线照射,用于模拟探照灯。
  • Area Light 区域光: 由一个面向一个方向发射光线,只照射该区域内物体,仅烘培时有效,用在光线较为集中的区域。

环境光照
作用于场景内所有物体的光照,通过Environment Lighting中Ambient控制。
Ambient Source环境光源

  • Skybox 通过天空盒颜色设置环境光照
  • Gradient 梯度颜色
    Sky 天空颜色
    Equator 地平线颜色
    Ground 地面颜色
  • Ambient Color 纯色
  • Ambient Intensity 环境光强度
  • Ambient GI 环境光GI模式
    Realtime 实时更新,环境光源会改变选择此项
    Backed 烘培,环境光源不会改变选择此项。

间接光

  • 物体表面在接受光照后反射出来的光。
  • 通过Light组件中Bounce Intensity反弹强度控制。
  • 可以通过Scene面板Irradiance模式查看间接光照。
  • 注意: 只有标记Lightmaping Static的物体才能产生间接反射光照。

实时GI

Realtime GI

  • 所谓“实时”是指在运行期间任意修改光源,而所有的变化可以立即更新。
  • 正是由于Unity5 引入了行业领先的实时全局光照技术Enlighten系统,才可以在运行时产生间接光照,使场景更为真实丰富。
  • 操作步骤:
    1、游戏对象设置为Lightmaping Static
    2、启用Lighting面板的Precomputed Realtime GI
    3、点击Build按钮(如果勾选Auto编辑器会自动检测场景的改动修复光照效果)

烘焙Lightmap

  • 当场景包含大量物体时,实体光照和阴影对游戏性能又很大影响。使用烘焙技术,可以将光线效果预渲染成贴图再作用到物体上模拟光影,从而提高性能。适用于在性能较低(例如手游)的设备上运行的程序。

步骤

  1. 游戏对象设置为Lightmaping Static。
  2. 设置Light组件Baking属性。
  3. 启用Lighting面板的Backed GI。
  4. 点击Build按钮。(如果勾选Auto编辑器会自动检测场景的改动修复光照效果)
  5. Light组件Backing属性:烘焙模式
    Realtime 仅实现光照时起作用。
    Backed 仅烘焙时起作用。
    Mixed 混合,烘焙与实时光照都起作用。
  6. 可以通过Scene面板Backed模式查看光照贴图

声音

  • Unity支持的音频文件格式:
    mp3、ogg、wav、aif、mod、it、s3m、xm
  • 声音分为2D、3D两类
    3D声音:有空间感,近大远小。
    2D声音:适合背景音乐。
  • 在场景中产生声音,主要依靠两个重要组件:
    Audio Listener 音频监听器: 接收场景中音频源Audio Source发出的声音,通过计算机的扬声器播放声音。
    Audio Source 音频源
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当初我学习Unity系统的时候,我做了一些笔记,希望能帮到你入门。下面是一些关键点: 1. Unity是一个跨平台的游戏开发引擎,可用于开发2D和3D游戏。它提供了一个可视化的编辑器,让你可以轻松地创建场景、对象、材质等。 2. 编辑器界面:Unity的编辑器界面分为场景视图、层次视图、资源视图和检视视图等。场景视图用于查看和编辑场景,层次视图显示场景中的对象层次结构,资源视图用于管理项目中的资源,检视视图则显示了当前选中对象的属性和组件。 3. 游戏对象:Unity中的一切都是游戏对象,包括角色、道具、相机等。每个游戏对象都可以附加多个组件,比如渲染器、碰撞器、脚本等,用来实现不同的功能和行为。 4. 脚本编程:Unity使用C#作为主要的编程语言。你可以编写脚本来控制游戏对象的行为。脚本可以挂载到游戏对象上,通过组件来访问和修改游戏对象的属性和方法。 5. 场景管理:通过场景管理器可以创建、编辑和切换不同的场景。你可以在场景中添加、移动、旋转和缩放游戏对象,设置摄像机视角,调整光照效果等。 6. 资源管理:Unity提供了资源视图来管理项目中的资源,包括纹理、音频、模型等。你可以导入和导出资源,并在项目中进行引用和使用。 7. 物理引擎:Unity内置了物理引擎,可以模拟物体的运动和碰撞。你可以给游戏对象添加刚体组件,设置质量、重力、碰撞检测等属性,实现真实的物理效果。 8. 动画系统Unity提供了强大的动画系统,可以创建和编辑角色的动画。你可以通过动画控制器来管理不同的动画状态,并通过脚本控制角色的动画播放和过渡。 这些仅是入门的基本知识点,希望对你有所帮助。如果你还有其他问题,可以继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值