Привет, народ.
Значит, такое дело. Имеется разрабатываемый космосим. Действие там происходит по большей части на орбитах планет Солнечной системы и их спутников, а так же некоторых астероидов. И вот соответственно возник такой момент - надо показать что мы находимся на орбите планеты. Как? Понятное дело нужно видеть планету в непосредственной близости от себя. Имеем два варианта исполнения этого дела:
Первый - это нарисовать планету на одной из граней скайбокса со звездами. Получается в общем красиво и то что надо. Планетка выглядит вполне себе объемно и впечатления что она на плоскости нарисована не возникает. Казалось бы - ну и чего я парюсь? А вот вся проблема в том, что скорее всего по сути игры нужно будет летать и вокруг планеты, то бишь точки интереса игрока могут быть расположены с разных ее сторон (ну и согласитесь, будет как то нелогично если у всех планет станции и прочие орбитальные конструкции будут висеть всегда тупо только с одной стороны). Да и размеры планеты в итоге ограничены одной гранью (на нескольких тоже пробовал, получается до жути некрасиво), а ведь некоторые могут быть явно больше чем другие.
А потому логично вырисовывается второе решение - сделать планету сферой с текстурой и пусть себе висит в пространстве. Тут даже возможностей больше возникает, в том числе и верное освещение, совпадающее с освещением всех остальных объектов, и вращаться вокруг оси планета сможет ну и все такое.
Но! Теперь собственно главный вопрос - как сделать такой хитрый вещь, при котором подлететь к планете близко будет никак нельзя? То есть, задача состоит в том, что планета визуально должна всегда оставаться примерно на одном и том же расстоянии от игрока. Облететь вокруг ее можно, а вот приблизиться нельзя. Наверно, надо ее как то масштабировать при движении игрока в ее сторону, или отдалять с той же скоростью, не знаю. И да - игра планируется онлайн, так что требуется решение, которое будет работать в многопользовательском режиме (одним словом чтобы если один игрок полетел в сторону планеты, то она не начала дружно улетать от всех остальных). Посоветуйте как и что можно сделать.
И да, посадок на планеты в игре не предусмотрено, только орбитальные полеты и глубокий космос.