c# - 如何使用键在天空盒之间切换?
问题描述
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SkyBox : UnityEngine.MonoBehaviour
{
public Material[] skyboxes;
public float moveSpeed = 5f;
// Use this for initialization
void Start()
{
RenderSettings.skybox = skyboxes[0];
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.S))
{
if (RenderSettings.skybox != null && RenderSettings.skybox == skyboxes[1])
{
RenderSettings.skybox.SetFloat("_Rotation", Time.time * moveSpeed);
}
}
}
}
第一个问题是如何让它在更新中的天空盒 0 和 1 之间切换?
第二个问题是如何使用默认的天空盒作为索引 0 的天空盒?我在 Assets 中找不到默认的天空盒:
我现在发现的另一个问题。我的天空盒不是默认的,而是我想切换到的第二个,我无法将它添加到脚本中的公共变量中:
public Skybox skybox;
我也试过:
public Material skybox;
这是天空盒设置:
我无法将它拖到检查器中的脚本中。如果变量是 SkyBox 或 Material。
我想要做的是在默认天空盒和这个 Sky_0003 之间一键切换