Показать сообщение отдельно
Старый 06.04.2010, 19:27
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 1  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
По умолчанию Particles, псевдо 3д

Требуется сделать вот что:
Что то типа пространства, в котором в воздухе висят кружочки, и в этом пространстве можно поворачиваться по горизонтали (крутить головой влево-вправо). Кружочки деформациям подвергаться не должны.
Как я это дело представляю:
если представить это дело в проекции камеры сверху - всё элементарно просто: двигаю каждый из кружков по надобности по формулам из школы:
Код AS3:
x=Math.cos(angle)*100;
y=Math.sin(angle)*100;
Когда перехожу к пространству возникают проблемы - у меня голова никак не может сообразить, как это дело сделать. Сижу 2 вечер =\

Теория, до которой допёр:
Можно видеть лишь 1/4 возможных положений частицы в пространстве. Область просмотра 90 градусов, значит делаем частицу невидимой, если угол между наблюдателем и частицой не лежит в пределах угол поворота+90. С этим всё понятно.
Делаю частицу и двигаю её, всё хорошо. Камасутра начинается когда частицы 2, и они находятся на разных растояниях от наблюдателя. Единственное что приходит в голову - это
Код AS3:
_x = Math.sin(_viewerAngle / coff);
где coff зависит от расстояния до наблюдателя, но подход похоже не годится вовсе - нету какого-то коэфицента, при котором смотрелось бы симпатично - чаще одна из частиц что подальше успевает сделать 1.5-2 оборота, пока первая кое как доползает до конца.

Есть какие нибудь идеи, как сделать?