声音

  • 类型:AudioSource

简介

声音是游戏的关键组成部分。无论是通过音效还是音乐,它们都是增添氛围和沉浸感的绝佳方式。

该对象下的空间混合属性用来修改声音的真实效果,数值为 0 时,体现为为2D声音,为 1 时,体现为3D声音。
处于3D音效状态下,声音从父级零件发出,声音的频率和音调会随着父级零件相对运动而发生变化。声音的音量是由客户端摄像机位置与父级零件之间的距离来确定。移动时声音会有位置、音量以及音调的改变;而背景乐一般采用2D音效状态。

重启世界编辑器支持上传自定义音频文件以在游戏场景中播放。支持导入的音频类型有:ogg、mp3、wav。

  • 如何创建声音
    可在管理器内零件自定义零件合并零件对象后的加号添加声音

  • 如何更改声音
    在工作区内选中声音对象,可在右侧属性区内更换声音资源和播放模式。

属性

    AudioClip     声音资源ID   string   
    声音资源

    Mute     静音   bool   
    勾选后静音

    IsLoop     是否循环   bool   
    勾选后声音循环播放

    PlayOnAwake     唤醒时播放   bool   
    如果选中,则声音会在场景启动时播放

    Volume     音量   float   
    音量

    PanStereo     立体效果   float   
    [-1,1]-1为左,1为右

    SpatialBlend     空间混合   float   
    0为2D声音,1为3D声音

    ReverbZoneMix     混响混合系数   float   
    设置音源对混响区域的混合系数

    Priority     优先权   int   
    确定场景所有的声源之间的优先权,0代表最优先,256代表最不重要

    DopplerLevel     多普勒级别   float   
    该值决定了多少多普勒效应(音调随声源距离远近而变化)将被应用到这个声源,如果设置为0则不起作用

    Spread     扩散   float   
    设置3D立体声或者多声道音响在扬声器空间的传播角度

    RolloffMode     衰减模式   Enum.AudioRolloffMode   
    该值代表了声音衰减的速度

    MinDistance     最小距离   float   
    在最小距离之内声音会保持恒定

    MaxDistance     最大距离   float   
    最大距离

    DelayTime     延迟播放时间   float   
    延迟多久声源开始播放,以Hz为单位

    SupportClientSync     支持客户端同步   bool   
    支持声音的播放状态从客户端同步到服务器,默认不勾选

    WorldPosition     世界坐标   Vector3   
    世界坐标

    LocalPosition     相对坐标   Vector3   
    相对坐标

    Position     坐标   Vector3   
    相对父级的偏移坐标,随父缩放变化

继承自RWObject

    Name     名称   string   
    该对象的自定义名称

    ClassName     类型   string   
    该对象对应的对象类型名称

    Parent     父级   RWObject   
    该对象的父级对象

函数

    Pause()
    暂停播放当前声音

    Play()
    播放当前声音,如果声音处于暂停状态,会继续播放

    Stop()
    停止播放当前声音

继承自RWObject

    DelAllChild()
    删除所有子对象

    Available()
    检查对象是否可用

    Clone(parent)
    复制自身,若有参数则以参数为父级

    Destroy()
    删除自身

    GetAncestorByName(Name)
    通过对象名字寻找父级对象

    GetAncestorByClassName(className)
    通过对象类型寻找父级对象

    GetChildByName(Name,recursive)
    通过对象名字寻找子级对象

    GetChildByClassName(className,recursive)
    通过对象类型寻找子级对象

    GetAllChild()
    寻找自身所有子级对象,并作为一个列表返回

    GetAllDescendant()
    递归寻找自身所有后代,并作为一个列表返回

    IsAncestor(TarObj)
    判断自身是否为目标对象的祖先

    IsDescendant(TarObj)
    判断自身是否为目标对象的后代

    WaitForChild(childName,timeout)
    寻找自身的子对象。如果没有子对象,在没有填写timeout参数时,会暂停进程直到找到子对象;如果填写了timeout参数,会根据参数时间暂停进程,超出参数时间后,进程照常进行

    Child(childName)
    根据给定的名字寻找自身的子对象

    Equals(TarObj)
    判断自身是否为目标对象,结果为真返回True,结果为假返回False;注意克隆、新建同类型、同名对象,equal结果均为假

    IsClass(className)
    判断自身是否为给定的对象类型

事件

    SoundEnded()
    声音对象被停止,或完成播放时,触发此事件

    SoundPaused()
    声音对象被暂停播放时,触发此事件

    SoundPlayed()
    声音对象被播放时,触发此事件

    SoundResumed()
    处于暂停状态下的声音对象被播放时,触发此事件

    SoundStopped()
    声音对象被停止时,触发此事件

继承自RWObject

    Destroyed()
    删除自身时触发

    ChildAdded(childobject)
    添加子对象时触发

    ChildRemoved(childobject)
    移除子对象时触发

    DescendantAdded(descendantobject)
    添加后代时触发

    DescendantRemoved(descendantobject)
    移除后代时触发

    AncestryChanged(AncestryChanged)
    祖先变更时触发

文档更新时间: 2020-09-02 10:31   作者:刘征