为什么 public 纹理在 Monobehaviour 中不可用?
Why isn't a public texture available in a Monobehavior?
我有一个简单的 class 有一个纹理:
using UnityEngine;
public class RayTracingMaster : MonoBehaviour
{
public Texture SkyboxTexture;
private void Awake()
{
// This is null?
Debug.Log(SkyboxTexture);
}
}
我已将图像拖放到 Unity 中并将其链接到 SkyboxTexture UI 元素。
但无论我在哪里尝试在脚本(上方)中引用它,它都是 null
.
您所看到和编辑的是脚本文件本身的Inspector!
您将纹理和着色器引用为此脚本的任何新实例的“默认引用”!
请注意,这只会对之后创建的实例有任何影响,不会影响已经存在的实例。
而是使用 "t:RayTracingMaster"
(我想你的 MainCamera
)搜索附加到场景中任何游戏对象或预制件的组件的现有实例,并确保你也有正确引用了纹理等!
我有一个简单的 class 有一个纹理:
using UnityEngine;
public class RayTracingMaster : MonoBehaviour
{
public Texture SkyboxTexture;
private void Awake()
{
// This is null?
Debug.Log(SkyboxTexture);
}
}
我已将图像拖放到 Unity 中并将其链接到 SkyboxTexture UI 元素。
但无论我在哪里尝试在脚本(上方)中引用它,它都是 null
.
您所看到和编辑的是脚本文件本身的Inspector!
您将纹理和着色器引用为此脚本的任何新实例的“默认引用”!
请注意,这只会对之后创建的实例有任何影响,不会影响已经存在的实例。
而是使用 "t:RayTracingMaster"
(我想你的 MainCamera
)搜索附加到场景中任何游戏对象或预制件的组件的现有实例,并确保你也有正确引用了纹理等!