Грэг Дункан
Сегодняшний проект посвящен движку реализации физики, он бесплатный, имеет открытый исходный код и является кроссплатформенным (для Microsoft). И, как вы и ожидаете, вы получите не только замечательный движок, но и обширный набор примеров и демонстраций. Его сложность обескураживает, но глядя на код в примерах и документации, понимаешь, что все выглядит доступным.
Часто задаваемые вопросы по BEPUphysics
Что такое BEPUphysics? BEPUphysics это бесплатная библиотека трехмерной физики для XNA с открытым исходным кодом, лицензируемая на условиях Apache 2.0. Она чертовски быстрая. Нам кажется, она вам понравится. Ее можно скачать отсюда. Попробуйте! Моу ли я создавать коммерческие продкты с закрытым исходным кодом на базе BEPUphysics? Да, бесплатно. Совместима ли лицензия Apache 2.0 license с Windows Phone Marketplace? Да. Собираются ли разработчики BEPUphysics оставить проект, поскольку его код открыт? Нет. Я лицензировал BEPUphysics при условиях старого контракта, который не был бесплатным. Какое влияние это окажет? Мы отказываемся ото всех задержанных или будущих выплат. Все лицензии можно перевести на Apache 2.0. Помогите! Требуется помощь по BEPUphysics. Одним из лучших мест для получения помощи по BEPUphysics являются форумы. Нам нравится, когда люди обращаются туда, поскольку это способствует обучению всех. Нет. Мне нужна секретная, продвинутая и супертехнологическая поддержка BEPUphysics. Ух ты! Тогда идите сюда. Вы выглядите приличными людьми. Я хочу пожертвовать несколько баксов. Ух ты! Тогда идите сюда. Какой ваш любимый цвет? Серобуромалиновый.
Что такое BEPUphysics?
BEPUphysics это бесплатная библиотека трехмерной физики для XNA с открытым исходным кодом, лицензируемая на условиях Apache 2.0. Она чертовски быстрая. Нам кажется, она вам понравится. Ее можно скачать отсюда. Попробуйте!
Моу ли я создавать коммерческие продкты с закрытым исходным кодом на базе BEPUphysics?
Да, бесплатно.
Совместима ли лицензия Apache 2.0 license с Windows Phone Marketplace?
Да.
Собираются ли разработчики BEPUphysics оставить проект, поскольку его код открыт?
Нет.
Я лицензировал BEPUphysics при условиях старого контракта, который не был бесплатным. Какое влияние это окажет?
Мы отказываемся ото всех задержанных или будущих выплат. Все лицензии можно перевести на Apache 2.0.
Помогите! Требуется помощь по BEPUphysics.
Одним из лучших мест для получения помощи по BEPUphysics являются форумы. Нам нравится, когда люди обращаются туда, поскольку это способствует обучению всех.
Нет. Мне нужна секретная, продвинутая и супертехнологическая поддержка BEPUphysics.
Ух ты! Тогда идите сюда.
Вы выглядите приличными людьми. Я хочу пожертвовать несколько баксов.
Какой ваш любимый цвет?
Серобуромалиновый.
http://bepuphysics.codeplex.com/
BEPUphysics – библиотека трехмерной физики от BEPU. Она быстрая и имеет множество классных возможностей вроде связей, сцен, статичных и быстроменяющихся сеток, непрерывной регистрации столкновений, настраиваемых правил столкновений, транспортных средств, простой многопоточности и так далее. А также полная поддержка XBox360 и WP7! Первоначальная версия движка предназначалась для XNA, но есть ответвление SlimDX и ответвление с исключенными зависимостями, если вам не нравиться использовать XNA. Как начать? Посмотрите руководство «Начало работы» в разделе документов.
BEPUphysics – библиотека трехмерной физики от BEPU. Она быстрая и имеет множество классных возможностей вроде связей, сцен, статичных и быстроменяющихся сеток, непрерывной регистрации столкновений, настраиваемых правил столкновений, транспортных средств, простой многопоточности и так далее. А также полная поддержка XBox360 и WP7!
Первоначальная версия движка предназначалась для XNA, но есть ответвление SlimDX и ответвление с исключенными зависимостями, если вам не нравиться использовать XNA.
Как начать? Посмотрите руководство «Начало работы» в разделе документов.
Чтобы получить представление о движке, взгляните сюда:
Мы упоминали о демонстрациях? Вот их снимок:
Поглядим на демонстрацию Jenga:
Код для нее:
public JengaDemo(DemosGame game) : base(game){ Space.Remove(kapow); //Have to shrink the ball a little to make it fit between jenga tower blocks. kapow = new Sphere(new Vector3(-11000, 0, 0), .2f, 20); kapow.PositionUpdateMode = PositionUpdateMode.Continuous; //The ball's really tiny! It will work better if it's handled continuously. Space.Add(kapow); int numBlocksTall = 18; //How many 'stories' tall. float blockWidth = 3f; //Total width/length of the tower. float blockHeight = 1 / 2f; Entity toAdd; //The default number of iterations is 10, which works fine, but this demo //is all about stability (it's jenga!). Increase the iterations a bit. //Even though it's using twice as many iterations, it will early-out //before reaching the limit MOST of the time. //It's still pretty playable at around 7-8 max iterations, though. Space.Solver.IterationLimit = 20; for (int i = 0; i < numBlocksTall; i++) { if (i % 2 == 0) { for (int j = 0; j < 3; j++) { toAdd = new Box(new Vector3( j * (blockWidth / 3) - blockWidth / 3f, blockHeight / 2 + i * (blockHeight), 0), blockWidth / 3, blockHeight, blockWidth, 10); Space.Add(toAdd); } } else { for (int j = 0; j < 3; j++) { toAdd = new Box(new Vector3( 0, blockHeight / 2 + (i) * (blockHeight), j * (blockWidth / 3) - blockWidth / 3f), blockWidth, blockHeight, blockWidth / 3, 10); Space.Add(toAdd); } } } Space.Add(new Box(new Vector3(0, -.5f, 0), 40, 1, 40)); game.Camera.Position = new Vector3(0, 5, 15);}
Да, это он.
Давайте глянем на сам движок:
Одна из классных вещей, по моему мнению, – машины.
Если вы ищете движки для физики или просто интересуетесь их устройством, этот проект – один из тех, которые должны быть в начале вашего списка.