Я хочу установить градиент по умолчанию для чего-то другого, кроме пустого экземпляра, который представляет собой пустой белый градиент.
Поскольку ваше поле сериализовано, оно не будет null
( иначе вы бы уже получили NullReferenceException
). Это скорее просто значение по умолчанию, используемое new Gradient()
.
Для того, чтобы иметь градиент по умолчанию в Инспекторе, вам фактически не понадобится специальный редактор или панель свойств. Вам нужно будет только назначить ему некоторые значения по умолчанию при объявлении поля в своем классе:
using UnityEngine;
public class ExampleScript : MonoBehaviour
{
[SerializeField]
private Gradient exampleGradient = new Gradient
{
alphaKeys = new[]
{
new GradientAlphaKey(0, 0f),
new GradientAlphaKey(1, 1f)
},
colorKeys = new[]
{
new GradientColorKey(Color.red, 0f),
new GradientColorKey(Color.cyan, 0.5f),
new GradientColorKey(Color.green, 1f)
}
};
}
введите описание изображения здесь