Соединения, жесткость

Физика в Unity

Соединения, жесткость

Сообщение 4ufak 07 апр 2011, 19:04

Можно ли как-нибудь настроить Hidge Joint, чтобы тот поворачивался лишь при ударах, не болтаясь просто так? Что-то вроде выставления трения на максимальное значение? Экспериментально выяснил, что подобный эффект можно достичь, изменив параметр Force. Но - даже при значении 1e+07 - объект всё равно недостаточно крепко держится.

Или: какой параметр у Configurable Joint отвечает за подобное поведение? Я его так и не нашел. Странно, если такого вообще нет.

И еще: где можно повысить качество физики? Как-то все хреновенько выглядит. :-s
Аватара пользователя
4ufak
UNец
 
Сообщения: 39
Зарегистрирован: 23 мар 2011, 18:50
Откуда: Россия, Москва
  • ICQ

Re: Соединения, жесткость

Сообщение Paul Siberdt 07 апр 2011, 19:33

Все хреновенько выглядит - это или с монитором что-то или, не дай бог, со зрением.

А у констрейнов существуют лимиты, настраивая которые, можно обеспечить жесткость.
Если не помогает, можно навесить к хинджу второй констрейн, точечный. И убивать его, когда не нужен.

И все вопросы "качества" обнаруживаются в документации, в соответствующем разделе.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Соединения, жесткость

Сообщение 4ufak 07 апр 2011, 21:38

лимиты

Разве лимиты всего лишь не ограничивают крайние положения? В таком случае я, видимо, плохо выразил свою мысль. Необходимо нечто вроде имитации очень высокого трения в оси вращения одной детали относительно другой.
Аватара пользователя
4ufak
UNец
 
Сообщения: 39
Зарегистрирован: 23 мар 2011, 18:50
Откуда: Россия, Москва
  • ICQ

Re: Соединения, жесткость

Сообщение 4ufak 07 апр 2011, 21:58

Может, в Unity есть возможность так настроить объект, чтобы на него не влияла ни сила инерции, ни сила тяжести, чтобы всё, что он делал - перемещался в сторону, когда его двигают другие объекты?
Аватара пользователя
4ufak
UNец
 
Сообщения: 39
Зарегистрирован: 23 мар 2011, 18:50
Откуда: Россия, Москва
  • ICQ

Re: Соединения, жесткость

Сообщение 4ufak 08 апр 2011, 16:19

Видимо, придется писать свои связи
Аватара пользователя
4ufak
UNец
 
Сообщения: 39
Зарегистрирован: 23 мар 2011, 18:50
Откуда: Россия, Москва
  • ICQ

Re: Соединения, жесткость

Сообщение 4ufak 08 апр 2011, 16:21

P.S. Paul Siberdt: Вы, случайно, не использовали ли 3DGS? Помню, на русскоязычном форуме этого движка был некто с ником, очень похожим на Ваш).
Аватара пользователя
4ufak
UNец
 
Сообщения: 39
Зарегистрирован: 23 мар 2011, 18:50
Откуда: Россия, Москва
  • ICQ

Re: Соединения, жесткость

Сообщение Paul Siberdt 08 апр 2011, 16:50

Ы... приветствую, коллега... да, пару лет назад я сидел на Студии. А потом как-то того самого. ;;)

Насчет связей - хорошо жонглировать флагом IsKinematic, включая объекту физику лишь тогда, когда это необходимо. Конечно, надо иметь в виду, что кинетический объект может проникнуть туда, где не ступала нога объекта физического. :D
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Соединения, жесткость

Сообщение 4ufak 09 апр 2011, 19:42

IsKinematic

Спасибо, так вроде получше.

Экспериментально выяснил, как избежать дрожаний, того, про что я написал "хреновенько выглядит". Мне помогло повышение массы скрепляемых объектов.

Еще вопрос (надеюсь, пока я вам не надоел): можно ли как-нибудь... Короче, представьте себе такую сцену. Стоит тележка. На ней лежат два скрепленных пружинкой шарика. Тележка начинает разгоняться (быстро, очень быстро). Шарики должны оставаться неподвижными. Затем тележка проезжает под какой-нибудь низкой аркой. Шарики при ударе об арку приходят во взаимодействие (пружинка всё-таки).

Это, конечно, нереалистично - тележка разгоняется, а шарики не движутся. Но нужно сделать именно так. Причем, я даже не знаю, как это описать. Шарики должны покоиться относительно далеко не инерционной системы отсчета.

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

О! А если, снимая флаг, задавать шарикам скорость, обратную скорости тележки? Сейчас попробую.

Но всё-таки, может, можно как-то сделать это чуть более обычным путем?
Аватара пользователя
4ufak
UNец
 
Сообщения: 39
Зарегистрирован: 23 мар 2011, 18:50
Откуда: Россия, Москва
  • ICQ

Re: Соединения, жесткость

Сообщение waruiyume 10 апр 2011, 07:43

А если сделать шарики детьми тележки, и отцепить после удара ?
Смотрите пак:
У вас нет доступа для просмотра вложений в этом сообщении.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Соединения, жесткость

Сообщение 4ufak 10 апр 2011, 10:12

Спасибо, но это не совсем то, что нужно. В вашем примере вначале шарики - не только дети тележки, но и объекты без физики (isKinematic). И только поэтому с ними не начинает твориться всякая чертовщина. Мне же физику отключать крайне не хочется.

Если написать так, а при ударе статичную переменную prehit переводить в false - всё выглядит достаточно неплохо. И физику отключать не нужно.
Синтаксис:
Используется csharp
                if (!rigidbody.isKinematic && prehit){
                        transform.position += (main.velocity - rigidbody.velocity) * Time.fixedDeltaTime;
                        rigidbody.velocity = main.velocity;
                }


Но это как-то неправильно выглядит. Надо подумать :-? .
Аватара пользователя
4ufak
UNец
 
Сообщения: 39
Зарегистрирован: 23 мар 2011, 18:50
Откуда: Россия, Москва
  • ICQ

Re: Соединения, жесткость

Сообщение 4ufak 10 апр 2011, 10:27

Всё оказалось настолько просто... Нужно было лишь подумать головой: шарики с их физикой сделать дочерними не к физической тележке, а пустому (не физическому) объекту, который постоянно приравнивает свои координаты к координатам тележки.

Всем огромное спасибо за помощь :) .

P.S. Дикие у вас тут смайлики).
Аватара пользователя
4ufak
UNец
 
Сообщения: 39
Зарегистрирован: 23 мар 2011, 18:50
Откуда: Россия, Москва
  • ICQ


Вернуться в PhysX

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2