Unity学习日志3

1.光照Lighting系统

①Directional 平行光

与位置position无关,与rotation有关。
运用: 可以用rotation的变化模拟白天黑夜的更迭。

②Point 点光

随距离减弱
与位置position有关,与rotation无关。
运用: 灯泡

③Spot 聚光灯

与位置position有关,与rotation有关。
手电筒光

④ Area 范围光

非时实光照

2.Ref和Out关键字

是一种引用 &

1. ref 关键字

作用:

ref 用于传递参数的引用(而不是值)。

方法可以修改调用者传递的变量的值。

特点:

调用方法时,必须初始化 ref 参数。

方法内部可以读取和修改 ref 参数的值。

2. out 关键字

作用:

out 用于传递参数的引用(而不是值)。

方法必须为 out 参数赋值。

特点:

调用方法时,不需要初始化 out 参数。

方法内部必须为 out 参数赋值

3.声音相关的组件

声音文件会作为一个audiocilp存在于文件夹中。
想要播放声音有以下几步。

!需要有AudioListener组件才能听到声音,需要有AudioSource组件才能播放声音。相机自带AudioListener,但是如果使用了DontDestry到新的场景可能会存在多个Listener,要将其中一个去除,一个场景存在多个会warning。
1.将声音文件拖入Asset文件夹。
2.创建一个Empty物体作为父物体,把音频拖入 Hierarchy作为一个GameObject,会自动挂载AudioSource组件。
3.在C#脚本中声明一个Audiosource数组存储AudioSource组件(挂载于父物体上)。
3.将音频拖入这个数组中(把AudioSource添加到数组中)。
4.代码中用下标索引来播放音频。

扩展1 动态加载资源
T resource = Resources.Load<T>(path);
T[] resources = Resources.LoadAll<T>(path);
path表示的是Resource这个目录往后的路径
比如/Resources/Audio/sound1 
string path = "Audio/sound1 ";
AuidoClip = Resources.Load<AuidoClip>(path);

如果不想使用Hierarchy可以使用这个动态加载文件夹中的内容。(图片来源Bilibili银鸟工作室)
在这里插入图片描述
使用文件夹分类
方法:
在 Resources 文件夹中创建子文件夹,将不同类型的文件分类存放。

例如:

Resources/Textures:存放纹理文件。

Resources/Audio:存放音频文件。

Resources/Prefabs:存放预制体文件。

using UnityEngine;

public class LoadResources : MonoBehaviour
{
    void Start()
    {
        // 加载纹理
        Texture[] textures = Resources.LoadAll<Texture>("Textures");
        foreach (Texture texture in textures)
        {
            Debug.Log("Loaded texture: " + texture.name);
        }

        // 加载音频
        AudioClip[] audioClips = Resources.LoadAll<AudioClip>("Audio");
        foreach (AudioClip clip in audioClips)
        {
            Debug.Log("Loaded audio: " + clip.name);
        }

        // 加载预制体
        GameObject[] prefabs = Resources.LoadAll<GameObject>("Prefabs");
        foreach (GameObject prefab in prefabs)
        {
            Debug.Log("Loaded prefab: " + prefab.name);
        }
    }
}
扩展2 声音管理器 (图片来源Bilibili银鸟工作室)

在这里插入图片描述
外部可以直接通过调用Play并且传入文件名字播放某个音频。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值