TrailRenderer.colorGradient "Печать текущих спецификаций для копирования в коде" - PullRequest
1 голос
/ 10 мая 2019

После прочтения информации об API здесь: https://docs.unity3d.com/ScriptReference/TrailRenderer-colorGradient.html

Мне интересно, смогу ли я "настроить" мой рендерер следов в обычном интерфейсе Unity, распечатать эти сложные параметры кода, затем использовать этот код в моем скрипте для изменения цвета триггеров и т. Д.

Чтобы уточнить, как мне получить информацию, представленную здесь в коде: [Trail Renderer Inspector View]

Думаю, я подхожу к этому из фона CSS. Есть ли в Unity цветная версия этого сайта: https://www.colorzilla.com/gradient-editor/

Могу ли я заставить скрипт распечатать характеристики рендера следа (с целью его воспроизведения в другом месте моего кода)?

1

Очень признателен за помощь!

1 Ответ

0 голосов
/ 12 мая 2019

Я все еще не уверен на 100%, понял ли я вопрос, но попробую.

Как я понимаю, вы хотите, чтобы на каждом триггерном объекте был компонент, в котором вы можете задать другой градиентнастройки для каждого.

И я предполагаю, что под Unity interface вы подразумеваете Инспектора.

Так что-то вроде, например,

public class GradientSetter : MonoBehaviour
{
    public GradientColorKey[] colorKeys;
    public GradientAlphaKey[] alphaKeys;  
}

Поместите это в триггерный объект (ы)и настройте параметры с помощью инспектора.Вначале они должны быть пустыми массивами, поэтому для добавления элементов просто введите количество требуемых элементов в свойстве size обоих массивов.

И где бы вы ни реализовали Collision для объекта TrailRenderer

void OnTriggerEnter(Collider other)
{
    var gradientSetter = other.GetComponent<GradientSetter>();
    if(!gradientSetter) return;

    gradient.SetKeys(gradientSetter.colorKeys, gradientSetter.alphaKeys);

    ...
}

Я предполагаю, GradientColorKey и GradientAlphaKey равны Serializable.Если вы реализуете это, но они не отображаются в Инспекторе, дайте мне знать, тогда вам придется создать для них класс-оболочку.(Я не могу проверить это прямо сейчас)


Примечание: напечатано на смартфоне, поэтому нет гарантии, но я надеюсь, что идея проясняется

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...