Войти
ПрограммированиеФорумФизика

physx - разные вопросы (4 стр)

Страницы: 1 2 3 4
#45
22:20, 31 мая 2010

Нифига.

Check("Если..............");  не срабатывает.

kolobokspb, а вы(ты) уже делали ContactReport ?
Может дадите исходники, и я уж как нибудь разберусь.

А то любительская работа стоит


#46
10:40, 1 июня 2010

smt005

а ты такую шляпу при инициализации физики напиши:
mScene->setActorGroupPairFlags(0,0,NX_NOTIFY_ON_START_TOUCH|NX_NOTIFY_ON_TOUCH|NX_NOTIFY_ON_END_TOUCH);

#47
23:48, 1 июня 2010

Ах шайтанама Физикс, не работает.

В Дебаг режиме теперь определяются точки соприкосновений всех объектов со всеми объекта, но ContactReport всё равно не срабатывает.
Check("Если..............");  не срабатывает.

#48
18:14, 2 июня 2010

господи... помоги ему.

1) ты контакт репорт добавил?
mScene->setUserContactReport ( this ) ;
2)это написал?
mScene->setActorGroupPairFlags(0,0,NX_NOTIFY_ON_START_TOUCH|NX_NOTIFY_ON_TOUCH|NX_NOTIFY_ON_END_TOUCH);
3)смотри пример в физсдк -
SampleOneWayInteractions

у меня всё работает.

#49
21:40, 2 июня 2010

Спасибо за помощь, заработало!
Не написал mScene->setUserContactReport ( this ) ;

#50
23:18, 2 июня 2010

Мда, понятно как определить точку контакта, вектор и т.д.

А как определить силу удара?!

#51
10:46, 3 июня 2010

а тут, какие проблемы?

while( i.goNextPair ( ) )
{
   //прохожусь по всем плоскостям между шейпами
   while(i.goNextPatch ( ) )
   {
      const NxVec3& contactNormal = i.getPatchNormal();
      NxReal Force = 0.0f ;
    
      //прохожусь по всем точкам лежащим в одной плоскости и считаю силу - скаляр
      while ( i.goNextPoint ( ) )
      {
         Force += NxVec3 ( ( i.getShapeFlags ( ) & NX_SF_POINT_CONTACT_FORCE )  ? contactNormal * i.getPointNormalForce ( ) : NxVec3 ( 0.0f , 0.0f , 0.0f ) ).magnitude ( ) ;
      } 
   }
}

правда тут есть пару подвохов...
1)один из них, что в шейпах у актёра должны стоять NX_SF_POINT_CONTACT_FORCE
2)не забыть написать до захода во все эти вайлы:
if( pair.isDeletedActor [ 0 ] || pair.isDeletedActor [ 1 ] )
      return ;
3) и еще, но это потом... )

#52
21:53, 3 июня 2010

Спассибо, выручил.

#53
11:06, 4 июня 2010

Забыл сказать важную и полезную штуку!

Дело всё в том, что  события NX_NOTIFY_ON_START_TOUCH|NX_NOTIFY_ON_TOUCH|NX_NOTIFY_ON_END_TOUCH мы получаем для АКТЁРОВ, а не ШЕЙПОВ. поэтому я не советую рассматривать шейпы ( если совсем не припёрло ). А  силы между актёрами вытаскивать из NxContactPair& pair.

#54
20:58, 10 сен. 2010

Разные, так разные.
SDK 2.8.3
Создаю сцену с сферой.
Придаю сфере угловую скорость и через некоторое время она останавливается.
За счет чего такой эффект?

sphereDesc.radius = 1.0;
bodyDesc.mass = 1.0;

упс:

bodyDesc.angularDamping= 0.0;

Нафига он по умолчанию не равен 0.0? :(
Решено.

Страницы: 1 2 3 4
ПрограммированиеФорумФизика

Тема в архиве.