Страница 1 из 1

Конвеер с AddTorque и Rigidbody

СообщениеДобавлено: 10 дек 2012, 08:10
lykov
Привет форумчане, прошу сильно не пинать, недавно начал работать с юнити, читал разные статьи, мануалы и столкнулся с такой проблемой.

Загружаю сцену через fbx, на ней 30 цилиндров (своего рода производственная линия), задаю им программно вращение Rotate(0,0,speed) и добавил MeshCollider с материалом Metal, Rigidbody с параметром Kinematic и весом 1000 кг. Над первыми 3-мя цилиндрами создаю балку - Box с Rigidbody (с параметром Use Gravity, mass = 100, Drag = 0.01), BoxCollider c материалом Metal и вот какая проблема, если speed больше 2, то балка перестает катиться по цилиндрам и останавливается, в чем подвох?

Re: Вопрос по физике

СообщениеДобавлено: 10 дек 2012, 08:23
waruiyume
Стробоскопический эффект(так сказать :D).

Re: Вопрос по физике

СообщениеДобавлено: 10 дек 2012, 08:30
IDoNotExist
Вместо Rotate можно попробовать использовать rigidbody.AddTorque(), а вообще не так нужно конвейер делать.

Re: Вопрос по физике

СообщениеДобавлено: 10 дек 2012, 09:27
lykov
AddTorque попробую, подскажите пожалуйста еще как правильно вычислить точку соприкосновения через gameObject.renderer.bounds, gameObject.rigidbody.renderer.bounds или есть решение эффективнее? И еще момент, если задаю AddTorque у меня проваливаются цилиндры, после отключения режима Kinematic, может у кого был опыт с подобного рода задачей?

Re: Вопрос по физике

СообщениеДобавлено: 13 дек 2012, 11:22
lykov
Может кому пригодится:

currentSpeed = GetSpeed(tempSpeed);
transform.Rotate(0,0, currentSpeed, Space.Self);
rigidbody.AddTorque(0,0, currentSpeed, ForceMode.Impulse);