2010-12-24 1 views
0

Позвольте мне предварить с извиняясь за noobishness моего вопроса, потому что я очень новой для программирования игр: PОбнаружение столкновений с изображениями на iPhone, используя OpenGL

Я работаю на 2D игры (вид как шутер сверху вниз) для iPhone, используя двигатель, очень похожий на cocos2d (не совсем верно) на OpenGL ES. Я пытаюсь понять, как я собираюсь сделать обнаружение столкновений. Все корабли для моей игры - это изображения, и игра загрузит изображение в виде текстуры на экран. У меня есть очень очень простейшее обнаружение уже идет, что в основном просто берет прямоугольники изображений и проверяет, не сталкиваются ли они, и может ли это сделать просто отлично. Но, конечно, корабль не совсем захватывает весь прямоугольник, поэтому там есть пробелы. Итак, мой вопрос заключается в том, как я должен учитывать эти пробелы? Должен ли я хранить матрицы кораблей? Или есть другой способ? Я также слышал, возможно, используя физический движок Chipmunk для обнаружения столкновений? Как это будет работать? Заранее благодарю за любую помощь!

+0

Ой, сожалею об этом, я обычно делаю, просто забыл на этот раз: P – Alexander

ответ

2

С Рождеством!

(1) относительно бурундук, короткий ответ да вы должны немедленно загрузить бурундук, пожертвовать что-то к парню, и начать обучение об этом. Итак, это абсолютная уверенность - вы должны это сделать, если вы заинтересованы в этом поле, и больше не о чем говорить, и вы должны сделать это прямо сейчас (!!)

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

(2) вы спрашиваете об использовании приближения («просто» прямоугольника) вместо чего-то более точно подобранного ваши космические корабли. На самом деле, вы, возможно, изумились, чтобы узнать, что именно так обычно делается во всех ваших знаменитых играх с большим именем, с которыми вы играли с тех пор, как все мы были детьми! В самом деле, иногда вы можете использовать немного больше, чем A DOT (!) Для обнаружения коллизий.

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

Если вы хотите сделать более сложную модель - просто сделать один! Создайте его из трех или четырех прямоугольников, используя вашу текущую систему. Попробуйте их «все друг против друга» и попробуйте «один большой, чтобы сначала проверить», чтобы увидеть, находится ли он где-нибудь рядом друг с другом (вроде простого пространственного хэширования).

Вы обнаружите, что когда вы делаете это с помощью Бурундука, который, как вы теперь знаете, вам нужно немедленно начать после прочтения этого сообщения, вы просто создадите его таким же утомительным способом. Это не волшебная пуля. Но если вы собираетесь использовать «более сложную модель», да, лучше пойти с чем-то стандартным, бурундуком, чтобы сделать работу - это будет сделано быстрее и лучше. Есть куча, чтобы учиться, и вам следует прыгать!

(3) Unity не только для 3D Наконец, если вы хотите сделать это смарт-задница выросла путь, вы должны использовать Unity3D, которая позволит вам получить доступ к самому металлу, то Nvidia физики на чипсете. Обратите внимание, что единство отлично работает и для 2D-игр - просто нажмите одну кнопку в единстве, чтобы использовать 2D-проекцию (многие фирменные, если 2D-игры выполняются именно так).

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

В чем недостаток этого? Ах, да ... ну, дело в том, что вам нужны превосходные 3D-модели всех вещей в вашей игре! (Как вы видите, они создают в «как мы сделали фильм» специальные функции, которые поставляются с вашим любимым Pixar blu-ray.) Для этого вам нужны такие вещи, как autodesk, майя и тому подобное. вы, скорее всего, купите некоторые модели, готовые из цифрового магазина поддержки (не нужно строить «стул», как это было сделано уже 1000 раз, и вы можете купить один за десять долларов).

(Unity3D абсолютно бесплатно использовать в течение нескольких месяцев, в то время как вы видите, если это может сделать вас деньги.)

Кстати на фронте Chipmunk --- вы можете просто использовать Corona, который до смешного прост в использовании и имеет полностью подобранную физикой струйку, с нулевым усилием с вашей стороны! Вы могли бы провести всю игру за меньшее время, чем потребовалось, чтобы написать это письмо. Вы уже можете продать свою игру и придумать следующую. Или, вы могли бы использовать «Cocos», у которого действительно есть встроенная в бурундук библиотека физики. Лично (просто я) мне не нравится и не буду касаться кокосов, но, конечно, многие игры используют ее.

(Это кажется бессмысленным, мне, используя Cocos, который является «для идиотов» продукт, когда вы можете просто идти вперед и использовать Corona, который является «для идиотов» продукт, но колоссально проще в использовании, 1000x . более прочной, и, вероятно, буквально в 10 раз быстрее, чтобы закончить свой продукт и начать зарабатывать деньги)

Noel Резюме:

Таким образом, в некотором смысле, используя Unity3D (и, следовательно, фактическая физика NVIDIA на чипы вашего компьютера) - это окончательное решение, если вам нужны подробные коллизии с конфликтами. Спустившись на один шаг, бурундук точно, именно то, что вы должны использовать на ifone/ipad для физики 2D - это именно то, что используется во всех известных играх, которые мы так хорошо знаем. У вас есть немного обучения, чтобы сделать так прыгать на него - это суперфон. Наконец-то идите прямо и просто сделайте вашу текущую модель более сложной., если хотите - катите свой собственный, добавив больше прямоугольников!

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

Cheers!

+0

Ничего себе, спасибо за это! Вероятно, самый полезный, а также самый восторженный ответ, который я когда-либо получал! Счастливого Рождества! : P – Alexander

+0

LOL мое удовольствие действительно, веселое рождество !! – Fattie

 Смежные вопросы

  • Нет связанных вопросов^_^