005-unity3d 添加背景音乐、音效 以及 天空盒子

一、基础知识

1、项目中需要有AudioListener,播放器中播放的声音就是AudioListener组件坐在的位置听到的声音。默认AudioListener是放到Main Camera上。没有AudioListener的话是听不到声音的。一般默认就在摄像机上。
2、把音乐拖到Assets中,选中要播放音乐的游戏对象(如果鸡叫、坦克爆炸等声音一般放到鸡、坦克这些游戏对象上,而背景音乐等则一般放到摄像机上),点击主菜单:Component→Audio→audio source 增加Audio组件到GameObject上,然后把音乐文件拖到组件的Audio Clip属性上即可。Mute设定是否静音,Play On Awake为自动播放,Loop 循环播放,Volumn为音量。

二、示例

1、使用打箱子示例:http://www.cnblogs.com/bjlhx/p/8214277.html

2、查看主摄像机是否含有,AudioListener,如果缺失,可以再菜单中添加Component

  

3、添加音乐素材,直接从本地拖拽至Assets目录中。

4、添加背景音乐,一般默认添加在主摄像机上,Component→Audio→Audio source

  

5、添加音效,添加到具体事物上。

  这里添加到地面上,每次球体发射时,触发声音。使用脚本控制

public class Init : MonoBehaviour {
    private GameObject goPlane;

    // Use this for initialization
    void Start()
    {
        goPlane = GameObject.Find("Plane");
        for (int i = 0; i < 4; i++)
        {
            for (int j = 0; j < 4; j++)
            {
                GameObject go = GameObject.CreatePrimitive(PrimitiveType.Cube);
                go.transform.position = new Vector3(i, j, -1);
                if (j % 2 == 0) {
                    go.GetComponent<Renderer>().material.color = Color.red;
                }
                go.AddComponent<Rigidbody>();
                go.AddComponent<AutoDestory>();
            }
        }

    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            GameObject goNew = GameObject.CreatePrimitive(PrimitiveType.Sphere);
            goNew.transform.position = Camera.main.transform.position;
            goNew.AddComponent<Rigidbody>();
            goNew.AddComponent<AutoDestory>();
            goPlane.GetComponent<AudioSource>().Play();

            Vector3 targetPos = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 3));
            goNew.GetComponent<Rigidbody>().AddForce((targetPos - Camera.main.transform.position) * 10, ForceMode.Impulse);
        }
    }
}

注意代码中的goPlane。

三、天空盒子

  天空盒子一共有六个面,可以单独设定贴图,可以导入一些内置的免费SkyBox。

  5.0版本以前

    在Project上点击右键,选择:Import package →Characters→SkyBoxs.然后在主菜单选择:Edit→Render Settings,然后在再Inspector面板中,修改SkyBox meterial,选择导入的素材即可。

  5.0版本以后

    默认已添加

    如果修改,主菜单→windows→lighting

原文地址:https://www.cnblogs.com/bjlhx/p/8227671.html

时间: 2024-12-09 22:28:46

005-unity3d 添加背景音乐、音效 以及 天空盒子的相关文章

添加天空盒子

创建天空盒子首先在Materials里面添加一个新材质,然后放入六张六面体图片,顺序一定呀正确. Unity 5 将材质都放到了Lighting 里面了.选择做好的材质,apply  就好了!

cocos2dx2.2添加音乐音效以及设置音量

cocos2dx2.2添加音乐音效以及设置音量(非原创) cocos2d-x使用SimpleAudioEngine类作为实现跨平台的音乐引擎,首先需要引入头文件. 对于声音文件,我们可以提前加载,这样会提高游戏的执行效率,但却会增加内存消耗,编码时,我们需要根据实际情况决定是否要进行预加载处理. 好了,我们写一个例子先,同样还是新建一个Music项目. 1.引入头文件以及相应的库 #include "cocos2d.h"   #include "SimpleAudioEngi

【Unity 3D】学习笔记三十三:游戏元素——天空盒子

天空盒子 一般的3D游戏都会有着北京百年一遇的蓝天,让人惊叹不已.其实天空这个效果没有什么神秘的只需用到天空盒子这个组件就行,可以将天空设想成一个巨大的盒子,这个盒子将整个游戏视图和所有的游戏元素包含其中.在unity中制作天空盒子非常方便,只需要像设置其他组件一样设置下就行了.在制作天空盒子之前,我们需要搜集一些天空的贴图,不过,unity很方便的为开发者提供了天空盒子的资源包.首先在project视图中点击鼠标右键,然后选择import package--skyboxes即可添加天空盒子的资

在网页中添加背景音乐

有两种添加背景音乐的方式分别用<bgsound>和<embed></embed>标签,当用<embed>插入背景音乐时可以设置宽度和高度为0,隐藏播放器.二者的参数如下: ■ <bgsound>: <bgsound> 是用来插入背景音乐,但只适用于 IE,其参数设定不多.如下 <bgsound src="your.mid"autostart=true loop=infinite> src="y

(转)CocosCreator零基础制作游戏《极限跳跃》九、为游戏添加声音音效功能

CocosCreator零基础制作游戏<极限跳跃>九.为游戏添加声音音效功能 游戏的声音很重要,我们在这个游戏中需要加2个音效,一个背景音乐...第一个音效在玩家与障碍物碰撞的地方加碰撞音效,第二个在玩家主角坠落到屏幕底部的时候加游戏结束的音效.然后游戏开始的时候加载背景音乐. 我们一开始在MainScene场景中的声音图标节点就是我们用来控制声音的开关.. 首先修改guawileft.js脚本,添加音效资源,在onload设置声音大小.代码: 01 //guanwileft.js 02  

Cocos2d-x开发中国象棋《十一》在游戏中添加背景音乐

在上一节中实现了悔棋,在这节将介绍如何在游戏中添加背景音乐 看一下效果: 实现思路: 当单击后游戏中播放背景音乐,并且背景音乐切换按钮由变成 当单击后停止播放背景音乐,并且背景音乐切换按钮由变成 当游戏进入后台后停止播放背景音乐 当游戏恢复后继续播放背景音乐 实现代码: 在SceneGame类中定义一个成员函数Voice(CCObject*)用于实现背景音乐的切换,Voice(CCObject*)中的代码 //播放背景音乐 void SceneGame::Voice(CCObject*) { s

h5页面添加背景音乐

[需求]h5页面添加背景音乐,支持微信.QQ.各种APP. [实现思路]1.通过audio标签,设置自动播放,是一种方法,但是此方法只适合微信.QQ,并不兼容我司的APP,需要主动触发下播放事件. 2.针对可以自动播放的渠道,通过this.audio.addEventListene监听playing事件,控制小喇叭的状态. [知识点]audio标签.addEventListener.classList [代码]封装了一个公共组件: 1 <template> 2 <div class=&q

Unity3d 背景、音效 播放 简单demo

仅实现功能,AudioListener在MainCamera中 using UnityEngine; using System.Collections; using System.Collections.Generic; public class MusicManger : MonoBehaviour { AudioSource _backMusicSource = null; AudioSource _SoundSource = null; //public string musicName

OpenGL 学习笔记-2015.4.18——立方体纹理映射-天空盒子-环境映射

立方体映射(cube-map)纹理是一种特殊类型的纹理,用于环境映射,使用一组图像并把他们作为立方体的面.立方体映射的6个面用正方形并且大小相同的6个子纹理表示.要从立方体纹理中采样的时候,使用的纹理坐标是3维,并且被看做来自原点的方向!方向指向用来读取纹理的立方体映射表面的位置.在这里例子中,有关于环境映射的代码,主要思想是通过观察向量和表面的法向量反射来确定采样的纹理坐标. 通过将一个新的纹理名绑定到GL_TEXTURE_CUBE_MAP纹理目标,然后调用glTexStorage2D()以G