forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=28)
-   -   PhisX зло... (http://forum.boolean.name/showthread.php?t=7493)

Shirase 24.12.2008 07:52

PhisX зло...
 
Здравствуйте. У меня такой забавный случай произошол что я плюнул на все физ двиги сразу. Вот набравшись смелости хочу поспрашивать что же тогда произошло.
А история такая:
Создаём с товарищем игру. Он моделит, а я пока пописываю двигло проэкта. Всё грамотно сделал. Осталось дело за малым: MapEditor так вот ленится я люблю и говорю: "давай просто через имена моделей данные передовать о физ. свойствах обьектов" тобеж 3dsMax стал нашим мапэдитором. Сруктура была придумана и все данные об обьектах на карте тоже. Делаем простой уровень. Грузим в блиц как аним-меш пробегаемся циклом по чилдам делаем по ним физ тела(размеры meshwidth(), meshheight(), meshdepth() ) cтавил их по местам. Но тут подарок! Модели соскалированые в 3DSMAX выдают физ движку свои нескалированые формы! Что за хрень? Зачем данные о скалировании хранятся в модели? Немного подумав провёл эксперимент: Саскалилил куб в 3д максе и сделал булеан посередине после загрузил как просто меш и сбилдил по нему тримеш - всё хорошо работает. Так вот уровень сделаный в 3dsmax я разрезал на чилды и делал для них физичные примитивы а не лагучие тримеши! Начал делать тримеши и в результате таже фигня... Такое ощущение что это происходит при загрузке аним меша :wallbash: :wallbash: :wallbash:
А если загрузить весь уровень как единый тримеш(пипец для большого левела) да ещё и не статик то всё ок, но это же не способ! Вопрос такой как правильно раздирать аниммеш на чайлды для генерации по ним физ тел в PhysX или Newton. Спасибо за внимание.

newman 24.12.2008 08:20

Ответ: PhisX зло...
 
Надеюсь я правильно тебя понял :) У меня была такая ерунда. В 3ds maxe нажми на кнопку(как называется забыл, что связано с Aspect) и там нажми чтоб всё встало по центру(Aspect Center), и ниже нажми "Transformation"(ну или что-то похожее) чтоб всё встало на свои места. После этого у меня физ.объекты стали правильно генерироваться :)

ABTOMAT 24.12.2008 16:03

Ответ: PhisX зло...
 
ResetXForm

пора бы уже и знать это

tormoz 24.12.2008 19:13

Ответ: PhisX зло...
 
+ тщательно все отцентрировать в максе и правильно позиционировать в движке.

у меня такая система прекрасно работает
даже для составных тел с джоинтами

FDsagizi 25.12.2008 10:38

Ответ: PhisX зло...
 
> PhisX зло...

Руки кривые зло, а физикс как инструмент имеет свои недостатки...

Tadeus 25.12.2008 11:04

Ответ: PhisX зло...
 
К тому же, правильно пишется PhysX :)

Shirase 30.12.2008 09:30

Ответ: PhisX зло...
 
Спасибо newman, ABTOMAT и tormoz, вы очень помогли.

FDsagizi, я с PhysX всего месяц знаком... Он мне пока не родной. Вот Newton да... Но он к сожалению слишком медленный

Tadeus, ну это эмм... По кнопке наверно не попал)))

shybovycha 22.01.2009 00:54

Ответ: PhisX зло...
 
Ширасе ни за что б так не сказал про один из 2 лучших в мире физ. двигов (ибо он за любую новинку-на-халяву готов был выполнить работу)!
PhysX - самое быстрое, что только можно придумать! Ты только не говори, что используешь трианглмеши для моделей! Еся поставишь трианглмеш для карты, а на персов натянешь чарактер контроллеры, то все будет в ажуре!

HolyDel 22.01.2009 01:19

Ответ: PhisX зло...
 
shybovycha, тут имеется ввиду врапер физикс, а не он сам.

ABTOMAT 22.01.2009 01:21

Ответ: PhisX зло...
 
В данной проблеме виноват вовсе не враппер.
Если непосредственно в dll передавать тот же массив вершин то будет то же самое, т.к. модель была неправильно трансформирована в максе и как следствие координаты вершин неверные (надо будет мне в Туторе как-нить это выделить большим жирным и красным, ибо написал, а народ всё ещё спрашивает).

HolyDel 22.01.2009 01:29

Ответ: PhisX зло...
 
ну, на самом деле тут медаль о двух сторонах, с одной стороны не помешала бы ф-ия, которой передаеш хендл ентити а она по нему строит физ. тримеш (или хулл, по запросу автора).
матрица трансформации легко выдирается по хендлу, с некотторым смещением, меш тоже, вершины и индексы тоже.
С другой, если врапер не под блитц3д, а вообще, то использовать блицевские структуры буде неправильно, да и заморачиваться автору либы наверное не хочется. с него еще хорс.

ABTOMAT 22.01.2009 02:02

Ответ: PhisX зло...
 
Цитата:

Сообщение от HolyDel (Сообщение 95507)
ну, на самом деле тут медаль о двух сторонах, с одной стороны не помешала бы ф-ия, которой передаеш хендл ентити а она по нему строит физ. тримеш (или хулл, по запросу автора).
матрица трансформации легко выдирается по хендлу, с некотторым смещением, меш тоже, вершины и индексы тоже.
С другой, если врапер не под блитц3д, а вообще, то использовать блицевские структуры буде неправильно, да и заморачиваться автору либы наверное не хочется. с него еще хорс.

Я думаю, можно сделать самому (или выпустит афтор, но у него, как и у всех, учёба, так что не стоит надеяться) отдельную либу. Вообще есть Blitz3D+, но там для такого: а) много всего лишнего б)матрицу трансформации всё равно придётся считать самому или писать либу, так что такая помощь сомнительна.

А то что враппер - не конкретно под Блитз3Д, а подходит абсолютно для всего (в чём я имел удовольствие лично убедиться и описал в статье), то это, несомненно, его огромнейший плюс и терять его ни в коем случае нельзя. Жаль что я не могунаписать такую мини длл которая рассчитывает матрицы трансформации из ентити на вершины - матриц не знаю и интегралов... Но это наверное был бы лучший выход.

FDsagizi 22.01.2009 15:18

Ответ: PhisX зло...
 
Цитата:

Сообщение от shybovycha (Сообщение 95501)
Ширасе ни за что б так не сказал про один из 2 лучших в мире физ. двигов (ибо он за любую новинку-на-халяву готов был выполнить работу)!
PhysX - самое быстрое, что только можно придумать! Ты только не говори, что используешь трианглмеши для моделей! Еся поставишь трианглмеш для карты, а на персов натянешь чарактер контроллеры, то все будет в ажуре!

Раньше юзал Врапер, чейчас чистый СДК,и скажу что - видел движки и по лутьше :)

Хотя мафия 2 на физиксе, и по видео очень, ОЧЕНЬ даже хороша!
Посмотрим.

А вообще чтобы физикс довал то что нужно- нужно поработь=)

Render 09.02.2009 20:51

Ответ: PhisX зло...
 
FDsagizi, и что же это за движки такие, если не секрет? ))

ABTOMAT 09.02.2009 22:38

Ответ: PhisX зло...
 
Цитата:

Сообщение от Render (Сообщение 97478)
FDsagizi, и что же это за движки такие, если не секрет? ))

Да он просто понтуется)

Учитывая относительно недавние машинки, я думаю что афтор ввиду того что не смог реализовать хорошую физику на физиксе, на него бычит)

avel 09.02.2009 23:00

Ответ: PhisX зло...
 
ура! хоть кто-то признал, что PhysX зло! =):compl:

moka 10.02.2009 20:56

Ответ: PhisX зло...
 
Язык - ваш враг. Если кривые руки, и не имеете способности постигнуть нечто иное не сравнивая с другим, чтобы понять все приемущества - то уж простите, но начинают очень надоедать такие заголовки тем!
avel, чем уже тебе PhysX не угодил?
Это обида над своей слабостью?

GinXXX 11.02.2009 06:36

Ответ: PhisX зло...
 
MoKa ты прав!!

Gector 18.12.2009 14:08

Ответ: PhisX зло...
 
Возникла проблема с статическим левелом. Выдрал из примера функцию создания тримеша. В движке работает так. Копируется чилд на котором нет текстур и ничего вообще нет. Затем применяется функция создания тримеша. Создаю куб для теста. Куб летит и пролетает через уровень. Что интересно он сталкивается только если создать плейн. Дальше-больше. Создаю в максе плейн для физического меша...
Гружу с помощью loadmesh и создаю тримеш(тоесть все как в семплах). Не работает!!!.....:wallbash::wallbash::wallbash::bad :

ARA 18.12.2009 16:16

Ответ: PhisX зло...
 
Цитата:

Сообщение от ABTOMAT (Сообщение 97503)
Да он просто понтуется)

Если не ошибаюсь, в Астана рейсер юзали Bullet а не PhysX

H@NON 18.12.2009 17:11

Ответ: PhisX зло...
 
Цитата:

Сообщение от Gector (Сообщение 130041)
Возникла проблема с статическим левелом. Выдрал из примера функцию создания тримеша. В движке работает так. Копируется чилд на котором нет текстур и ничего вообще нет. Затем применяется функция создания тримеша. Создаю куб для теста. Куб летит и пролетает через уровень. Что интересно он сталкивается только если создать плейн. Дальше-больше. Создаю в максе плейн для физического меша...
Гружу с помощью loadmesh и создаю тримеш(тоесть все как в семплах). Не работает!!!.....:wallbash::wallbash::wallbash::bad :

Столкновение тримеша с тримешем не обрабатывается на сколько я знаю, поэтому для куба создавай примитив, а уровень держи тримешем.

Gector 18.12.2009 17:16

Ответ: PhisX зло...
 
Куб и так примитивный. В том то и дело...

H@NON 18.12.2009 17:32

Ответ: PhisX зло...
 
значит намудрил с кодом, либо куб летит со слишком большой скоростью ) Проверяй с примерами.

Gector 18.12.2009 23:39

Ответ: PhisX зло...
 
Ты оказался прав. Только исправить это можно переписав большую часть движка(Уж таково его устройство)...((((

Nex 19.12.2009 14:39

Ответ: PhisX зло...
 
Gector, поэтому надо заранее продумывать весь движок. :)

EvilChaotic 19.12.2009 15:19

Ответ: PhisX зло...
 
Цитата:

Сообщение от Gector (Сообщение 130111)
Ты оказался прав. Только исправить это можно переписав большую часть движка(Уж таково его устройство)...((((

  • 2 тримеша не обсчитывают между собой столкновения. Используй функцию генерации из обычного меша физический боди (выпуклый) для объектов. А для мапы тримеш.

    Для ксорса:
    Код:

    Function
    CreatePxMesh(mesh%,mass#=10.0)
            hVB = xGetMeshVB(mesh%):hVB_size = xGetMeshVBSize(mesh%)
            PxBody=pxBodyCreateHull(hVB, hVB_size,mass)
            Return PxBody
    End Function

    А для блитца она выглядит оп иному... Поройся в учебнике физикса от АВТОМАТА
  • На уровень не забудь ставить массу 0
  • И самое главное совет на будущее, физический боди должен состоять из минимального кол-во полигонов.

Gector 19.12.2009 17:13

Ответ: PhisX зло...
 
SkyDream: Просто когда я писал движок я и не думал о фиизиксе. По большому счету это уже третья перепись движка. Первый- тупой, второй - немного умнее. Треий будет уже с нормальным ии физикой и собственно игровым процессом... Если не передумаю...)))

Randomize 22.12.2009 19:30

Ответ: PhisX зло...
 
Пост был сделан 24.12.2008, 06:52 и чего вы все на это PhysX налетели? (хотя на него я первый налетел, но всёже)
PhysX хорошо, прогресс хоршо, магия говно. Всё.

ЗЫ Тримеши и хуллы вобще не нужны.


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

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