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

ФИЗИКА : Центр массы

СообщениеДобавлено: 22 мар 2009, 14:39
rus
Предлагаю вынести в отдельную ветку вопросы по PhysX в Unity

и по ходу дела сразу вопросы:
знает ли кто как установить положение центра масс в меше?
есть ли в редакторе возможность объединить несколько физ. мешей в один с перерасчетом положения ценра масс?

если есть ссылкки на туториалы по физике в юнити, - плз...

Re: ФИЗИКА

СообщениеДобавлено: 22 мар 2009, 15:56
gnoblin
Составлять тела из примитивов можно точно, а насчет центра масс хз... Пивот который ты устанавливаешь в максе не берется как центр масс?
А что конкретно ты хочешь сделать?

Re: ФИЗИКА

СообщениеДобавлено: 22 мар 2009, 19:17
Neodrop
Пивот и есть центр массы. Если коллидеров много, их общий пивот и есть центр массы. Нет смысла выделять физику в отдельную ветку - там проще чем кубики складывать.

Re: ФИЗИКА : Центр массы

СообщениеДобавлено: 23 мар 2009, 19:27
rus
ну вот вспомним блиц или ксорс и вропер Рендера там была функция что-то типа:
pxBodySetCMassLocalPosition (body,CenterMass.x,CenterMass.y,CenterMass.z")
и пивот тут как бы совсем ни причем...
Собственно это фишка физикса, как я понимаю, потому должна быть и в редакторе юнити. по крайней мере просится ;)
если я задаю массу меша-физ. боди, то логично сразу задать и место центра масс, имхо.

Re: ФИЗИКА : Центр массы

СообщениеДобавлено: 23 мар 2009, 21:29
Neodrop
Ну поэксперементируй. Ты менял положение центра в настройках физического примитива? Что то изменилось? Если не менял, то чего ждешь? :-?

Re: ФИЗИКА : Центр массы

СообщениеДобавлено: 31 мар 2009, 04:32
Const_47
Взято из Хелпа

file:///C:/Program%20Files/Unity/Editor/Data/Documentation/Documentation/ScriptReference/Rigidbody-centerOfMass.html

rigidbody.centerOfMass = Vector3 (0, -2, 0);

Мне помогло

Re: ФИЗИКА : Центр массы

СообщениеДобавлено: 31 мар 2009, 06:47
Neodrop
Ну вот, как и говорили выше : " Если вы не указали центр массы самостоятельно, он будет высчитан из автоматически из всех, присоединённых, ригидбоди...".

Re: ФИЗИКА : Центр массы

СообщениеДобавлено: 31 мар 2009, 11:46
reskator
Const_47 писал(а):Взято из Хелпа

file:///C:/Program%20Files/Unity/Editor/Data/Documentation/Documentation/ScriptReference/Rigidbody-centerOfMass.html

rigidbody.centerOfMass = Vector3 (0, -2, 0);

Мне помогло

Значит возможность все-таки есть и это хорошо. Плохо что не для всех тел есть возможность указать ЦМ прямо в редакторе

Re: ФИЗИКА : Центр массы

СообщениеДобавлено: 31 мар 2009, 18:34
Const_47
Ну не все так плохо, понято что "настраивать" центр массы из вьюпорта не получится(вроде как?)

Но вот я успешно использую вот такой простенький код для визуального дебажа центра масс
Код: Выделить всё
var pivot : Vector3;

function FixedUpdate(){

rigidbody.centerOfMass = pivot;

}


function OnDrawGizmosSelected () {

Gizmos.color = Color.yellow;
Gizmos.DrawWireCube(transform.TransformPoint(pivot),Vector3(0.5,0.5,0.5));

}


Тогда и "настраивать" можно из Inspector -> Script -> Pivot ;)

Re: ФИЗИКА : Центр массы

СообщениеДобавлено: 31 мар 2009, 18:44
Neodrop
Эта возможность имеется для всех объектов, подверженных физическому воздействию. То есть, имеющих компонент RigidBody. Для чего тебе ещё нужно? :-??