![]() |
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д, а дальше инсталятор сам поставит в юзерлиб. Также с виндовса можно поудалять ФизиксЛоадер и НхКукинг. Врапер приобрёл уже комерческий вид и больше в винду ставится ничего не будет, так что советую поудалять всё лишнее. Примено в таком виде всё и останется в дальнейшем. Возможны мелкие штрихи. Также есть полный английский хелп. Он шире чем русский и дополненый. Если бы его кто то проверил ещё, я был бы безмерно благодарен!!! У самого плохо с английским. Кому нужно, могу выложить. |
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%) - новый синтаксиси команды Обновлены семплы и хелп. |
Re: PhysX wrapper
Есть новости с фронта?
|
Re: PhysX wrapper
Ну канечно, уже давно можно скачать версию 1.1 с сайта. Там организована подержка всех существующих двигов. В том числе БлитцМакс, Блитц3д СДК ну и так далее. работает всё вплоть до тряпок.
Сегодня появился СДК 2.7.2. так что ждите обьёмные поля сил, и улучшеные тряпки. |
Re: PhysX wrapper
Молодец! Немедлено же проплюсадиню твои мессаги! Ибо хоть какая то мера благодраности.
|
Re: PhysX wrapper
Render
они гады не выложили заметки к 2.7.2 :) расказывай что изменили или банально Release Notes выложи |
Re: PhysX wrapper
|
Re: PhysX wrapper
Render? а почему русского хелпа нет?
Может, я чем могу помочь? (например пару обучений напишу или переводов)? Если что стукни в асю :) 438-012-412 |
Re: PhysX wrapper
Есть наброски рус хелпа в екселе. Там много ошибок неточностей, просто не желания не времени заниматся этим нету. Разработка хелпа это такая нудная и надоедливая работа. С меня английской версии хватило :)
Также есть проблема с руским шрифтом, во время перегонки с екселя в нормальный вид. |
Re: PhysX wrapper
Обнаружены ошибки в хэлпе:
Нет описания к командам:
Ошибки в примерах:
И ещё наверное пары. Буду по мере читканья Хэлпа дописывать в этот пост. З.Ы. Если мне обьяснят что это за команды могу дописать их в хэлп :) |
Re: PhysX wrapper
Полезное дело делаеш!
Цитата:
pxBodySetEntity - в самом деле пропустил. исправлю :) А вообще в хелпе ещё неописаны команды из релиза 1.1 Цитата:
|
Re: PhysX wrapper
Вообщем сейчас делаю обьёмные поля сил. Уже более менее разобрался, поидее ничего сложного. А вот для юзеров будет сложновато. Там, что бы настроить желаемый эфект нужно устанавливать элемены матрици в определёные значения. Проблема ещё в том, что эту самую матрицу придётся тащить в блитц как-то.
Также нужно понимание аксеальной, радиальной и тангегсиальной составляющей. В доках примеров нету, приходится самому разбиратся. |
Re: PhysX wrapper
Render, стараюсь :-) Буду дописывать тот пост где написал обнаруженные ошибки по мере их обнаружения.
Огорчает отсутствие обучений (не описания команд а именно обучений) на русском языке. Я по мере изучения враппера мог бы написать парочку :) |
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. Класная штука, я долго наслаждался. Там шляпа на анимированой голове, короче смотрите сами. Также прикольный пример Бубле З.Ы. Примеры, только в исходниках. |
Re: PhysX wrapper
Хочу также поправить Доку, принимаю предложения по оформлению. Просто сейчас не нравится тем что, нету возможности поиска. Думаю определёные групы команд вынести на один листик, а там уже поиск по страничке рулит. Также думаю рускую версию закончить, но самому времени писать нету.
И ещё замечание по СБ, чем меньше вершин в Физ моделе, тем быстрее работает. Количество тетрагонов почти не влияет. Жду отзывов и сообщений о глюках, если таковы будут. |
Часовой пояс GMT +4, время: 01:30. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot