ВНИМАНИЕ! Наша конференция посвящена космической тематике и компьютерным играм. Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!
|
» FFE D3D: Моделирование кораблей | страница 32 |
|
|
|
Канал Elite »
Канал проекта Elite 3 под Direct 3D: «FFE D3D: Моделирование кораблей» |
|
|
HeadHunter
2835 EGP
                  Рейтинг канала: 6(346) Репутация: 540 Сообщения: 16365 Откуда: The Dark Wheel Зарегистрирован: 13.12.2005
 |
|
DreamZzz : |
Я подкрасил чутка
|
ОК, так и запишем.
_________________ ..А поверх седых облаков
Синь - соколиная высь.
Здесь, под покровом небес
Мы родились.. |
|
|
Pinocchio
1900 EGP
           Рейтинг канала: 5(158) Репутация: 434 Сообщения: 7312 Откуда: Universita degli studi di Pale Зарегистрирован: 17.05.2004
 |
|
DreamZzz : |
Лучше всего было бы выровнять поверхность планеты в зоне космопорта
|
А зачем? Т.е., если поверхность не ровная, можно, вероятно, координаты домов подгонять к координатам неровностей поверхности планеты - они-то ведь известны? Т.е., в итоге один дом будет стоять чуть выше, другой - чуть ниже.
_________________ И пали ученики ниц, и воскликнули: Чудо!
- Да нет, - ответил он. - Я просто знаю, как это делается. |
|
|
HeadHunter
2835 EGP
                  Рейтинг канала: 6(346) Репутация: 540 Сообщения: 16365 Откуда: The Dark Wheel Зарегистрирован: 13.12.2005
 |
|
Да, там.. наверное, криво может получиться.. Будет висеть какой-нибудь
крупный объект наполовину воткнутый в склон..
а вторая половина будет в воздухе висеть.
Саму-то модель тоже наклонять не стоит.
Разве, что - руками на неровностях расставлять..
Но это ручной труд.. - вечность понадобится.
К тому же - в модификациях возможно число заселенных планет
будет увелчиваться (как в Хелл-моде).
Разве, что.. как-нибудь обсчитывать, что бы каждый домик
выбирал себе площадку по размеру.. и удобно на ней вставал..
Но.. гм.. Не знаю как это будет выглядеть в реальности
(сколько забавных ситуаций получится)..
и насколько сложно это сделать.
Как я думаю..
\\Я тоже не программист.
_________________ ..А поверх седых облаков
Синь - соколиная высь.
Здесь, под покровом небес
Мы родились..
Последний раз редактировалось: HeadHunter (16:19 06-11-2008), всего редактировалось 1 раз |
|
|
Pinocchio
1900 EGP
           Рейтинг канала: 5(158) Репутация: 434 Сообщения: 7312 Откуда: Universita degli studi di Pale Зарегистрирован: 17.05.2004
 |
|
HeadHunter : |
Да, там.. наверное, криво может получиться.. Будет висеть какой-нибудь крупный объект наполовину воткнутый в склон.. а вторая половина будет в воздухе висеть.
|
Зависит исключительно от максимального угла склона и расположения здания. Я могу сходу предложить решение проблемы, если нужно - рассчитать ограничения на угол склона и глубину "залегания" здания, при котором здание никогда не будет висеть над поверхностью даже одним своим углом.
HeadHunter : |
Саму-то модель тоже наклонять не стоит.
|
Скоре всего нет... Хотя, можно и это сделать - угол нормали к поверхности легко считается. Проблема только в том, что смотреться такое здание будет странно. А чисто с технической точки зрения, по-моему, все довольно просто.
HeadHunter : |
Разве, что.. как-нибудь обсчитывать, что бы каждый домик
выбирал себе площадку по размеру.. и удобно на ней вставал..
Но.. гм.. Не знаю как это будет выглядеть в реальности
(сколько забавных ситуаций получится)..
и насколько сложно это сделать.
Как я думаю..
\\Я тоже не программист.
|
Тут и не надо быть программистом. Чуть-чуть разбираться в геометрии - это да Я не смогу сходу написать конкретный код на конкретном языке, а вот блок-схему - пожалуйста.
_________________ И пали ученики ниц, и воскликнули: Чудо!
- Да нет, - ответил он. - Я просто знаю, как это делается. |
|
|
HeadHunter
2835 EGP
                  Рейтинг канала: 6(346) Репутация: 540 Сообщения: 16365 Откуда: The Dark Wheel Зарегистрирован: 13.12.2005
 |
|
Ну, тогда посмотрим, что DreamZzz скажет.
Эта идея, как один из вариантов решения, может даже забавно выглядеть..
Хотя мне пока трудно представить насколько удачно можно будет вписывать
города в разнообразный рельеф местности.. Плюс всякие сложные и масштабные
объекты вроде рек, ЛЭП..
Некоторым объектам можно еще и фундамент увечить.. - чтоб даже если что-то и будет в воздухе висеть, то под полом пустоты не будет.
А в промежутках по плоскостям "газоны" расстелить..
Правда.. города, вроде, должны выглядеть более-менее как целостное образование..
Хотя, особо холмистой местности в игре тоже нет (в плане кучи маленьких холмиков на плоскости)..
Не знаю что получится, но если, действительно, грамотно все обсчитать.
Это мне увидеть надо реальный пример в игре .
_________________ ..А поверх седых облаков
Синь - соколиная высь.
Здесь, под покровом небес
Мы родились..
Последний раз редактировалось: HeadHunter (17:11 06-11-2008), всего редактировалось 7 раз(а) |
|
|
DreamZzz
430 EGP
   Рейтинг канала: 7(580) Репутация: 90 Сообщения: 642 Откуда: Мурманск Зарегистрирован: 15.04.2006
 |
|
Город - главный объект с координатами x,y,z, находящимися в центре города. При генерации города, программа сначала подвешивает его на орбите на нужной ширине/долготе, а потом опускает его координаты x,y,z до уровня поверхности. Все домики города - субобъекты, их координаты после генерации не хранятся(!!!), а расписыны скриптом относительно центральных координат города. Никакие проверки на расположение домиков относительно поверхности не производятся(!!!). Это первое. Второе, так координаты отдельных домиков не хранятся, их надо пересчитывать в каждом кадре. Запускаем старт на Марсе, смотрим количество домиков, офигеваем (их там больше сотни). Прикидываем, что нам надо сделать примерно 2000 расчетов дистанции в секунду, а это минимум 2000 вычислений корня, не считая простых математических операций. Тормозить будет ппц как Третье, на том же Марсе есть река, которую как ни корректируй, на выделенную площадку не помещается.
_________________ Космос лучше всего исследован научными фантастами
Последний раз редактировалось: DreamZzz (18:10 06-11-2008), всего редактировалось 1 раз |
|
|
Pinocchio
1900 EGP
           Рейтинг канала: 5(158) Репутация: 434 Сообщения: 7312 Откуда: Universita degli studi di Pale Зарегистрирован: 17.05.2004
 |
|
DreamZzz : |
Город - главный объект с координатами x,y,z, находящимися в центре города.
|
Ага, это меняет ситуацию, т.е. все дома находятся на плоскости. Чтобы дальше думать, нужно все-таки знать, как генерится ландшафт - я об этом в соседней теме спрашивал.. ага, вижу ответ. Но все же, надо разбираться с методом генерации, чтобы знать, возможно ли размещать город на плоских кусках, т.е., можно ли определить координаты такой окрестности, в которой не будет крутых изгибов. Если да, то все просто, а если нет, то как, интересно, Брабену удавалось не загнать случайно свои города в склон горы?
_________________ И пали ученики ниц, и воскликнули: Чудо!
- Да нет, - ответил он. - Я просто знаю, как это делается. |
|
|
DreamZzz
430 EGP
   Рейтинг канала: 7(580) Репутация: 90 Сообщения: 642 Откуда: Мурманск Зарегистрирован: 15.04.2006
 |
|
А у него и не удавалось. У меня есть сэйвы, в которых и в оригинале города в воздухе висят. Другое дело, что у него это было менее часто, так как глубина делений треугольников планеты была меньше, в результате по расчетам должна быть ямка, у меня ямка, а у него до ямки еще не доделило
Вообще с ходу эту проблему не решить, будем думать над ней постепенно.
_________________ Космос лучше всего исследован научными фантастами |
|
|
Pinocchio
1900 EGP
           Рейтинг канала: 5(158) Репутация: 434 Сообщения: 7312 Откуда: Universita degli studi di Pale Зарегистрирован: 17.05.2004
 |
|
DreamZzz : |
Вообще с ходу эту проблему не решить, будем думать над ней постепенно.
|
Тут нужно просто четко себе представлять алгоритм формирования поверхности. Если б поверхность была шаром - все просто. Знаем размер шара, знаем кривизну поверхности, знаем максимальный размер города, при котором (при условии, что все здания стоят на плоскости), самые дальние здания парят над поверхностью на высоте столько-то пикселей, если смотреть на них (на здания) вплотную. Ну и дальше уже просто смотрим глазами, какое количество этих самых пикселей не режет глаз еще.
А вот если поверхность не шар (в смысле не составленный из треуголников шар), а что-то более сложное, с ямами и горами, то... то для меня сходу вообще вопрос, как такую штуку генерить. Если бы это делал я, то... хм... я бы наверное, руками нарисовал пару горных хребтов и натягивал бы их сверху на шар планеты в случайных местах. При этом я бы знал размеры хребтов, и мог бы расположить город так, чтобы он точно был не на хребте.
_________________ И пали ученики ниц, и воскликнули: Чудо!
- Да нет, - ответил он. - Я просто знаю, как это делается. |
|
|
DreamZzz
430 EGP
   Рейтинг канала: 7(580) Репутация: 90 Сообщения: 642 Откуда: Мурманск Зарегистрирован: 15.04.2006
 |
|
Да тут проще можно. Координаты города мы знаем, они устанавливаются один раз при влете в систему, ну или при старте с нее. Поверхность же планет генерится динамически. При генерации планеты копируем координаты всех ее городов в небольшой массив и когда надо определять высоту поверхности конкретного треугольника (тут нам пофиг, по какому конкретно алгоритму выбирается поднять или опустить треугольник) определяем расстояние до всех городов планеты (хз как быстро будет работать). Если треугольник оказывается в пределах города, поднимаем его до высоты города и точка. А ямка там должна быть или горка, уже без разницы.
Вариант номер два еще проще, да и работать будет гораздо быстрее. Определяем крайние координаы города, по этим координатам под городом рисуем бетонный блок. В функцию проверки столкновений добавляем проверку столкновений с блоком. Пока буду экспериментировать с этим вариантом.
_________________ Космос лучше всего исследован научными фантастами
Последний раз редактировалось: DreamZzz (16:39 07-11-2008), всего редактировалось 2 раз(а) |
|
|
Pinocchio
1900 EGP
           Рейтинг канала: 5(158) Репутация: 434 Сообщения: 7312 Откуда: Universita degli studi di Pale Зарегистрирован: 17.05.2004
 |
|
DreamZzz : |
Да тут проще можно. Координаты города мы знаем, они устанавливаются один раз при влете в систему, ну или при старте с нее. Поверхность же планет генерится динамически. При генерации планеты копируем координаты всех ее городов в небольшой массив и когда надо определять высоту поверхности конкретного треугольника (тут нам пофиг, по какому конкретно алгоритму выбирается поднять или опустить треугольник) определяем расстояние до всех городов планеты (хз как быстро будет работать). Если треугольник оказывается в пределах города, поднимаем его до высоты города и точка. А ямка там должна быть или горка, уже без разницы.
|
Это сработает только если треугольник перпендикулярен радиусу шара, т.е. если город расположен на равнине или на плато. А если треугольник - это часть склона горы, если он торчит под углом к поверхности, то часть города либо утонет в горе, либо воспарит над ней.
DreamZzz : |
Вариант номер два еще проще, да и работать будет гораздо быстрее. Определяем крайние координаы города, по этим координатам под городом рисуем бетонный блок. В функцию проверки столкновений добавляем проверку столкновений с блоком. Пока буду экспериментировать с этим вариантом.
|
Какой высоты должен быть блок? Это зависит исключительно от наклона треугольника, на котором будет расположен город. Весело будет еще и в случае, если город будет распологаться на границе двух треугольников... Поэтому все упирается в то, как формируются неровности ландшафта в игре. Проблема снимется сама собой, если город будет находиться на равнине. Я бы, например, задал области, в которых могут появляться горы, и области, в которых могут быть города, и сделал бы эти области непересекающимися - скажем, все города расположить в экваториальной зоне от -20 до +20 градусов по широте, а горам оставить область поближе к полюсам. И все, никакой возни с блоками и расчетами кривизны поверхности. Другое дело, что при этом красивые горные пейзажи могут из игры исчезнуть.... я имею в виду, когда город расположен на фоне гор. Хотя вру, можно ведь расположение городов привязывать как раз к горам, но не ближе определенного расстояния. Точно так же можно делать с морями и любыми другими объектами на поверхности планеты. При условии, конечно, что метод генерации поверхности позволяет узнать координаты гор, морей и городов при входе в систему.
_________________ И пали ученики ниц, и воскликнули: Чудо!
- Да нет, - ответил он. - Я просто знаю, как это делается. |
|
|
DreamZzz
430 EGP
   Рейтинг канала: 7(580) Репутация: 90 Сообщения: 642 Откуда: Мурманск Зарегистрирован: 15.04.2006
 |
|
Горы - не отдельные объекты. Высота поверхности генерится по одной и той-же формуле, которую я пока не раскусил.
Pinocchio : |
Это сработает только если треугольник перпендикулярен радиусу шара, т.е. если город расположен на равнине или на плато.
|
Если всем трем точкам треугольника задать одну и ту-же высоту, будет плоскость.
Попробовал сейчас второй вариант, смотрится ужасно.
_________________ Космос лучше всего исследован научными фантастами |
|
|
3d.Maxuz
1032 EGP
    Рейтинг канала: 2(17) Репутация: 47 Сообщения: 6023 Откуда: Краматорск, Донецкая область! Зарегистрирован: 28.09.2004
 |
|
DreamZzz : |
которую я пока не раскусил.
|
А её обязательно раскусывать? Может есть способ перехватить этот момент и заменить своим алгоритмом?
_________________ Гоп-стоп, мы подошли из-за угла,
Гоп-стоп... |
|
|
DreamZzz
430 EGP
   Рейтинг канала: 7(580) Репутация: 90 Сообщения: 642 Откуда: Мурманск Зарегистрирован: 15.04.2006
 |
|
Тоже вариант, но он вряд ли проще.
Вот вам кстати мегасейв, гляньте его в оригинальной игре. Тут даже бетонный блок делу не поможет.
Gecko.rar |
Описание: |
|
Имя файла: |
Gecko.rar |
Размер файла: |
41.46 KB |
Скачано: |
674 раз(а) |
_________________ Космос лучше всего исследован научными фантастами |
|
|
Pinocchio
1900 EGP
           Рейтинг канала: 5(158) Репутация: 434 Сообщения: 7312 Откуда: Universita degli studi di Pale Зарегистрирован: 17.05.2004
 |
|
DreamZzz : |
Горы - не отдельные объекты. Высота поверхности генерится по одной и той-же формуле, которую я пока не раскусил.
|
Правильно ли я понимаю, что поверхность планеты - вместе с горами и ямами задается одной формулой?? Я не спец по топологии и по... хм.. "численной геометрии", то задать такую сложную несимметричную форму одной формулой - это довольно сложно... Шар - очень просто, а вот шар с горным хребтом - уже непонятно как...
А ты как-нить эту формулу или кусок кода, который о твоим предположениям отвечает за генерацию ландшафта, выложить не можешь? Можно было бы попытатьсяразобраться совместными усилиями...
DreamZzz : |
Если всем трем точкам треугольника задать одну и ту-же высоту, будет плоскость..
|
Конечно Это будет равнина или плато - если треугольник приподнят над поверхностью планеты. Вот если знать координаты таких треугольников, то города нужно тупо ставить на них и проблема решится сама собой.
_________________ И пали ученики ниц, и воскликнули: Чудо!
- Да нет, - ответил он. - Я просто знаю, как это делается. |
|
|
AlexD
383 EGP
  Рейтинг канала: 3(38) Репутация: 82 Сообщения: 1084 Откуда: Тюмень, Россия Зарегистрирован: 25.04.2003
 |
|
А что SparkS перестал модельками заниматься? У него очень хорошо получалось. Кобра и Асп - просто супер. Или может он упустил из виду сей проект и не заметил, что он сзначительно сдвинулся?
_________________ тетрагидрометаноптерина макарена
метилентетрагидрофолата макарена
ЭЭЭЭЭ МАКАРЕНА
Последний раз редактировалось: AlexD (17:02 17-11-2008), всего редактировалось 1 раз |
|
|
DreamZzz
430 EGP
   Рейтинг канала: 7(580) Репутация: 90 Сообщения: 642 Откуда: Мурманск Зарегистрирован: 15.04.2006
 |
|
Вы его от волков оторвите, тогда может и займется
_________________ Космос лучше всего исследован научными фантастами |
|
|
HeadHunter
2835 EGP
                  Рейтинг канала: 6(346) Репутация: 540 Сообщения: 16365 Откуда: The Dark Wheel Зарегистрирован: 13.12.2005
 |
|
............
............
............
===========
Вопросы:
1.
У Оспреев есть два объекта:
"183-osprey wing" и "202-osprey wing"
- крылья.. Какое крыло от какого корабля-то?
2.
Некоторые корабли два раза встречаются - я так понял - для заставки?
(ИмпериалЭксп, [s]Вайпер2 (О! - это полицай), Таргоид1)[/s]
Например:
ИмпериалЭксплоррер это модель 65-корпус и модель 223-крутилки_по_бокам.
ИмпериалЭксплоррер_для_заставки это модель 454-корпус. А крутилки где? Или он те же ипользует?
А почему корабль "Turner Class" для заставки отдельно не сделан?
Или какой тогда у копии номер? Поищем..
_________________ ..А поверх седых облаков
Синь - соколиная высь.
Здесь, под покровом небес
Мы родились..
Последний раз редактировалось: HeadHunter (18:30 26-11-2008), всего редактировалось 6 раз(а) |
|
|
DreamZzz
430 EGP
   Рейтинг канала: 7(580) Репутация: 90 Сообщения: 642 Откуда: Мурманск Зарегистрирован: 15.04.2006
 |
|
Той программе, на которую я давал ссылку, требуется для работы FIRSTENC.DAT. Выложил архив вместе с ним. Так-же в архиве текстовый файл, содержащий скрипты всех объектов в игре. За все это скажем спасибо Jong-у (www.jongware.com).
Текстовый файл решает все проблемы. Например:
1. Делаем поиск на "Osprey", находим Object #19:Osprey attack fighter.
2. Смотрим код скрипта, ищем команду Subobject. Находим:
а) Subobject(184:Eagle cockpit
б) Subobject(185:object_185
в) Subobject(183:Osprey Wing (два раза)
г) Subobject(3:Generic Missile (два раза)
д) ScaledSubobject(186:Three landing wheels (два раза)
е) ScaledSubobject(187:Nose wheel
Сразу видно, какие субобъекты используются.
HeadHunter : |
У Оспреев есть два объекта:
"183-osprey wing" и "202-osprey wing"
- крылья.. Какое крыло от какого корабля-то?
|
Ищем "Subobject(202", находим какой-то объект. Смотрим выше и видим что это "Object #32:Osprey X attack fighter". У него четыре таких субобъекта, соответственно четыре крыла.
Т.е., проведя небольшое исследование, мы выяснили, что объекты крыльев у обоих Osprey разные. Так как крылья статичные (без анимации), можно не моделить их отдельными объектами, а делать сразу корабли с крыльями.
Как проще всего выгрузить модель из игры в .x файл?
Нет ничего проще. Находим нужную модель в игре и нажимаем CTRL+F9. Все видимые модели сбрасываются в директорию "_export" директории "models".
FrontierMeshes.rar |
Описание: |
|
Имя файла: |
FrontierMeshes.rar |
Размер файла: |
734.48 KB |
Скачано: |
743 раз(а) |
_________________ Космос лучше всего исследован научными фантастами
Последний раз редактировалось: DreamZzz (18:15 26-11-2008), всего редактировалось 2 раз(а) |
|
|
HeadHunter
2835 EGP
                  Рейтинг канала: 6(346) Репутация: 540 Сообщения: 16365 Откуда: The Dark Wheel Зарегистрирован: 13.12.2005
 |
|
ОК, спасибо.
Так лучше.. Правда прога у меня вылетает..
Могу только часть объектов увидить.
Гм.. Надо будет добраться до другого компа..
_________________ ..А поверх седых облаков
Синь - соколиная высь.
Здесь, под покровом небес
Мы родились.. |
|
|
|
|
|
Канал Elite ->
Канал проекта Elite 3 под Direct 3D: «FFE D3D: Моделирование кораблей» |
|
К списку каналов | Наверх страницы |
Цитата не в тему: У меня такое неприятное чувство, что Удав и тут прав... (с горечью заметил Leshik)
|
» FFE D3D: Моделирование кораблей | страница 32 |
|