Archive for 'Физика'

Nape 2 — Линейное и угловое торможение для мира

Иногда требуется задать линейное и угловое торможение для всего мира. Например, вы делаете бильярд или другую какую нибудь top-down игру (гонки напр.). Скорее всего вы будете делать следующим образом — зададите гравитацию в 0,0 и будете двигать объектами. Но, надо как нибудь задать торможение объектам, чтобы объекты останавливались через некоторое время (шары вечно летать по [...]

В Nape была возвращена декомпозиция

Не успели мы сильно опечалится по поводу декомпозиции, как уже пришло время опять возрадоваться — Лука замутил свои алгоритмы и теперь в новой реинкарнации декомпозиция опять в Nape. Демки связаны с этим дело также сделаны под новый алгоритм и возвращены опять в раздел документации API не был изменен, потому полная обратная совместимость. Ну и плюс [...]

С Nape была убрана декомпозиция

На днях Лука сообщил что ему пришлось убрать с Nape декомпозицию из-за ограничений лицензии GPL. Дело в том что алгоритмы были взяты с библиотеки CGAL и этого Лука не скрывал. НО эти алгоритмы выложены под GPL лицензией. Ну и что? А то что GPL предполагает если вы используете продукт под этой лицензией в вашем продукте, [...]

Nape 2 — работа с PreListener

Как и обещал заметка по работе с таким типом слушателя как PreListener. Механизм работы PreListener несколько отличается от своих собратьев. Вместе с этим слушателем можно использовать только один тип события — CbEvent.PRE (но вам не придется его задавать, так как он установлен в PreListener по-умолчанию) Nape генерирует это событие в тот момент, когда было зафиксировано [...]

Nape 2 — Некоторые нюансы обработки взаимодействий

Эта статья как небольшое дополнение к предыдущей и рассказывает некоторых нюансах. Хочу начать с события ONGOING. Как было сказано в предыдущей статье это событие генерируется когда тела столкнулись и продолжают сталкиваться (кубик упал на платформу и лежит на ней). Возьмем этот же пример с кубиком, который упал и лежит. Если подключить слушатели для BEGIN и [...]

Nape 2 — Отбираем участников и обрабатываем их взаимодействия

В новом Nape появилась новая система обработки столкновений. Она намного мощнее и гибче предыдущей, что позволяет намного точнее настроить отбор участников и событий столкновения. Старая система обработки столкновений путем голосования была удалена в новой версии. Если в старой версии надо было в каждом кадре определять столкновение посредством анализа колбека, то в новой все построено на [...]

Nape 2 — Кинематические тела

Интересным типом тела является кинематический. Этот тип дает возможность вручную управлять телом — положение, вращение. На эти тела не действует гравитация, разные силы. Они не сталкиваются с другими кинематическими и статическими телами. С ними могут сталкиваться динамические тела. При столкновении кинем. и динам. тела, если динам. тело спит то оно пробуждается. Отчасти кинематическое тело можно [...]

Nape 2 — немного глубже в новшества фигур и тел

В новой версии API для фигур и тел значительно расширились. Я не буду описывать все, выберу только те моменты, которые мне показались самыми значительными. Фигуры (Shape) Теперь фигуры можно двигать, вращать в теле как угодно, масштабировать и даже делать какие либо трансформации. Появился метод copy, который делает копию фигуры, теперь будет значительно легче организовать пулл [...]

Nape 2 — Создаем пространство с телами

Начнем, конечно же, с создания пространства где и будет происходить вся симуляция. Итак, посмотрим что здесь нового в отличие от старой версии. private var _space:Space; _space = new Space(new Vec2(0, 400), Broadphase.SWEEP_AND_PRUNE); Первое на что надо обратить внимание всего один класс пространства — Space. Больше никаких пространств. Второе, два параметра — первый гравитация (по-умолчанию 0,0), [...]

Nape 2 — вступление…

Вот уже полтора года Лука работает над новой версией Nape. И сегодня можно сказать его overhaul вышел на финишную прямую. Конечно работа ведется, но основная функциональность и API уже заложены и протестированы (ошибки конечно возможны, и если мы их найдем обязательно поможем Луке исправить их ). Но в основном практически все готово, поэтому настало время [...]

« Старые посты   Последние посты »