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格式。一旦影片纹理导入,则可以附加到任何游戏物件上或材质上,就像一个普通纹理一样。
游戏开始运行时,影片纹理并不会自动播放。您必须写一个简单的脚本,来告诉它什么时候播放。
// 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);
}
}
}