Показать сообщение отдельно
Старый 22.03.2017, 07:17   #139
Андрей343_343
AnyKey`щик
 
Регистрация: 13.12.2015
Сообщений: 9
Написано 4 полезных сообщений
(для 7 пользователей)
Ответ: Условия не работают правильно. В чём может быть причина?

		
For t.Target02 = Each Target02
			If  btContactCheckBodies(phEnt\body,t\Body,0)=True   Then 
				If t\JointST=1 Then 
					btDeleteJoint(t\Joint):t\JointST=0
					btBodySetAngularSleepingThreshold(t\Body,1)
					btBodySetLinearSleepingThreshold(t\Body,1)
				EndIf 
				FreeEntity phEnt\mesh
				btDeleteBody phEnt\body
				PlayIron(t\Mesh)
				btBodyApplyImpulse(t\Body,0,3,0)
				Delete phEnt
				Return
			EndIf 
		Next
если проверять только через Буллет то даже на таком ростоянии нету попаданий, точнее они есть но условие не срабативает, но пуля рикошетит от цели. При изменении значений btContactCheckBodies (phEnt\body,t\Body,#) результат не меняется.

mode - метод проверки (0 - проверка производится быстрее при большом количестве тел. 1 - проверка производится быстрее при небольшом количестве тел, 2 - проверка по контейнеру ограничивающему тела).

проблема решится уменьшением начального импулься для пули, но его надо уменшить до такой степени что пуля привратится в гранату.

Что можете предложить!
(Offline)
 
Ответить с цитированием