forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=28)
-   -   Bullet Physics wrapper (http://forum.boolean.name/showthread.php?t=14511)

pepel 30.10.2012 21:56

Ответ: Bullet Physics wrapper
 
Цитата:

Сообщение от Coks (Сообщение 241654)
Управление точной сочленения имеется:

для первого тела:
btJointSetPositionA (int joint, float x, float y, float z, int global)
btJointSetRotationA (int joint, float pitch, float yaw, float roll, int global)
для второго:
btJointSetPositionB (int joint, float x, float y, float z, int global)
btJointSetRotationB (int joint, float pitch, float yaw, float roll, int global)

аа блин фига не усмотрел.. спасибо!!)

Coks 10.11.2012 22:48

Ответ: Bullet Physics wrapper
 
Вложений: 1
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 25 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.

pepel 11.11.2012 19:25

Ответ: Bullet Physics wrapper
 
Coks а сочленения типа пружина нету?

Coks 11.11.2012 20:46

Ответ: Bullet Physics wrapper
 
Пружины нету. Как вариант для симуляции можно попробовать использовать слидер с применением мотора.

pepel 12.11.2012 03:15

Ответ: Bullet Physics wrapper
 
Вложений: 1
вот такой вопрос:

попытался изменить точку сочленения, получается какойто бред:

допустим создаю сочленение hinge- сфера+ прямоугольник
задаю параметры сочленения(точку контакта)
hin1=btJointCreateHinge( sp1,lin1,0,0,0, 0, -3,0,0, 0 , 1)
т.е. 0,0,0, - центр сферы(для сферы) и -3,0,0, тоже центр сферы(для прямоугольника)

допустим пытаюсь установить точку сочленения для сферы btJointSetPositionA hin1,0,0,0,0
получается какаято фигня, жестко тупит, хотя должно быть все тоже самое...

если установить точку сочленения для прямоугольника - btJointSetPositionB hin1,-3,0,0,0 то все нормально..

наверно это ошибка враппера какаято. Coks посмотри плз в чем дело)

прикрепил пример ехе и бб

pepel 13.11.2012 01:32

Ответ: Bullet Physics wrapper
 
Вложений: 1
блин .. еще.
решил перевести свою игруху на буллет. и столкнулся с проблемой - неправильно работает функция btContactGetNum с тримешем. капсула стоит на меше, и проверка столкновений мелькает - то 1 то 0 =( и когда двигается и когда стоит... в физиксе все четко показывает..
прикрепляю ехе и бб примера

Coks 13.11.2012 22:10

Ответ: Bullet Physics wrapper
 
Да че-то там плоховато определяет.
Использую другую проверку с ней вроде норм детектит:
int btContactCheckBodies (int rigidBodyA, int rigidBodyB, int mode) mode = 0
int btContactTest (int rigidBody, int mask)
int btContactPairTest ( int rigidBodyA, int rigidBodyB )

Сочленения потом посмотрю кода время будет.

pepel 13.11.2012 22:28

Ответ: Bullet Physics wrapper
 
Цитата:

Сообщение от Coks (Сообщение 243546)
Да че-то там плоховато определяет.
Использую другую проверку с ней вроде норм детектит:
int btContactCheckBodies (int rigidBodyA, int rigidBodyB, int mode) mode = 0
int btContactTest (int rigidBody, int mask)
int btContactPairTest ( int rigidBodyA, int rigidBodyB )

Сочленения потом посмотрю кода время будет.

дауж. только это будет проблематично, получается нужно будет вести список тел в сцене и скаждым проверять на контакты.. нужна именно функция проверки на контакты с любыми телами.. почему btContactGetNum так глючит?(

Coks 13.11.2012 23:04

Ответ: Bullet Physics wrapper
 
Вот эта функция int btContactTest (int rigidBody, int mask)
записывается данные коллизии в тело со всеми телами (правда там имеет место дублирование коллизий). Их можно получить через теже самые функции: btContactGetNum и т.д..

Кста походу btContactManifoldTest тоже нормально работает если увеличить тресхолд обработки контакта у обоих тел:
btBodySetContactProcessingThreshold(px_level, 0.1)
btBodySetContactProcessingThreshold(capsule, 0.1)

radiantstudio 27.12.2012 11:49

Ответ: Bullet Physics wrapper
 
Привет.
В физиксе есть такая возможность: После создания тела из меша, это тело можно сохранить в файл. В следующий раз нет необходимости генерировать его из меша, а просто можно загрузить готовое физ тело.
Это очень удобно например если серверная часть использует физику и запускается в консоли без 3Д графики и без блица. Так же можно будет использовать враппер с другими 3д движками.
Я такое проделал с физиксом. Портнул хидеры физикс враппера для блица в Дельфи. Все работает.
Есть ли возможность сделать такое же сохранение и последующую загрузку в булет враппере?

Coks 27.12.2012 12:12

Ответ: Bullet Physics wrapper
 
На данный момент такого функционала нет. А так в буллите имеется сохранение физики в специализированный формат. Если руки дойдут - прикручу.

radiantstudio 27.12.2012 12:29

Ответ: Bullet Physics wrapper
 
Цитата:

Сообщение от Coks (Сообщение 247703)
На данный момент такого функционала нет. А так в буллите имеется сохранение физики в специализированный формат. Если руки дойдут - прикручу.

Было бы здрово. И Респектище за враппер!

DeN_93 26.03.2013 17:29

Ответ: Bullet Physics wrapper
 
Ребят, подскажите пожалуйста, как правильно сделать тело из трёх разных мешей через btShapeCreateCompound(), можно ли вобще потом обращаться к ним? И прецепить к этому телу колёса?:)

Coks 01.04.2013 23:51

Ответ: Bullet Physics wrapper
 
Создаешь форму через btShapeCreateCompound()
Создаешь тела которые нужно включить в компануд и позиционируешь их как надо.
Добавляешь созданные тела к форме через btShapeCompoundAddBody (shape, addBody, useSharedShape, deleteBody)
Создаешь тело из формы btBodyCreateCompound(shapeCompound, mass)

Для работы с чилдами компаунда имеются следующие функции:
Код:

btBodyChildSetPosition(bodyCompound%, index%, x#, y#, z#, global%)
btBodyChildGetX#(bodyCompound%, index%, global%)
btBodyChildGetY#(bodyCompound%, index%, global%)
btBodyChildGetZ#(bodyCompound%, index%, global%)
btBodyChildSetRotation(bodyCompound%, index%, pitch#, yaw#, roll#, global%)
btBodyChildGetPitch#(bodyCompound%, index%, global%)
btBodyChildGetYaw#(bodyCompound%, index%, global%)
btBodyChildGetRoll#(bodyCompound%, index%, global%)
btBodyChildSetUserData(bodyCompound%, index%, data%)
btBodyChildGetUserData%(bodyCompound%, index%)
btBodyRemoveChild(compoundBody%, index%, deleteShape%)


DeN_93 11.04.2013 02:13

Ответ: Bullet Physics wrapper
 
Спасибо большое Coks
Долго я сообразить не мог что к чему:)

mtaracing 22.05.2013 19:00

Ответ: Bullet Physics wrapper
 
Coks, Спасибо, разбираю wrapper уже 2-й день!

DeN_93 19.06.2013 16:34

Ответ: Bullet Physics wrapper
 
Такой вопрос....а можно как нибудь разворачивать луч в сторону разворота объекта?:)

GRYJA 16.11.2017 03:10

Ответ: Bullet Physics wrapper
 
Вложений: 1
BlitzBullet

Sikkyboy 08.11.2021 19:48

Ответ: Bullet Physics wrapper
 
Никто не знает, где взять license key? Может, автор обёртки выложит ключ публично?

Arton 09.11.2021 03:17

Ответ: Bullet Physics wrapper
 
Цитата:

Сообщение от Sikkyboy (Сообщение 319077)
Никто не знает, где взять license key? Может, автор обёртки выложит ключ публично?

Я надеюсь Coks не обидится (он до сих пор активен), он уже выкладывал специально для Булки, но там ограничение.
По этому делаю так:
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 1 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.

Sikkyboy 09.11.2021 19:26

Ответ: Bullet Physics wrapper
 
Arton, спасибо. Интересно, знает ли Coks о новом блитце https://forum.boolean.name/showthread.php?t=20946 ?
Не захочет ли он портировать буллет на него?

creoman1986 19.11.2021 10:49

Ответ: Bullet Physics wrapper
 
Написал, что бы скачать ключ :)


Часовой пояс GMT +4, время: 08:24.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot