Текущее время: Сб 23 ноя 2024 5:34

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 611 ]  На страницу Пред.  1 ... 17, 18, 19, 20, 21  След.

Знаете ли Вы какой-нибудь язык программирования?
Знаю С++ 17%  17%  [ 20 ]
Другой язык 28%  28%  [ 33 ]
Не владею программированием 55%  55%  [ 64 ]
Всего голосов : 117
Автор Сообщение
 Сообщение Вт 1 июл 2014 21:46
Профиль  
Механоид 4 поколения
Аватара пользователя
Сообщения: 758
Зарегистрирован: Ср 1 авг 2012 20:45
Там статичный ландшафт, то есть в нем нельзя оставить воронку. Все сделано и подогнано вручную, потому и нет танцев мип-уровней. Да и масштабы не те, совсем не те...


 Сообщение Вт 1 июл 2014 22:20
Профиль  
МехоВед
Аватара пользователя
Сообщения: 7130
Зарегистрирован: Пн 7 ноя 2005 11:30
Конечно, там земля не такая мягкая, как в БФ2, но немного она коцается. Вот доказательство:
1) До
Изображение
2) После
Изображение
Был бугорок, стала впадинка. Она не нарисована, она "щупается".

Кроме того, вряд ли это можно так просто подогнать. Масштабы на картах типа "большой захват" там очень не маленькие, особенно учитывая карту для самолета, и тем не менее пики неподвижны.

_________________
Тысячи часов поиска и все впустую.


 Сообщение Вт 1 июл 2014 23:25
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
GranMinigun писал(а):
можно в следующий раз отключаемый туман и возможность двигать координаты источника освещения?
Освещение действительно в следующий раз, а вот туман отключить можешь сам. Ноутпадом открой файл MapDraw.glsl (в папке Data\\Shaders\\) и скорректируй эту строчку с:

float FogWeight = min(1.0, VertexCoord.w*0.00005);

на

float FogWeight = min(1.0, VertexCoord.w*0.0);

и туман пропадёт. :smile:
Там в этом шейдере значение VertexCoord.w таит в себе расстояние от камеры до точки (в метрах), и для точек на расстоянии 20000 метров интенсивность тумана после умножения на 0.00005 получается 1.0, так что ничё дальше не видно. Этот множитель можно менять и расстояние в тумане будет меняться, соответственно.

Насчёт плавающих пиков гор. Товарищи, кнопку R кто-нить топтал? В режиме сетки наглядно видно, как собсно карта нарисована и что происходит при перемещении камеры. Если мы хотим открытый внешний мир размером с материк, в котором можно перемещаться по всей территории (а не набор отдельных локаций), то плавания вершин не избежать, хотя немного улучшить ситуацию в принципе можно, и я щас над этим моск ломаю.

Насчёт Баттлфилда - если нет плавания вершин, то скорее всего, карта там действительно статична и, возможно, реализована в виде модели а не карты высот. Ещё в Red Faction 2, помниться, можно было стены пещер дырявить бомбами - просто модель сцены модифицировалась в реал-тайме, также как когда в 3D редакторе мы модель модифицируем.

З.Ы.: Особо радует, что у всех запустилось. :smile:

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Ср 2 июл 2014 2:27
Профиль  
МехоВед
Аватара пользователя
Сообщения: 7130
Зарегистрирован: Пн 7 ноя 2005 11:30
Шаман писал(а):
Насчёт плавающих пиков гор. Товарищи, кнопку R кто-нить топтал? В режиме сетки наглядно видно, как собсно карта нарисована и что происходит при перемещении камеры. Если мы хотим открытый внешний мир размером с материк, в котором можно перемещаться по всей территории (а не набор отдельных локаций), то плавания вершин не избежать, хотя немного улучшить ситуацию в принципе можно, и я щас над этим моск ломаю.

Насчёт Баттлфилда - если нет плавания вершин, то скорее всего, карта там действительно статична и, возможно, реализована в виде модели а не карты высот. Ещё в Red Faction 2, помниться, можно было стены пещер дырявить бомбами - просто модель сцены модифицировалась в реал-тайме, также как когда в 3D редакторе мы модель модифицируем.
Я ничего не топтал, потому что не скачивал.

А тебе не стоит ли поменять подход - тоже сделать землю моделью, а не картой высот? Что я вижу: есть Батла, она не тормозит, масштабы там большие. Значит, подход себя оправдывает. Видимость такая, что из любой точки гигантской карты можно увидеть любую (если нет препятствий, конечно). И еще я знаю, что карта высот не позволяет в принципе делать пещеры и всякого рода навесы, в то время как модель даст творить все, что угодно.
Так что если в Батле карта действительно есть модель, то почему бы тебе не сделать так же? Ты же у нас стремишься сразу к идеалу, полумеры недопустимы. Вот так и давай без полумер)

_________________
Тысячи часов поиска и все впустую.


 Сообщение Ср 2 июл 2014 6:34
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
Обана, освоил "Catmul-Rom Splines" и применил в шейдере проецирования карты. Теперь всё будет выглядеть афигительно-сглажено и плавания вершин будет меньше (как минимум на низжих уровнях детализации). Вот обновлённый файл MapProject.glsl в архиве:
Вложение:
MapProject.glsl.rar [1.16 КБ]
Скачиваний: 235

Те, кто качал предыдущий вариант, просто замените сий файл (он идёт в папку "Data\Shaders\"). Правда, чтобы увидеть изменения, придётся удалить все созданные ранее .map файлы из папки "Data\Map\", т.к. они генерились убогим линейным интерполированием.

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Ср 2 июл 2014 7:17
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
Вадим писал(а):
А тебе не стоит ли поменять подход - тоже сделать землю моделью, а не картой высот? Что я вижу: есть Батла, она не тормозит, масштабы там большие. Значит, подход себя оправдывает. Видимость такая, что из любой точки гигантской карты можно увидеть любую (если нет препятствий, конечно). И еще я знаю, что карта высот не позволяет в принципе делать пещеры и всякого рода навесы, в то время как модель даст творить все, что угодно.
Так что если в Батле карта действительно есть модель, то почему бы тебе не сделать так же?
Вадимко, ты ж смотришь на это, как гуманитарий. :smile: Во-первых, размер карты в памяти. Для карты высот это 4 байта на значение высоты (координата у) плюс 4 байта на аттрибут. В модели же нужны все три вершинные координаты, 2 текстурные координаты и аттрибут, т.е. под 24 байта на вершину вместо 8 в карте высот, а значит размер карты в памяти при том же количестве вершин - до трёх раз больше для модели. Но в отличие от карты высот, где количество вершин строго пропорционально площади карты, в модели может быть от 4х (для плоского квадрата) до 100500 вершин (высокодетализованные куски рельефа). Разумеется, плоские куски карты рендерятся небольшим количеством треугов, а всякие ухабы, пещеры и прочие неровности имеют более высокую детализацию. С одной стороны, это оптимально. Но с каждой новой воронкой количество вершин будет постоянно возрастать.
Далее. Размер модели может быть каким угодно - чем больше карта, тем больше размер треугов, т.е. ровнее ландшафт. Полагаю, если всю огромную карту перепахать взрывами, и оставлять внесённые модификации навечно, то вскоре начнутся висуны из-за возросшей детализации и, как следствие, увеличившегося количества вершин в памяти и треугов для рендеринга. Так что полагаю, воронки от взрывов в Баттлфилде исчезают со временем, не так ли? Возможно, там реализовано и иначе - просто кусочек карты исключается из рендера и заменяется временной заплаткой, а после некоторого времени заплатка удаляется, и изначалный кусок карты восстанавливается в исходное состояние. Ну, мне терраформинг интересен в перманентном виде - т.е. все внесённые изменения остаются на карте навечно, т.е. являются не временными заплатками, а изменяют саму карту.
И в добавок: карта в Баттлфилде может и большая, но тормоза зависят не от размера карты, а от количества треугольников в ней и вершин (т.е. от детализации). Так что она и может быть размером с материк, и с высоты полёта смотреться будет очень эффектно, но вот для пехотинца это будет жутко плоский материк. И чтобы разнообразить ландшафт, придётся заменять отдельные куски плоского рельефа на высокодетализованные элементы, которые будут возникать из ниоткуда при приближении к ним и исчезать вникуда при удалении от них.

Мне же хочется полноценного перманентного терраформинга. Не только для добавления воронок от взрывов - эффектно будет в роли погодных катаклизмов изредка пускать метеоритные дожди, извержения вулканов или горные обвалы. Ну а воронки от взрывов строений вполне могут быть достаточно внушительного размера, чтобы оставлять перманентные шрамы на рельефе. Ну и терраформинг на собственно терраформерах с целью выравнивания путей между строениями для удобного перемещения торговых караванов. Да много чего можно натерраформить - это не такая уж и распространённая фишка пока что, между прочим. А пещеры добавить можно. Исключить кусок карты из рендеринга и обсчёта физики и добавить статичную модель в получившуюся дырку - вполне реально.

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Ср 2 июл 2014 11:17
Профиль  
Механоид 4 поколения
Аватара пользователя
Сообщения: 758
Зарегистрирован: Ср 1 авг 2012 20:45
У меня есть подозрение, что воронки в Батле - лишь декали с дисплейсментом.


 Сообщение Ср 2 июл 2014 14:56
Профиль  
МехоВед
Аватара пользователя
Сообщения: 7130
Зарегистрирован: Пн 7 ноя 2005 11:30
Шаман писал(а):
Вадимко, ты ж смотришь на это, как гуманитарий. :smile:
Я просто не программист.

Насчет размеров карты в памяти - это все очевидно, нужно же чем-то жертвовать.

Насчет исчезновения воронок в Батле - не замечал... Мне казалось, до конца раунда они остаются.

Шаман писал(а):
Так что она и может быть размером с материк, и с высоты полёта смотреться будет очень эффектно, но вот для пехотинца это будет жутко плоский материк. И чтобы разнообразить ландшафт, придётся заменять отдельные куски плоского рельефа на высокодетализованные элементы, которые будут возникать из ниоткуда при приближении к ним и исчезать вникуда при удалении от них.
Вот здесь я точно могу сказать, что такого в БФ нет. Ничто ниоткуда не вылезает внезапно, все с высоты полета ты видишь так же, как в реальном мире: т.е. если чего-то и ты и не видишь, то это не потому, что оно не рисуется, а потому, что оно далеко и ты не можешь этого разглядеть. Подлетая ближе, ты будешь видеть, как какой-то элемент, ухабчик на земле, будет увеличиваться, и отлетая от него ты не увидишь, что он резко пропал.

Может, стоит изучать Батлу подробнее? Вдруг ты там почерпнешь фишки для своей работы.

_________________
Тысячи часов поиска и все впустую.


 Сообщение Ср 2 июл 2014 15:23
Профиль  
Механоид 1 поколения
Аватара пользователя
Сообщения: 119
Откуда: Казахстан, Астана
Зарегистрирован: Пн 11 май 2009 20:02
Скачал, неплохо реалиховано. По поводу движков, сейчас есть уже бесплатный UnrealEngine4 (подписка 20$ в месяц, т.е. можно скачать, через год взять подписку на месяц, обновить движок, контент и убрать подписку) . Плюс есть модифицированный CryEngine3 для StarCitizen. К StarCitizen выпустят СДК, но игра эта выйдет не скоро. Но мир уже ориентирован там на космос, будущее.

_________________
Мультиигровое сообщество ТОР - http://www.tor-gaming.ru
http://www.mechhistory.zbord.ru
http://meho.clan.su/


 Сообщение Ср 2 июл 2014 15:53
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
Шаман писал(а):
З.Ы.: Особо радует, что у всех запустилось. :smile:
Нихрена подобного. Мой ПК - последняя инстанция, и ты ее еще не достиг.
Да, и современные игрушки у меня работают, а твоя - нет. На самом низшем уровне и разрешении в 640х480, но работают, а твоя - нет.
А твоя - НЕТ.
НЕТ.


 Сообщение Ср 2 июл 2014 20:41
Профиль  
Механоид 4 поколения
Аватара пользователя
Сообщения: 758
Зарегистрирован: Ср 1 авг 2012 20:45
Веркус, очень плохая идея упоминать при Шамане сторонние движки. Да и тут все, кому надо, в курсе этой информации.
Крогот, я не знаю... ты бы сразу же слил данные по железу. Большая часть современных игор использует DX, а тут OGL.


 Сообщение Ср 2 июл 2014 21:32
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
Вкратце

System info
Renderer: GeForce 7025 / nForce 630a/integrated/SSE2/3DNOW!
Adapter RAM: 512 MB
Processor: AMD Athlon(tm) 64 X2 Dual Core Processor 4400+

OpenGL
Version: 2.1
Driver version: 6.14.13.0783


 Сообщение Ср 2 июл 2014 23:12
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
Krogoth писал(а):
Version: 2.1
А моей проге надобно 4.3. И твоя видюха это будет поддерживать со свежими дровами. Кроготушка, ну обнови же драйвера нВидии, ну пожалуйста! :god: Ты б ваще дрова не ставил - так кроме десктопа твой комп ничё и не рендерил бы тогда.

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Чт 3 июл 2014 1:34
Профиль  
Механоид 4 поколения
Аватара пользователя
Сообщения: 758
Зарегистрирован: Ср 1 авг 2012 20:45
Не запустится, скорее всего. Последние драйвера выходили в конце 2009 года, OGL 4.3 - 2012 год.


 Сообщение Чт 3 июл 2014 1:56
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
Абожди-ка, у него же 630, а у меня 520, т.е. моя видюха старше, не? На мою новые дрова идут.

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Чт 3 июл 2014 12:19
Профиль  
Механоид 4 поколения
Аватара пользователя
Сообщения: 758
Зарегистрирован: Ср 1 авг 2012 20:45
А у тебя разве nForce, не GeForce? На первую линейку свежие дрова не встанут, на вторую поддержка еще идет. У меня GeForce 610M, если что.


 Сообщение Чт 3 июл 2014 13:36
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
Да вот именно.
Я уже обновлял с помощью OGL Extension Viewer, который ты мне скидывал. 2.1, судя по всему, потолок.


 Сообщение Чт 3 июл 2014 23:38
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
Ах вот оно что! Теперь понятно, отчего ты в 2D завяз так конкретно. :smile: Видюху поновее купить не надумываешь? Баксов за 40 можно найти, мне кажется. :roll:

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Пт 4 июл 2014 16:05
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
Мне нельзя за компом играть. Я нервную систему лечу, и родители не позволяют. )))


 Сообщение Пт 4 июл 2014 19:01
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
Ну и кто уже тебя убедил, что у тебя не все дома? Попахивает американским идиотизмом, не слушай их, Личность вылечить хотят. Нет ничего плохо в том, что ты выделяешься из стада баранов. Если припадков с пеной изо рта не случается, всё нормуль. :)

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Пн 7 июл 2014 17:16
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
Только что получил несколько сырых идеек насчет движка и решил поделиться.

Этот фрактальный воксельный мир

Он имеет "фрактальные" целочисленные координаты: координаты, координаты внутри координат и координаты внутри них, и т.д.
Первые я буду называть супер-координатами, или координатами первого порядка, а все остальные - второго, третьего, ..., последнего.
Всем им соответствует воображаемые пространственные объекты, которые я буду называть вокселями n-го порядка (или супер-вокселями, если n = 1).

*** Иллюстрация! ***
Изображение

Никто не знает, сколько на самом деле порядков, ведь архитектор этого мира предусмотрел неограниченное их количество. Прагматика и прочая травматика требуют только 3 порядка для полноты, но я упрощу теорию более того, ведь главное - уловить принцип.

Итак, у нас только 2 порядка координат и соответственно 2 порядка вокселей, то бишь координаты и супер-координаты, воксели и супер-воксели. Так и будем их называть, чтоб не путаться с порядками.

Супер-воксели имеют размер наибольшего в мире глайдера. Полагаю, это Мастодонт.
Расположение глайдера может быть нечетко задано при помощи 27 супер-вокселей, поскольку глайдер может пребывать в нескольких супер-вокселях одновременно (максимум 8, на стыке всех них), при этом центральный очевидно содержит центр масс глайдера.
Когда центр масс глайдера меняет супер-воксель, глайдер переносится из одного блока супер-вокселей в другой, стирая себя из 9 супер-вокселей и записывая в новые 9.

Таким образом, каждый супер-воксель хранит информацию обо всех глайдерах в непосредственной близости (и центров масс внутри себя).

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

*** Иллюстрация! ***
Изображение
Это изображение глайдера и его вокселей. Ярко-зеленые воксели содержат 1 и более вершин.

Каждый супер-воксель периодически проверяется на взаимодействие объектов внутри себя друг с другом и объектами из соседних супер-вокселей.
Тест на взаимодействие углубляется до проверки коллизии вокселей, так, что воксели содержат вершины разных объектов. Если это правда, происходит тудуц (*to do C. - to do collision).

Чтобы не грузить комп, архитектор сделал для каждого глайдера воксельную модель, прогнав вершины через простенький цикл.
Таким образом, каждый глайдер имеет воксельную модель размером с супер-воксель.
(При этом ярко-зеленые воксели хранят информацию о температуре, повреждениях и жизненно-важных узлах)

По мере того как глайдер двигается и 27 супер-вокселей непусты, воксельная модель накладывается на воксельный мир, с погрешностью до 1 вокселя по всем направлениям (т.е. нужно проверять соседние воксели подобно тому, как это производилось с супер-вокселями).
Таким образом, архитектор использует единый алгоритм для теста на коллизию n-го порядка.
(Разумеется, для ясности терминологии я решил, что тест на коллизию должен иметь порядок, как и соответственный ему порядок вокселей)
То бишь:
1. Тест глайдеров внутри супер-вокселя и по соседству
2. Тест вершин глайдеров внутри вокселя и по соседству
* * *
n. Реализация физики столкновений на основании форм контактирующих поверхностей и пр. данных

Пока все.

Добавлено:
Хотя последняя часть, вероятно, хрень. Говорю же, сырое. (Почти что размышление вслух)


 Сообщение Пн 7 июл 2014 18:25
Профиль  
.alien
Аватара пользователя
Сообщения: 232
Откуда: сектор скал, небольшая нора под сборочным цехом
Зарегистрирован: Ср 25 янв 2006 13:54
Хотел написать про Sparce Voxel Octree, но вчитался и понял, что речь идёт о коллизиях. Для любопытствующих:
Вот видео, демонстрирующее эту штуку. В несжатом виде эта комнатка "весит" порядка гигабайта, и нам нужен именно несжатый вид, т.к. нельзя передать в видеокарту сжатые данные, ей нужны честные, распакованные и преобразованные в меш воксели (ну, или просто честные воксели, если осуществляем рейтрейсинг на GPU силами хитрого шейдера).
Так что десяток глайдеров забьёт нафиг всю видеопамять, и не подавится. На текущем железе воксели имеют очень мало смысла... Печально, но факт.

А вот коллизии таким образом...
1. Ты не учёл, что треугольник может быть растянут. Он может быть ОЧЕНЬ растянут. Так, что он проходит через 100500 "вокселей" (правильнее их будет называть "объёмами", т.к. общепринятые "воксели" имеют видимое воплощение на экране, твои же - только хранят данные), в которых не лежат его вершины.
2. Любой более-менее адекватный физ. движок это уже и так делает - разбивает пространство на Octree. С учётом первого пункта. Но это - лишь первый шаг. Дальше происходит поиск пересечений в тех объёмах, где пересечение принципиально возможно.

_________________
, наверное...


 Сообщение Пн 7 июл 2014 18:50
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
Ize'g0re писал(а):
А вот коллизии таким образом...
1. Ты не учёл, что треугольник может быть растянут. Он может быть ОЧЕНЬ растянут. Так, что он проходит через 100500 "вокселей" (правильнее их будет называть "объёмами", т.к. общепринятые "воксели" имеют видимое воплощение на экране, твои же - только хранят данные), в которых не лежат его вершины.
Это да, спасибо! Но объемы как-то не звучат.
Придумаю что-нибудь получше - исправлю.

Воксели плохо применимы в современной графике, но для игрушек дискретное представление пространства очень перспективно в нескольких других отношениях, имхо.
Ize'g0re писал(а):
2. Любой более-менее адекватный физ. движок это уже и так делает - разбивает пространство на Octree. С учётом первого пункта. Но это - лишь первый шаг. Дальше происходит поиск пересечений в тех объёмах, где пересечение принципиально возможно.
Ну, круто, чо. Я же сам додумался.
(Хотя это элементарно, лол)
Но мне не нужно производить разбиение. Система координат существует и ждет использования. (Это значит, что меньше кода для итераций)
(Тут у меня возник вопрос по поводу окто-дерева: как находятся все нужные полигоны в объемах?)

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

Еще я подумывал о целочисленной арифметике в отношении координат. Просто потому, что а) это необходимо в рамках концепции; б) вроде как нет необходимости в дробных.


 Сообщение Вт 8 июл 2014 0:18
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
Крогот, а чего б напрямую пересечения треугольников не обсчитывать - это ж обычная геометрия как-никак. Смотри. Каждый кадр все объекты перемещаются - согласно приложенным силам модели двигаются, т.е. принимают новые положения. Каждая вершина совершает, соответственно, линейное (в рамках упрощения) перемещение из точки А в точку В. И каждый треуг, соответственно, перемещается вместе со своими вершинами. Соответственно, объём, в котором треуг совершил перемещение - это треугольная призма, одно из оснований которой - треугольник_в_предыдущем_положении, а второе основание - треуг_в_новом_положении. Всё, что нужно сделать - проверить, не проходят ли рёбра одной призмы через грани другой призмы. И если проходят, значит объекты, которым треуги принадлежат - столкнулись. Вуаля же, просто математика. Дать тебе хеадер со всяким векторными функциями в силе GLSL?
Ну а воксельности тут всё равно есть место - это предотвратит обсчёт столкновений между объектами, которые в принципе не могут столкнуться. Ведь если каждую пару объектов обсчитывать, это ж никакого проца не хватит. Только те считать нужно, что рядом тусуются. Но тут не воксельность даже нужна, а тупо расстояние между обектами и "радиус" каждого из них. Ну тут просто и математика детская.

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Вт 8 июл 2014 15:03
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
Шаман писал(а):
Крогот, а чего б напрямую пересечения треугольников не обсчитывать - это ж обычная геометрия как-никак. Смотри. Каждый кадр все объекты перемещаются - согласно приложенным силам модели двигаются, т.е. принимают новые положения. Каждая вершина совершает, соответственно, линейное (в рамках упрощения) перемещение из точки А в точку В. И каждый треуг, соответственно, перемещается вместе со своими вершинами. Соответственно, объём, в котором треуг совершил перемещение - это треугольная призма, одно из оснований которой - треугольник_в_предыдущем_положении, а второе основание - треуг_в_новом_положении. Всё, что нужно сделать - проверить, не проходят ли рёбра одной призмы через грани другой призмы. И если проходят, значит объекты, которым треуги принадлежат - столкнулись. Вуаля же, просто математика. Дать тебе хеадер со всяким векторными функциями в силе GLSL?
Это само собой разумеется.
Впрочем, решение должно быть симметричным относительно порядка треугольников, т.е. рассматривать нужно 2 объема. Смотри: треугольник 1 может догонять, а треугольник 2 убегать, причем быстрее.
Шаман писал(а):
Ну а воксельности тут всё равно есть место - это предотвратит обсчёт столкновений между объектами, которые в принципе не могут столкнуться. Ведь если каждую пару объектов обсчитывать, это ж никакого проца не хватит. Только те считать нужно, что рядом тусуются. Но тут не воксельность даже нужна, а тупо расстояние между обектами и "радиус" каждого из них. Ну тут просто и математика детская.
Расстояние между объектами - квадратичная функция. (При том, что все расстояния-константы у тебя в квадратах)
Взятие соседнего вокселя не требует подобных вычислений, равно как и перебора большого числа объектов (только тех, которые в непосредственной близости).
(Воксель - элемент трехмерного массива)

Добавлено:
Трехмерный массив - это дохрена много памяти. Но суть в том, что он очень полезен. Как я уже писал, с его помощью можно задать температуру, давление и скорость и смоделировать какое-нибудь повсеместное атмосферное явление, например.

Добавлено:
Скорее всего, мне стоит делить воксель на 4096 суб-вокселей (4096-tree).


 Сообщение Ср 6 авг 2014 14:56
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
С бампом всё круче! :twisted:
Изображение
Тут чисто рекламируюсь для сбора публики, а вся инфа доступна на сайте aim-fans.ru

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Ср 6 авг 2014 18:58
Профиль  
МехоВед
Аватара пользователя
Сообщения: 7130
Зарегистрирован: Пн 7 ноя 2005 11:30
Я не хочу лазить на левый сайт. Я хочу, чтобы ты как и раньше отписывался тут о своих успехах :sad:

_________________
Тысячи часов поиска и все впустую.


 Сообщение Чт 7 авг 2014 1:16
Профиль  
Разработчик идей
Аватара пользователя
Сообщения: 4577
Откуда: Минск, Беларусь
Зарегистрирован: Ср 14 ноя 2007 19:00
Чиво?! Левый сайт?!?! Обижаешь! Легально зарегистрированный сайт и домен, я его оплачиваю, так что нихто его не не имеет права ни закрыть, ни удалить, что в прошлый раз случилось. А 40 баксов в год у меня всегда найдётся, это не проблема. Специально же платный вариант взял на этот раз, чтобы всё было надёжно, официально и предыдущая история не повторилась. Так что вот не надо про "левый сайт" - несу ответственность за сохранность инфы. :scientist:

Просьба не воспринимать aim-fans.ru как мою личную песочницу или "левый сайт". Сайт создан специально для коллекционирования инфы и материалов под М3 и сходные с ними тематики. К примеру, туда я стащил проги по вытаскиванию материалов из М2: Razum'овский mod-converter моделей с исходниками, TM-converter текстур Микса, и недавно я написал mmp-конвертер для извлечения меховских карт. Также на сайте я выкладываю свои программные наработки и агитирую творчески-активных механоидов делать то же самое, и в лучшем случае - объединять усилия. Хотя остальные склоняются к варианту готового движка Unity3D, но лично мне интереснее писать свой движок. Исходники открыты, разумеется - выдирайте, расколупывайте, пользуйтесь, трясите разъяснения, если надо. Я фетиширую на ландшафт, так что если кто фетиширует на всё остальное, буду рад помочь интегрировать свои наработки с Вашим проектом.

Зачем я создал отдельный сайт, вместо того, чтобы публиковаться тут? Причины чисто технического характера. Чтобы можно было свободно аплоадать картинки, коды и архивы (к примеру, архив с исходниками моего Терраформера весит 20+МБ). Хостинг даёт нам 10ГБ пространства по-умолчанию, и если нужно будет, можно будет расшириться, но я не думаю, что это потребуется.
Ну и нюанс авторского права - не очень хорошо было бы публиковать тулзы для расковыривания М2-контента на официальном сайте Скайривера, не так ли?

Так что всех творческих или просто заинтересованных в создании М3 механоидов приглашаю присоединиться к проекту. Только не флудите, ибо флуд и потерявшие актуальность сообщения я через некоторое время вычищаю (стараюсь, во всяком случае). Если у Вас есть какие-нить свои наработки, пожалуйста, публикуйтесь. Если захотите свой раздел или особые права доступа или чё там ещё - организуем.

_________________
Сообщество креативных механоидов:
aim-fans.ru


 Сообщение Чт 7 авг 2014 19:45
Профиль  
МехоВед
Аватара пользователя
Сообщения: 7130
Зарегистрирован: Пн 7 ноя 2005 11:30
Проги для расковыривания Мехов выкладываются в свободном доступе тут же на Форуме в разделе по СДК.
Не хочу распылять внимание. Мой сайт по Мехам - этот сайт. Жаль, что твоя активность выпадает из моего круга зрения. Было интересно иногда почитать отчеты про написания твоего движка, хотя я ничего в этом не понимаю.

_________________
Тысячи часов поиска и все впустую.


 Сообщение Чт 7 авг 2014 20:34
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
Через 20 лет он напишет игру, и тебе будет стыдно, что не прочел ни 1 отчета.


Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 611 ]  На страницу Пред.  1 ... 17, 18, 19, 20, 21  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB