Как в годо создать анимированный трехмерный дневной ночной цикл? - PullRequest
0 голосов
/ 20 июня 2020

Я пытаюсь создать трехмерную игру в godot, и мне было интересно, как go я могу создать цикл день / ночь. Я бы предположил, что буду использовать шейдеры, но я не нашел ресурсов по этой теме. Моя идея иметь направленный свет, как солнце, но оттуда я не знаю, куда go. EX. как я узнаю, когда небо должно быть определенного цвета?

Заранее спасибо.

1 Ответ

0 голосов
/ 20 июня 2020

Это очень широкая вершина c и поэтому в целом не очень подходит для вопроса о переполнении стека. Я сосредоточусь на последней части вопроса («как мне узнать, когда небо должно быть определенного цвета»), потому что это хорошо сфокусированный вопрос. Остальное вам придется решить самостоятельно (направленный свет, конечно, вариант).

Годо не держит время за вас. Но вы получаете длину текущего кадра в параметре delta функции _process. Вы можете суммировать значение дельты по каждому кадру, что дает вам количество реальных секунд с момента запуска игры.

Обычно время в игре проходит быстрее, чем в реальном мире. Вам нужно выбрать коэффициент, определяющий, насколько быстрее. Если вы разделите суммарное дельта-время на этот коэффициент, вы получите количество игровых секунд с момента начала игры. Возьмите это по модулю количество игровых секунд в игровом дне, и у вас будет время дня.

Как сопоставить время суток с цветами неба, снова ваше дело.

...