在Unity中利用代码动态更改场景中的天空盒

在Unity中利用代码动态更改游戏场景中的天空盒(亲测有效)

首先要在场景中新建一个材质球,并把材质球的类型改成为Skybox/6 Sided,然后把天空盒的六个面分别选择一张UI图片!
在Unity中利用代码动态更改场景中的天空盒_第1张图片
接下来在场景中新建一个名称为Test的C#的脚本,然后可以把这个脚本绑定在游戏场景中的任何一个游戏物体身上,并把下列这些代码复制到脚本中!

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour {

	public Material sky1;

	void Update()
	{
		//当运行游戏时,按下键盘的空格键就执行if语句的下列代码
		if(Input.GetKeyDown(KeyCode.Space))
		{
			//替换天空盒
			RenderSettings.skybox = sky1;
		}
	}
}

注意:
1、一定要移除掉场景中绑定了主摄像机游戏物体身上的Skybox组件!!!
2、因为在这个脚本中Material 属性我是打算直接采用了属性面板直接赋值,所以复制并保存好脚本后,回到游戏场景中,并把之前制作好了的材质球赋给我们脚本中的sky1,最后才可以运行游戏!!!

你可能感兴趣的:(Unity,游戏,c#,unity,游戏开发,unity3d)