unity-音效&UI&场景变换及光源

音效

  • Audio Listener:音乐接收

  • Audio Source:音乐音源

  • Audio Clips:音乐片段

背景音乐

  1. 下载音乐素材
  2. 在player界面添加Audio Source
  3. 将对应bgm拖入Audio Clip
  • Play On Awake: 游戏一开始就播放
  • Loop: 循环播放

为其他动作添加音效

  1. 对象单个动作添音效

    • 下载音乐素材
    • 在对象界面添加Audio Source
    • 将对应bgm拖入Audio Clip
    • 在脚本中添加AudioSource对象,并在start()方法使用GetComponent<AudioSource>()创建component
    • 在合适的位置添加代码audio.Play();方法播放音效
  2. 对象多个动作添音效

    • 下载音乐素材
    • 在对象界面添加Audio Source
    • 将对应bgm拖入Audio Clip
    • 在脚本中添加多个publicAudioSource对象,在unity界面将不同的音效拖入脚本的不同属性中
    • 在合适的位置添加代码audio.Play();方法播放音效

对话框

  1. 添加UI中的Panel面板
  2. 选择合适的位置和颜色
  3. Panel中添加Text,并添加对应文字和样式
  4. 设置出现对话位置的碰撞体并设置is Trigger
  5. 在代码中实现出现对话框的逻辑
  6. 在unity中将对应的对话框拖入script的对应Object
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public GameObject enterDialog;//对话框Object

//角色碰撞到出现对话的位置,触发函数
public void OnTriggerEnter2D(Collider2D collision)
{
if (collision.gameObject.tag.Equals("Player"))
{
enterDialog.SetActive(true);
}
}
//角色离开出现对话的位置,触发函数
public void OnTriggerExit2D(Collider2D collision)
{
if (collision.gameObject.tag.Equals("Player"))
{
enterDialog.SetActive(false);
}
}

场景变换

SceneManagement

1
2
3
4
5
6
//重新加载scene--死亡后重启
SceneManager.LoadScene(SceneManager.GetActiveScene().name);

//进入下一个场景
//使用buildIndex前需要到File->Build Setting中加入所有场景
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);

增加光源

先让环境暗下来,再让发光的地方发出光源

  1. 给背景添加材质Default_diffuse,使其变暗
  2. 给人物及其他角色添加材质
    • 新建材质
    • Shader中选择Sprites/Diffuse,若有法线贴图,则将其添加到Normal Map
    • 将材质拖入人物及其他角色的材质栏
  3. 添加Point Light,光源是3D的,需要调节z轴的值来调节光线的亮度,并通过调节Range和Intensity改变光的范围和强度
  4. 更改光源位置到需要的地方

若添加光源有边缘线,可讲cell size改成1、1,若出现锯齿,则在Project Setting中的Quality,将抗锯齿Anti Aliasing设置为Disabled

  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2020-2021 Aweso Lynn
  • PV: UV: