Среда, 18 Декабря 2024, 16:50

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Collision(Blitz3d)
danielskachkovДата: Понедельник, 06 Августа 2012, 12:27 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Доброго времени суток. Нельзя ли в blitz3d реализовать per poly collision? То есть мы проверяем на столкновение каждый полигон. И если можно, то как?

Из-за преступной халатности работников Эрмитажа картина Казимира Малевича "Черный квадрат" два месяца провисела вверх ногами.
НохчиДата: Понедельник, 06 Августа 2012, 12:47 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Нельзя, ибо не нужно такое. Ты объясни исходную задачу, наверняка можно решить без таких извратов.

Многие вопросы по Windows отпадут, если посмотреть тут
ArchidoДата: Понедельник, 06 Августа 2012, 13:51 | Сообщение # 3
Сэнсэй
Сейчас нет на сайте
Вообще можно smile , но насчет Blitz'а не скажу. Но реальное применение этому сложно найти, часто можно сделать проще другими способами, как выше заметили. Но вообще это вполне реализуемо и даже будет работать biggrin
И уточню - хочется per poly collision между моделями (геометрия) с обеих сторон (т.е. одна с другой), да?


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)

Сообщение отредактировал Archido - Понедельник, 06 Августа 2012, 13:52
ЗелёныйГоблинДата: Понедельник, 06 Августа 2012, 14:28 | Сообщение # 4
In-Games
Сейчас нет на сайте
Quote (danielskachkov)
Доброго времени суток. Нельзя ли в blitz3d реализовать per poly collision? То есть мы проверяем на столкновение каждый полигон.

Можно, но зачем там извращаться? Я уверен что есть более подходящий способ реализовать твою задумку.
MeshesIntersect (mesh1,mesh2 )
Аргументы:
mesh1 - первый объект - модель.
mesh2 - второй объект - модель.
Возвращает правду если объекты пересекаются. Ещё как выход можно подкрутить физическую библиотеку, а она уже включает в себя методы проверки коллизий нужные тебе.


Bakuman Death Note The Future Diary
Базовые знания- это умение создать хоть что-то на экране, находящееся в движении по чему-то, и соприкасающееся с чем-то. (Основы ЯП)©Умный игродел
danielskachkovДата: Понедельник, 06 Августа 2012, 19:13 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Quote (Нохчи)
Ты объясни исходную задачу, наверняка можно решить без таких извратов.

Хочу реализовать стрельбу в шутере.


Из-за преступной халатности работников Эрмитажа картина Казимира Малевича "Черный квадрат" два месяца провисела вверх ногами.
НохчиДата: Понедельник, 06 Августа 2012, 20:13 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
Quote (danielskachkov)
Хочу реализовать стрельбу в шутере.

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


Многие вопросы по Windows отпадут, если посмотреть тут

Сообщение отредактировал Нохчи - Понедельник, 06 Августа 2012, 20:32
ЗелёныйГоблинДата: Понедельник, 06 Августа 2012, 21:53 | Сообщение # 7
In-Games
Сейчас нет на сайте
Quote (danielskachkov)
Хочу реализовать стрельбу в шутере.

Зачем для стрельбы так извращаться? Почитай уроки и посмотри как там реализовано.


Bakuman Death Note The Future Diary
Базовые знания- это умение создать хоть что-то на экране, находящееся в движении по чему-то, и соприкасающееся с чем-то. (Основы ЯП)©Умный игродел
ArchidoДата: Понедельник, 06 Августа 2012, 22:00 | Сообщение # 8
Сэнсэй
Сейчас нет на сайте
danielskachkov
Да, для стрельбы как раз и подходит такой Per Poly Collision, именуемый как RayCast - пересечение луча с треугольником. Пускают луч из оружия / камеры и проверяют пересечение сначала с AABB модели и если они пересекаются, то далее уже проверяется пересечение с пачкой треугольников. Для оптимизации геометрию можно использовать попроще для RayCast'a, нежели для рендеринга.

Наверняка в Blitz'e такое есть smile


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)

Сообщение отредактировал Archido - Понедельник, 06 Августа 2012, 22:14
НохчиДата: Вторник, 07 Августа 2012, 00:40 | Сообщение # 9
заслуженный участник
Сейчас нет на сайте
Я задавал этот вопрос несколько лет назад, и мне сказали что такой фичи в блице нет и надо либо прикрутить physx wrapper(который сейчас фиг найдешь) и использовать этот самый RayCast, или сделать как написано в #6. Конечно вполне возможно что человек отвечавший мне не все знал.

Многие вопросы по Windows отпадут, если посмотреть тут
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг