Создать игру, создание игр, конструктора игр, игровые движки, разработка игр, сделать игру
Приветствую Вас Гость · Вход · Регистрация  ·  Новые сообщения · Участники · Правила · Поиск · RSS
  • Страница 1 из 1
  • 1
Конструктор 3D FPS игр MG FPS Creator
Конструктор Дата: Воскресенье, 05.06.2011, 08:50 | Сообщение # 1
( Не ленимся =) )
Просмотр профиля: Конструктор

Сообщений: [1854]
При разработке конструктора пока встал в ступор с коллизиями.
Разработал свой двиг коллизий, но он работает на боудинг боксах, проще говоря все объекты для коллизии с внешним миром и игроком имеют квадрат, для определения столкновений.
Это довольно не очная проверка коллизий. В том смысле что Объект может быть в виде сферы, а коллизии будут как у квадрата.

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

Вообще нужны коллизии Сфера VS массив треугольников.

Кто может помочь в этом вопросе?


Работаю над Каваей.
LestaD Дата: Вторник, 16.08.2011, 23:57 | Сообщение # 2


Сообщений: [33]
Возьми движок Source Engine посмотри исходники. Там коллизии - компилированные модели.
Кольмар Дата: Среда, 17.08.2011, 00:05 | Сообщение # 3
( Его Величество Кольмар )
Просмотр профиля: Кольмар

Сообщений: [457]
Насколько я понял , движок пишется на Делфи , а Source Engine на Си++. wacko
Но думаю сам метод можно перенести.
З.Ы. Source Engine платен.
DerToteWolf_ Дата: Суббота, 27.08.2011, 12:27 | Сообщение # 4
Просмотр профиля: DerToteWolf_

Сообщений: [712]
Конструктор все же, попробуй рейкастинг)
Int64 Дата: Пятница, 30.12.2011, 14:48 | Сообщение # 5
Просмотр профиля: Int64

Сообщений: [12]
ODE это не движок для определения коллизий, это физический движок как Newton или PhysX например. А для столкновения 2х объектов лучше использовать рейкаст, для столкновения со сферой совсем все просто, пускаем луч от исходной сферы и проверяем на пересечение с поверхностью и если растояние от точки пересечения меньше либо равно радиусу сферы, то мы имеем столкновение, вот и все.
Так же посоветовал бы почитать математику, а именно аналитическую геометрию, думаю полезно будет, раз вы свой конструктор игр пишите.
Конструктор Дата: Пятница, 30.12.2011, 15:27 | Сообщение # 6
( Не ленимся =) )
Просмотр профиля: Конструктор

Сообщений: [1854]
Quote (Int64)
ODE это не движок для определения коллизий, это физический движок как Newton или PhysX например.

Это физический движок, в том числе и для определения столкновений объектов... Какая же физика в них без определения столкновения, смешно.

Математику и геометрию не раз перечитывал, поэтому и написал уже способ определения коллизий. И да, речь идет о 3Д пространстве. Поэтому сначала нужно рассчитать направление Нормали треугольника. А уже потом проверять столкновения...
А способ который был описан Вами годится для 2Д измерения.
Int64 Дата: Четверг, 05.01.2012, 10:01 | Сообщение # 7
Просмотр профиля: Int64

Сообщений: [12]
логично, но движок для колизий содержал бы функции типа IsCollision (..), А использовать физический движок чисто для коллизий затратно, может производительность упасть прилично, во многих случаях можно обойтись простыми средствами.

Нормали треугольников обычно задана в самой модели. Рекаст - это пускание луча из одного объекта по направлению, направление обычно выбирается то, куда движется объект, вот пример на картинке:


здесь мы видим, что если есть пересечение с луча с треугольником (или с октри), то нужно проверить растояние от позиции сферы (X,Y,Z) до точки пересечения, и если растояние <= радиуса сферы, то имеем столкновение.
Математика же нам здесь понадобиться для проверки пересечения луча с треугольником.
можешь почитать здесь
  • Страница 1 из 1
  • 1
Поиск:

При полном или частичном копировании материалов сайта ссылка на Make-Games.ru обязательна. Make-Games.ru © 2008 - 2024 Хостинг от uCoz
Топ Разработка игр