![]() |
Писать свою физику vs Использовать готовую
Тут имеется ввиду, конечно, 2d физика.
Мне очень важна производельность, потому что в игре которую планирую сделать будет очень много столкновений твердых тел, шарниров и т п. Сперва я думал писать свою, но щас уже сомневаюсь, что получится сделать быстрее чем Box2d, или motor2 В общем кто что посоветует? |
ИМХО заюзать сторонний двиг, так как редко первый(пусть даже и не первый) физический велосипед бывает быстрей сторонних.
|
2Division
Ну motor2 быстрее чем box2d (имхо), хотя для автора это был первый физический велосипед:). Правда он его долго делал, мне столько времени не хочется тратить на физику Я уверен что за счет солвера у меня быстрее чем box2d вряд ли быстрее будет, но есть небольшая надежда выиграть по времени за счет collison detection, т.е. если основное время расчета в физдвижках тратиться на солвер, то смысла писать свой конечно нет |
ИМХО {
Вначале использовать чужой, когда знаний будет хватать написать свой, писать свой, под себя, ради саморазвития и самоутверждения. } |
Немного офтопа:
По поводу box2d, я его не смотрел, но может вдруг пригодится. На геймдеве устроили коллективный перевод документации на русский (: Тут можно глянуть: http://docs.google.com/View?docid=dfh3v794_41gtqs6wf4 Тема форума: http://www.gamedev.ru/code/forum/?id=87747 Правда не знаю как сильно флешевый порт от оригинала отличается. UPD: Слуш, можешь рассказать как ты хочешь делать Collision detection для многоугольников? По методу разделяющих осей? Или как? |
2Division
Ты имеешь ввиду расчет penetration depth для выпуклых мн-ков? Его я написал получается в среднем 0.035мс для двух 150 угольников (правда для 4х угольников не на много быстрее - где то 0.025мс). В худшем случае будет O(n + m), но в среднем O(1). Разделяющие оси (SAT) слишком медленно имхо (в худшем случае O(nm)), хотя для "мало"-угольников не знаю что быстрее. |
Я писал свой.
Больше так делать не буду... :) |
если в физике хорошо разбираешься, пиши свой! однозначно! так как свой, всегда можно "заточить" под нужды...
но если собрался писать "по учебникам", писать есть смысл только для самообразования... |
Народ, а где можно взять эти готовые физики (:D) ???
|
Встречный вопрос: вам разобраться в физике надо или что-то сделать? Если первое, то пишите свой, если второе — используйте готовый.
|
Написать свой. Пару книг тематических прочитаешь и думаю проблем у тебя не будет (судя по тому, что ты выкладывал).
|
2__etc
Важнее что то сделать, но написать убийцу box2d былоб крута:) |
mikleb, если Вы еще неуверенно программируете, то советую отложить на время гранщиозные идеи :)
|
бокс2д конечно дико ложит на адобовскую code convention. Привыкнуть к классам с мальенькой буквы и методам с большой непривычно. Да и коллизии на быстрых скоростях бывает не успевает просчитывать
|
box2d вообще сишная библиотека, отсюда и названия классов с методами.
|
2MrPoma
Что значит неуверенно программировать?:) 2Fernando Costa Как раз привычно когда методы с большой буквы (и классы тоже) Для коллизий на больших скоростях в box2d есть continuous collision detection |
Ну да, все же ребята не удосужились переименовать все, чтобы флешерам удобно было
|
Имхо, писать свой движок нужно в двух случаях:
1. нужно сделать что - нибудь уникальное, такое под что существующие двиги не подходят. 2. хочется написатьсвою физику 2d - шную Добавлено через 1 минуту Имхо, писать свой движок нужно в двух случаях: 1. нужно сделать что - нибудь уникальное, такое под что существующие двиги не подходят. 2. хочется написать свою библиотеку. Для этого нужно четко знать что в ней будет такого, чего нету в других. |
Цитата:
|
| Часовой пояс GMT +4, время: 01:55. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.