Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для компьютеров > Blitz3D > Библиотеки

Библиотеки Сторонние библиотеки для Blitz

Ответ
 
Опции темы
Старый 31.03.2007, 21:07   #16
Render
Знающий
 
Регистрация: 12.07.2006
Сообщений: 283
Написано 16 полезных сообщений
(для 32 пользователей)
Re: PhysX wrapper

Новый релиз 0.7.7.0

1. Добавлены Ф-и которые узнают скорость локальной точки на теле.

pxBodyGetLocalPointSpeedX(body%, x#, y#, z#)
pxBodyGetLocalPointSpeedY(body%, x#, y#, z#)
pxBodyGetLocalPointSpeedZ(body%, x#, y#, z#)


2. Расширена работа с тряпкми

pxClothMaskSet(Cloth%, mask%) - устанавливает маску колизии для тряпки. аналогична командам для обычных тел.
pxClothMaskCombineSet(Cloth%, mask%) - продвинутый режим установки масок
pxClothGetEntity%(Cloth%) - получает ентити от тряпки
pxClothSetUserData(Cloth%, userdata%) - устанавливает пользовательские данные тряпке
pxClothGetUserData%(Cloth%) - возвращает пользовательские данные

pxClothAddForceAtPos(Cloth%, pos_x#, pos_y#, pos_z#, magnitude#, radius#) - добавляет силу в позицию
pxClothAddForceAtVertex(Cloth%, nx#, ny#, nz#, vID%) - добавляет силу вершине с индексои ИД.


3. Добавлены две ф-и для партикл эмитеров

pxParticleEmitGetNumberParticles%(pEmitter%) - узнаёт количество частиц в партикл генераторе на даный момент
pxParticleEmitDelete(pEmitter%) - удаляет генератор частиц и все частици.


4. Добавлена функция для удаления pxCreateSpringAndDamperEffector

pxDeleteEffector(effector%)


5. Появились маски на магниты. пример прилагается в семплах

pxMagnetSetMask(mdata%, mask%) - устанавливает маску магниту. Установка идёт в двоичной системе. Например:
Установим магниту маску bin(101) или в десятичной 5.
Возьмём три вида тел
Метал - поставим маску bin(001)
дерево - поставим маску bin(010)
ну и ещё что то - поставим маску bin(110)
Как вы догадались метал и ещё что то будет магнитится , а дерево - нет. Проверка идёт по логическому "И"

pxMagnetGetMask%(mdata%) - узнаёт маску магниту
pxBodySetMagnetMask(body%, mask%) - ставит маску магнетизма на иело
pxBodyGetMagnetMask%(body%) - узнаёт маску магнетизма из тела

6. Исправлены баги в тригерах. И для ускорения работы добавлена ф-я

pxUpdateTriggers() - обновляет тригера в сцене.


7. Проведены оптимизации, отладка, шлифовка врапера и переделаны примеры.


Всё качать по старым ссылкам. Внимание!!!! теперь драйвера и и врапер раздельно. Установку нужно производить в паку блитц3д, а дальше инсталятор сам поставит в юзерлиб. Также с виндовса можно поудалять ФизиксЛоадер и НхКукинг. Врапер приобрёл уже комерческий вид и больше в винду ставится ничего не будет, так что советую поудалять всё лишнее.
Примено в таком виде всё и останется в дальнейшем. Возможны мелкие штрихи.

Также есть полный английский хелп. Он шире чем русский и дополненый. Если бы его кто то проверил ещё, я был бы безмерно благодарен!!! У самого плохо с английским. Кому нужно, могу выложить.
(Offline)
 
Ответить с цитированием
Старый 17.04.2007, 20:26   #17
Render
Знающий
 
Регистрация: 12.07.2006
Сообщений: 283
Написано 16 полезных сообщений
(для 32 пользователей)
Re: PhysX wrapper

Релиз 1.0

1. Исправлены мелкие недочёты и уменьшен обьём занимаемой памяти каждым телом


2. Исправлена ошибка возникающая в тригере типа хулл.


3. Доработаны материалы и добавлены новые ф-и.

pxCreateAnisotripicMaterial%(nx#, ny#, nz#) - изменился синтаксис. теперь материал
присваивается командой pxMaterialSetToBody(body%, mat%)

Команды устанавливают режим выбора материала при взаимодействии двух тел. Известно что каждое

тело имеет свой материал, как тогда в этом случае будет считатся результирующий? Эти команды

помогут в этом деле:
pxMaterialSetRestitutionCombineMode(mat%, mode%) - для упругости
pxMaterialSetFrictionCombineMode(mat%, mode%) - для трения

mode%:
0 - среднее значение: (a + b)/2. - по умолчанию
1 - материал с минимальным значением: min(a,b).
2 - значение материалов перемножаются: a*b.
3 - максимальное значание из двух материалов: max(a,b).
4 - This is not a valid combine mode, it is a sentinel to denote the number of possible values.

We assert that the variable's value is smaller than this.

pxMaterialSetFlagStrongFriction(mat%) - устанавливает флаг материалу. С этим флагом материалы

точнее просчитываются и убираются все возможные погрешности. Часто используют для тел которые скользят на поверхности под уклоном и имеют большую массу и силу трения.


4. добавлены новые ф-и для контактов

pxContactEventsOnStartTouch%(body%) - устанавливается в 1 когда тело вступает в контакт. 1 - действует на протяжении одного цикла. Используется для озвучки падающих предметов. Например,

когда нужно узнать начало проигрования ролика со звуком удара.
pxContactEventsOnEndTouch%(body%) - устанавливается в 1 когда тело выходит с контакта. Даже незнаю зачеи она нужна )))


5. Добавилась команда

pxSetTiming(maxTimeStep#, maxIter%, StepMethod%) - команда для настройки дельтатайма мира.
по умолчанию имеет вид pxSetTiming(1/60, 8, 0)

method%:
0 - TIMESTEP FIXED.
1- TIMESTEP VARIABLE.
2 - TIMESTEP INHERIT. Inherit timing settings from primary scene. Only valid for compartments.


6. Внимание!!!!!!!!!!!!!
Поменялся синтаксис основной команды

pxRenderPhysic(time#, sinc%) - новый синтаксиси команды


Обновлены семплы и хелп.
(Offline)
 
Ответить с цитированием
Старый 03.07.2007, 16:41   #18
moka
.
 
Регистрация: 04.08.2006
Сообщений: 10,429
Написано 3,453 полезных сообщений
(для 6,859 пользователей)
Re: PhysX wrapper

Есть новости с фронта?
(Offline)
 
Ответить с цитированием
Старый 03.07.2007, 19:16   #19
Render
Знающий
 
Регистрация: 12.07.2006
Сообщений: 283
Написано 16 полезных сообщений
(для 32 пользователей)
Re: PhysX wrapper

Ну канечно, уже давно можно скачать версию 1.1 с сайта. Там организована подержка всех существующих двигов. В том числе БлитцМакс, Блитц3д СДК ну и так далее. работает всё вплоть до тряпок.
Сегодня появился СДК 2.7.2. так что ждите обьёмные поля сил, и улучшеные тряпки.
(Offline)
 
Ответить с цитированием
Старый 04.07.2007, 08:21   #20
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 567 пользователей)
Re: PhysX wrapper

Молодец! Немедлено же проплюсадиню твои мессаги! Ибо хоть какая то мера благодраности.
(Offline)
 
Ответить с цитированием
Старый 04.07.2007, 09:06   #21
jimon
 
Сообщений: n/a
Re: PhysX wrapper

Render
они гады не выложили заметки к 2.7.2
расказывай что изменили или банально Release Notes выложи
 
Ответить с цитированием
Старый 04.07.2007, 11:25   #22
Render
Знающий
 
Регистрация: 12.07.2006
Сообщений: 283
Написано 16 полезных сообщений
(для 32 пользователей)
Re: PhysX wrapper

http://www.ageia.com/developers/sdk_rn.html

было выложено ещё 2 месяцы назад
(Offline)
 
Ответить с цитированием
Старый 04.07.2007, 13:20   #23
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 25.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,321
Написано 5,164 полезных сообщений
(для 14,920 пользователей)
Re: PhysX wrapper

Render? а почему русского хелпа нет?

Может, я чем могу помочь? (например пару обучений напишу или переводов)? Если что стукни в асю

438-012-412
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 04.07.2007, 17:08   #24
Render
Знающий
 
Регистрация: 12.07.2006
Сообщений: 283
Написано 16 полезных сообщений
(для 32 пользователей)
Re: PhysX wrapper

Есть наброски рус хелпа в екселе. Там много ошибок неточностей, просто не желания не времени заниматся этим нету. Разработка хелпа это такая нудная и надоедливая работа. С меня английской версии хватило
Также есть проблема с руским шрифтом, во время перегонки с екселя в нормальный вид.
(Offline)
 
Ответить с цитированием
Старый 05.07.2007, 09:56   #25
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 25.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,321
Написано 5,164 полезных сообщений
(для 14,920 пользователей)
Re: PhysX wrapper

Обнаружены ошибки в хэлпе:

Нет описания к командам:
  • GetCompoundFromMesh
  • pxBodySetEntity

Ошибки в примерах:
  • В примере Compound в функции GetCompoundFromMesh нельзя указать статический объект или динамический
  • В этом же примере не работает и масса - что ни указываешь - всё одно.

И ещё наверное пары. Буду по мере читканья Хэлпа дописывать в этот пост.
З.Ы. Если мне обьяснят что это за команды могу дописать их в хэлп
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 06.07.2007, 09:01   #26
Render
Знающий
 
Регистрация: 12.07.2006
Сообщений: 283
Написано 16 полезных сообщений
(для 32 пользователей)
Re: PhysX wrapper

Полезное дело делаеш!

Обнаружены ошибки в хэлпе:
Нет описания к командам:
GetCompoundFromMesh
pxBodySetEntity
GetCompoundFromMesh - это команда из парсера 3дМоделей, она не от Физикса . Команда разбирает модель по установленым рнее ключам и создаёт из неё физ тело. Я как то давно описовал работу парсера, нужно поискать

pxBodySetEntity - в самом деле пропустил. исправлю
А вообще в хелпе ещё неописаны команды из релиза 1.1

Ошибки в примерах:
В примере Compound в функции GetCompoundFromMesh нельзя указать статический объект или динамический
В этом же примере не работает и масса - что ни указываешь - всё одно.
Ну дак правильно. Можно указывать только тело обьект специально подготовленый для парсера.
(Offline)
 
Ответить с цитированием
Старый 06.07.2007, 09:04   #27
Render
Знающий
 
Регистрация: 12.07.2006
Сообщений: 283
Написано 16 полезных сообщений
(для 32 пользователей)
Re: PhysX wrapper

Вообщем сейчас делаю обьёмные поля сил. Уже более менее разобрался, поидее ничего сложного. А вот для юзеров будет сложновато. Там, что бы настроить желаемый эфект нужно устанавливать элемены матрици в определёные значения. Проблема ещё в том, что эту самую матрицу придётся тащить в блитц как-то.
Также нужно понимание аксеальной, радиальной и тангегсиальной составляющей. В доках примеров нету, приходится самому разбиратся.
(Offline)
 
Ответить с цитированием
Старый 06.07.2007, 12:22   #28
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 25.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,321
Написано 5,164 полезных сообщений
(для 14,920 пользователей)
Re: PhysX wrapper

Render, стараюсь Буду дописывать тот пост где написал обнаруженные ошибки по мере их обнаружения.
Огорчает отсутствие обучений (не описания команд а именно обучений) на русском языке. Я по мере изучения враппера мог бы написать парочку
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 02.09.2007, 15:22   #29
Render
Знающий
 
Регистрация: 12.07.2006
Сообщений: 283
Написано 16 полезных сообщений
(для 32 пользователей)
Re: PhysX wrapper

Апдейт 1.2.

1. исправлены контакты, теперь для машин в контакте не участвуют райкаст колёса.

2. И СофтоБоди

pxCreateSoftBody%(OBJfile$, TETfile$, vbank*, numVert%, pos_x#, pos_y#, pos_z#, rot_x#, rot_y#, rot_z#) - Создаём софтоБоди
OBJfile - файл который юзается дл генерации тетрагонов и построение связей с граф мешем физического
TETfile - файл с тетрагонами
vbank - банк вершин от блитцмеша, нужен для связи блитц меша с физическим
дальше идёт позиция и поворот СБ

pxSoftBodyGetNumVert%(SB%) - получает количество вершин СБ
pxSoftBodyGetVertexPos(SB%, vbank*, numVert%) - получает банк позиций всех вершин
pxSoftBodyGetNormals(SB%, nbank*, numVert%) - возвращает банк нормалей
pxSoftBodyIsSleeping%(SB%) - определяет спит СБ или нет
pxSoftBodyPutToSleep(SB%) - усыпляет СБ (если юзается ядро, то СБ нельзя усыпить)
pxSoftBodyWakeUp(SB%, interval%) - будит СБ

pxSoftBodySetAttachmentResponseCoefficient(softBod y%, coef#) - Коефициент связи с телом к которому привязано СБ
pxSoftBodySetAttachmentTearFactor(softBody%, coef#) - сила, которую нужно приложить, что бы оторвать СБ от тела
pxSoftBodySetCollisionResponseCoefficient(softBody %, coef#) - хз, в доке ничего нельзя понять =)
pxSoftBodySetDampingCoefficient(softBody%, coef#) - сопротивление среды
pxSoftBodySetExternalAcceleration(softBody%, x#, y#, z#) - приложение внешнего ускорения
pxSoftBodySetFriction(softBody%, fric#) - трение
pxSoftBodySetLinkRadius(radius#) - используется до создания СБ. Для создания СБ необходимо постороить связь между физ телом и мешем. Если некоторые вершины не привязаны, то нужно увеличить этот радиус.
pxSoftBodySetMask(softBody%, mask%) - ставит маску колизии
pxSoftBodySetMaskCombine(softBody%, mask%) - ставит маску колизии, аналогична с обычными телами
pxSoftBodyMaskClear(softBody%) - убирает маску
pxSoftBodySetName(softBody%, name$) - устанавливает нейм
pxSoftBodySetParticleRadius(softBody%, radius#) - ставит радиус колизии частици
pxSoftBodySetSleepLinearVelocity(softBody%, vel#) - скорость на засыпание
pxSoftBodySetSolverIterations(softBody%, iter%) - количество проходов (просчётов) СБ за цикл, чем меньше это число тем быстрее работает.
pxSoftBodySetStretchingStiffness(softBody%, coef#) - тянучесть, гибкость
pxSoftBodySetVolumeStiffness(softBody%, coef#) - обьём СБ, Если быть точным, то это как бы давление внутри Тетрагона

Команды получают даные от СБ:
pxSoftBodyGetAttachmentResponseCoefficient#(softBo dy%)
pxSoftBodyGetAttachmentTearFactor#(softBody%)
pxSoftBodyGetCollisionResponseCoefficient#(softBod y%)
pxSoftBodyGetDampingCoefficient#(softBody%)
pxSoftBodyGetFriction#(softBody%)
pxSoftBodyGetName$(softBody%)
pxSoftBodyGetParticleRadius#(softBody%)
pxSoftBodyGetSleepLinearVelocity#(softBody%)
pxSoftBodyGetSolverIterations%(softBody%)
pxSoftBodyGetStretchingStiffness#(softBody%)
pxSoftBodyGetVolumeStiffness#(softBody%)

pxSoftBodyAttachToShape(softBody%, body%) - Крепит СБ к боди, Если юзать эту команду, то СБ и боди будут иметь взаимное влияние. Тоесть Когда СБ вступит в колизию, то ядро на неё отреагирует.
pxSoftBodyAttachToCollidingShapes(softBody%, tearable%) - крепит СБ ко всем телам, что пересекают его. В этом случае обратной связи нет.
pxSoftBodyDetachFromShape(softBody%, body%) - отделяет СБ от тела
pxSoftBodyAttachVertexToGlobalPosition(softBody%, vertID%, x#, y#, z#) - фтачит вершину в позицию
pxSoftBodyFreeVertex(softBody%, vertID%) - освобождает вершину
pxSoftBodyAddForceAtPos(softBody%, pos_x#, pos_y#, pos_z#, magnitude#, radius#, mode%) - прикладывает силу в позиции
pxSoftBodyAddForceAtVertex(softBody%, x#, y#, z#, vertID%, mode%) - прикладывает силу.



Инструкция как создавать СБ и файл тетрагонов:

1. Открываем 3дмакс или любой другой редактор и создаём модель
1.1 После создания ставим центр модели в её геометрический центр с помощью кнопки "Use selection Center"

1.2 Перемещаем модель так, что бы её центр совпал с центром координат 3дМакса

1.3 Сохраняем модель в Model.b3d и Model.obj. Б3Д можно заменить любым другим.

С 3дмаксом закончили.

2. Открываем утилиту PhysXViewer
2.1 Импортируем Model.obj
2.2 Создаём тетрагоны. Порядок действий на рисунке. Качество модели можно регулировать ползунками. После перемещение ползунков, нужно заново сгенерировать тетрагоны.

Должна быть следующая картина

2.3 Експортим всё в файлы Model_SB.obj и Model_SB.tet


3. Открываем блитц, и по примерам создаём своё СБ

Если наловчится, то вся процедура занимает меньше 2 минут. Просто нужно потренироатся немного



PhysXViewer качаем здеся (ели выковырял его с Агеевского СДК) http://files.swargo.com/render/PhysXViewer.rar

Новый врапер: http://files.swargo.com/render/PhysX(Pro).exe

И семплы с софтободями: http://files.swargo.com/render/SoftBodiesSamples.rar
Советую посмотреть семпл Funny.bb. Класная штука, я долго наслаждался. Там шляпа на анимированой голове, короче смотрите сами. Также прикольный пример Бубле
З.Ы. Примеры, только в исходниках.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pepel (24.11.2012)
Старый 02.09.2007, 15:22   #30
Render
Знающий
 
Регистрация: 12.07.2006
Сообщений: 283
Написано 16 полезных сообщений
(для 32 пользователей)
Re: PhysX wrapper

Хочу также поправить Доку, принимаю предложения по оформлению. Просто сейчас не нравится тем что, нету возможности поиска. Думаю определёные групы команд вынести на один листик, а там уже поиск по страничке рулит. Также думаю рускую версию закончить, но самому времени писать нету.

И ещё замечание по СБ, чем меньше вершин в Физ моделе, тем быстрее работает. Количество тетрагонов почти не влияет.
Жду отзывов и сообщений о глюках, если таковы будут.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Учебник по PhysX Wrapper для Blitz3D ABTOMAT FAQ 15 29.04.2014 15:11
Обсужение учебника по PhysX Wrapper для Blitz3D ABTOMAT 3D-программирование 309 24.02.2014 04:46
Капсульный игрок в PhysX Wrapper JohnAustin 3D-программирование 10 17.12.2009 17:50
Xors3D's Wrapper (PB4.3+) Chrono Syndrome PureBasic 19 20.08.2009 17:37
Bink Video Wrapper Zidane Библиотеки 7 05.06.2007 18:41


Часовой пояс GMT +1, время: 18:09.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com