Не удается заставить вращающийся скайбокс работать в v2019.3.15f1

#unity3d

Вопрос:

Поэтому большинство поисковых запросов Google для вращающегося skybox предлагают добавить что-то подобное в обновление:

 RenderSettings.skybox.SetFloat("_Rotation", Time.time * 1.23f);
 

Или что-то в этом роде, если у вас есть компонент skybox на вашей камере:

 GetComponent<Skybox>().material.SetFloat("_Rotation", Time.time * 1.23f);
 

Я пробовал как с первым методом (без компонента skybox на камере), так и со вторым методом (с компонентом skybox на камере), и ни один из них не работает. Там нет ошибки, выданной fwiw. Кроме того, я могу без проблем изменять материал skybox во время выполнения, так что дело не в том, что я не могу получить доступ к материалу, скорее кажется, что установка _Rotation не имеет никакого эффекта.

Любой совет приветствуется. Спасибо

Ответ №1:

Я только что проверил

 void Update()
{
    RenderSettings.skybox.SetFloat("_Rotation", Time.time * 1.23f);
}
 

и это, кажется, отлично работает для меня.

Какой тип шейдера вы используете в своем материале skybox?
Я только что проверил это с Skybox/6 Sided помощью шейдера.

Комментарии:

1. Спасибо, я думаю, что в этом вся суть. Я использую пользовательский материал skybox из актива unity, который я купил, и в нем не используется сторона Skybox/6, но пользовательский шейдер skybox, и, следовательно, похоже, не используется _Rotation или, по крайней мере, не таким же образом. Я собираюсь отправить электронное письмо создателю активов и спросить, что мне нужно сделать, чтобы повернуть его. Я протестировал шейдер Skybox/6sided, и теперь он работал отлично.