【Unity开发】随手记:声音,天空盒技术
【Unity开发】随手记:声音,天空盒技术
写在前面
本系列为笔者实在是不想写作业,来通过写博客勉励自己一下。参考教程为《Unity 3D游戏开发》(中国工信出版集团),大部分代码和注释来源于这个博主,姐妹万岁哈哈哈哈🤣。
文章中只放代码(随缘附少量基础讲解和效果),项目操作可以自行百度or留言,防止太长一篇1~3个案例,案例来源于哈工大(威海)王峥老师布置的作业。
播放声音
使用附件中所给的声音素材完成下列功能:程序运行时在屏幕的左上角出现一个按钮,同时播放pla.mp3声音,当用鼠标点击按钮时,播放mp5.mp3的声音
- 按钮:使用Canvas下的Button即可
- 播放声音:添加Audio Source,在右侧面板设置背景音乐即可

- 点击播放:在按钮单击时调用MainCamera上挂载的脚本文件中的
pressbofang()函数,MainCamera上挂载的音乐就是要播放的:

该函数体如下所示:
public class AudioSettings : MonoBehaviour
{AudioSource musics;void Start(){musics = this.GetComponent<AudioSource>();}public void pressbofang(){if (!musics.isPlaying){musics.Play();}}
}
天空盒
使用素材构建冰川天空盒,并编程实现使用鼠标拖动摄像机旋转观察整个场景
- 天空盒:创建材质,设置为6面天空盒,分别赋予背景图

- 为Main Camera挂载天空盒组件和脚本组件:

脚本组件用于让天空盒视野跟随鼠标,获取鼠标移动,并且通过Time.deltaTime来缩放帧的大小以保证相等:
public class NewBehaviourScript : MonoBehaviour{private void Update(){ // 获取鼠标横向移动,让Unity中摄像机绕Y轴转动 float x = Input.GetAxis("Mouse X");// 获取鼠标纵向移动,让Unity中摄像机绕X轴转动float y = Input.GetAxis("Mouse Y");//需要限制沿X轴旋转角度if (x != 0 || y != 0)RotateView(x, y);}public float speed = 10;private void RotateView(float x, float y){x *= speed * Time.deltaTime; //鼠标横向移动变化值//Unity中摄像机随着x的变化绕Y轴转动transform.Rotate(0, x, 0); y *= speed * Time.deltaTime;//鼠标纵向移动变化值// Unity中摄像机随着y的变化绕X轴转动transform.Rotate(-y, 0, 0);}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
