На фоне моих последних интересов, я взялся делать новую мобильную игру на космическую тему, а именно космический симулятор.
На первый взгляд для отображение в космическом симуляторе космического корабля и планеты со спутниками на фоне достаточно взять некую трехмерную модель космического корабля и несколько огромных сфер отображающих планеты. В некоторых игровых движках возможно оно так и будет. Но я как и многие работаю в движке Unity, который в свою очередь работает на числах одинарной точности.
На практике это означает что движок корректно работает с диапазоном расстояний порядка 0.001 - 100000 метров. Этого достаточно для большинства игр.
Но разрабатывая реалистичный космический симулятор оперировать приходится миллионами километров. А отрисовывать объекты надо будет в диапазоне расстояний от 0.001 метра (для детального отображения космического корабля) до 1 млн километров (для отображения планет со спутниками которые мы можем увидеть находясь на орбите планеты).
Т.е. верхняя граница отрисовки превышает возможности движка в 10000 раз.
Решается проблема следующим способом. Модели для отрисовки делятся на два слоя для ближних и дальних планов. Причем модели для дальних планов будут в уменьшенном масштабе.
Отрисовкой будет заниматься две отдельные камеры. Сначала отработает камера для дальних планов и отрисует уменьшенные модели планет.
Затем отработает камера для ближнего плана и отрисует космический корабль.
Вот и все. Если хотите я могу периодически писать статьи о своём новом проекте и особенностях его разработки.