unity3d 学习笔记(二)

本文介绍了Unity3D中如何处理音频和视频资源。对于音频,我们可以通过AudioSource和AudioListener组件实现3D音效,并提供了播放、暂停、停止等基本操作的代码示例。对于视频,我们可以通过MovieTexture来播放不同格式的视频文件,如.mov、.mpg、.mpeg、.mp4、.avi和.asf,并提供了控制播放和暂停的基本脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AudioClip 声音资源的使用


unity3d中声音资源可以设置为3d音效或者2d音效,3d音效受空间的影响,越近声音越大

component:

Audio source: 声音的发生物体

Audio listener:声音的接受者 一般放于主角中

两者一起使用否则将无意义。


代码声音简单的控制:

//如果在拖入此脚本时,如果gameObject对象没有添加Audiosource组件,会自动加上

[RequireComponent(typeof(AudioSource))]
public class AudioControl : MonoBehaviour {

//这里的audio对象为GameObject.AudioSource的实例
	public AudioClip bg;
	void OnGUI()
	{
		if(GUILayout.Button("Play"))
		{
			if(!audio.isPlaying)
			audio.Play();
		}


		if(GUILayout.Button("pause"))
		{
			audio.Pause(); 
		}


		if(GUILayout.Button("stop"))
		{
			audio.Stop();
		}


		if(GUILayout.Button("playOneshoot"))
		{
                        //播放指定的声音片段,第二参数音量大小
			audio.PlayOneShot(bg,0.7f);
		}
	}
}



MovieTexture 的使用(貌似部分压缩过的视频播放是有问题的,下面的方法也只限于pc)

unity3d中支持的影片格式包含  .mov、.mpg、.mpeg、.mp4、.avi和.asf。(QuickTime支持的格式都支持)只需将对应的视频文件拖拽入Project视图即可,它会自动生成对应的MovieTexture对象。(导入的时候确定已经安装了QuickTime)

当一个视频文件添加到项目中,它将被自动导入并转换成Ogg Theora格式。一旦影片纹理导入,则可以附加到任何游戏物件上或材质上,就像一个普通纹理一样。

Playing the Movie 播放影片

游戏开始运行时,影片纹理并不会自动播放。您必须写一个简单的脚本,来告诉它什么时候播放。

// this line of code will make the Movie Texture begin playing
//这行代码将使影片纹理开始播放
renderer.material.mainTexture.Play();


下列脚本,当按下空格键时来切换影片播放:

function Update () {
	if (Input.GetButtonDown ("Jump")) {
		if (renderer.material.mainTexture.isPlaying) {
			renderer.material.mainTexture.Pause();
		}
		else {
			renderer.material.mainTexture.Play();
		}
	}
}



Prefab

在实例对象中进行修改后按apply 修改将被应用到Prefab

在实例对象中对一些属性进行重载overwrite ,重写的以粗体标出,按下revert 属性讲revert到prefab相同的属性值

按下select将在资源视图中标出prefab

// Use this for initialization  
    void Start () {  
        for(float x=0; x<5; x++)  
        {  
            for(float y=0; y<5; y++)  
            {  
                Instantiate(prefab,new Vector3(x,y,0),Quaternion.identity);  
                                //GameObject 创建cube  
                                //GameObject  cube = GameObject.CreatePrimitive(PrimitiveType.Cube);  
                //cube.transform.position = new Vector3((float)x,(float)y,0);  
                //cube.transform.localScale = new Vector3(.8f,.8f,.8f);  
            }  
        }  
    }




当学习Unity3D时,以下是一些重要的笔记: 1. Unity3D基础知识: - 游戏对象(Game Objects)组件(Components):了解游戏对象的层次结构组件的作用。 - 场景(Scenes)摄像机(Cameras):学会如何创建场景并设置摄像机视角。 - 材质(Materials)纹理(Textures):掌握如何创建应用材质纹理。 - 动画(Animations):学习如何创建控制游戏对象的动画。 2. 脚本编程: - C#语言基础:了解C#语言的基本语法面向对象编程概念。 - Unity脚本编写:学习如何编写脚本来控制游戏对象的行为交互。 - 常见组件功能:掌握常见的Unity组件功能,如碰撞器(Colliders)、刚体(Rigidbodies)、触发器(Triggers)等。 3. 游戏开发流程: - 设计游戏关卡:了解如何设计游戏场景关卡,包括布局、道具、敌人等。 - 游戏逻辑实现:将游戏规则玩家交互转化为代码实现。 - UI界面设计:学习如何设计游戏中的用户界面,包括菜单、计分板等。 - 游戏优化调试:优化游戏性能,解决常见的错误问题。 4. 学习资源: - Unity官方文档教程:官方提供了大量的文档教程,逐步引导你学习Unity3D。 - 在线教程视频教程:网上有很多免费付费的Unity教程视频教程,可根据自己的需求选择学习。 - 社区论坛博客:加入Unity开发者社区,与其他开发者交流并获取帮助。 通过系统地学习这些内容,你将能够掌握Unity3D的基础知识并开始开发自己的游戏项目。记得不断实践尝试,不断提升自己的技能!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值