unity3d怎么在脚本里面更改天空盒

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity3d怎么在脚本里面更改天空盒相关的知识,希望对你有一定的参考价值。

参考技术A 我们先来讲一下,怎么样自制一个天空盒吧,其实很简单,先创建一个material,取好名字,然后更改属性为Skybox/6 Sided,并且把六个面的图片都选好,如下图:

注意图片在太空盒的位置啊~~天空盒就这样做好了,那么修改天空盒呢?
方法一:
在菜单栏Window属性下,选中Lighting,会出现下面对话框:

Scene中有Skybox属性,可以选择material,这里有系统默认的天空盒,也有自制的天空盒,更换之后天空盒会有改变。
方法二:
可以给摄像机添加一个组件–Keybox,在这里也可以直接修改。

上面是在unity中手动修改天空盒,但是有些游戏中要求我们在游戏进行中自动更改天空盒,这时候就需要代码了。我们来一个小小练习,使用代码每隔5秒更改一次太空盒:

我把脚本挂在了摄像机上,记得把你做好的太空盒拖进数组中哦~(其实用Resource.load<>()去获取最好了~但这里只是展示核心代码)本回答被提问者采纳

关于Unity中天空盒的使用

天空盒

是一个盒子,一个正方形的盒子。其实本身也是一种shader,需要材质球做载体。

1: 一个场景是由6幅正方形的纹理图无缝拼接而成, 在视野看来位于真实的视野一样;
2: 两种天空盒:
  场景天空盒 Window->Lighting->Scene->Skybox,切换摄像机场景不改变;
  摄像机天空盒: 摄像机上添加天空盒组件,切换摄像机,天空盒被切换;
3: Unity开发实际的天空盒:
  (1) 创建一个材质
  (2) 使用天空盒的Shader;
  (3) 配置天空盒资源;
  (4) 查看效果;
  (5) 配置全局天空盒,配置摄像机的天空盒;

 

 

天空盒实例1------全局天空盒

1.创建Unity工程目录

2.创建一个材质球MySkyBox,设置它的shader为Skybox---->6 sided(六个方向的常用)

3.在resources文件夹下创建一个skybox的文件夹,把美术画好的6张天空盒的上下前后左右的图复制进去

4.然后把6张天空盒拖进材质球MySkyBox的纹理属性里面

5.最后在Window->Lighting->Scene->Skybox中拖进材质球MySkyBox就完成了。默认的天空盒材质是Default-Skybox

 

 

天空盒实例2------摄像机的天空盒

1.给主摄像机Main Camera增加一个Skybox的组件,把实例1里面设置好的MySkyBox材质拖进Skybox的组件里面的天空盒属性。

2.Scene视图中虽然不显示天空盒的样子,但是Game视图有显示

 

 

小技巧:

如果要让Inspector面板不因为鼠标点击其它目录文件导致面板切换的,可以点击右上角的一个小锁头,等到自己希望停留的面板的时候,锁住,再去其它目录下选择文件进行拖拽。等设置完了,可以再几点锁头解锁。

以上是关于unity3d怎么在脚本里面更改天空盒的主要内容,如果未能解决你的问题,请参考以下文章

在Unity场景中更改天空盒的步骤

关于Unity中如何代码动态修改天空盒

关于Unity中天空盒的使用

GLSL 纹理函数只为天空盒返回黑色

u3d的小太阳为啥看不到

✠OpenGL-9-天空和背景