ВИЗНАЧЕННЯ ЗІТКНЕНЬ І ПРЕДСТАВЛЕННЯ ОБ’ЄКТІВ У 3D – РОЗРОБКА ІГОР ДЛЯ ОС ANDROID

&nbsp

Ми обговорили ставлення між поданням обєктів і визначенням зіткнень Ми постараємося зробити обєкти нашого ігрового світу якомога більш незалежними від їх графічного представлення Замість цього ми хотіли б визначити їх, описавши їх обмежуючу фігуру, позицію та орієнтацію Позиція і орієнтація не є серйозною проблемою: ми можемо представити позицію як екземпляр класу Vector3, а орієнтацію – як поворот навколо осей х, у і z Розглянемо обмежують фігури докладніше

Обмежують фігури в 3D

Для роботи з обмежуючими фігурами у нас є безліч варіантів Малюнок 1112 демонструє найбільш популярні обмежують фігури в 3D-програмуванні

Рис 1112 Різні обмежують фігури: мережа трикутників (ліворуч), що обмежує паралелепіпед (в центрі), вирівняний по координатних осях, що обмежує сфера (праворуч)

Мережа трикутників Найбільш близько прилягає до обєкта Однак зіткнення двох обєктів, що використовують мережі трикутників, досить довго розраховується

Обмежуючий паралелепіпед, вирівняний по координатних осях Обєкт розташовується у фігурі більш вільно Зіткнення таких обєктів розраховується швидше, ніж зіткнення обєктів, заснованих на мережі трикутників

Обмежуюча сфера Обєкт в ній почувається ще більш вільно Це найбільш швидкий спосіб визначити зіткнення

Ще однією проблемою, повязаною з мережею трикутників і обмежуючими паралелепіпедами, є той факт, що їх потрібно переорієнтувати, якщо необхідно повернути або масштабувати обєкт, так само як і в 2D Обмежують сфери не зазнають жодних змін, якщо ми повертаємо обєкт Якщо ми масштабується обєкт, нам потрібно просто відповідно змінити радіус сфери за допомогою простого множення

Джерело: Mario Zechner / Маріо Цехнер, «Програмування ігор під Android», пров Єгор Сидорович, Євген зазноби, Видавництво «Пітер»

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*