Взаимодействие двух BoxCollider-ов

Физика в Unity

Взаимодействие двух BoxCollider-ов

Сообщение afrokick 02 ноя 2011, 02:51

Есть стена(вертикальная, включающая BoxCollier) и персонаж(включающий BoxCollider)/
Стена слева, персонаж справа...

При попытке прыгнуть на стену он залипает,т.е. на него перестает действовать сила гравитации(при нажатии кнопки влево..). Как только отжимаю кнопку он начинает падать под дествием силы..

Я уже и в настройках Input смотрел, и в Physics...вроде ничего не нашел.. Я так понимаю тут о трении идеи речь, но мне нужно чтобы он сползал вниз по этой стене, если он в вохдухе.. В чем проблема?
Аватара пользователя
afrokick
UNIт
 
Сообщения: 83
Зарегистрирован: 05 дек 2010, 23:36
Skype: alexandersosnovskiy
  • Сайт

Re: Взаимодействие двух BoxCollider-ов

Сообщение gnoblin 02 ноя 2011, 03:03

каким кодом он прыгает?

для перса можно попробовать CharacterController

настройки трения - в физическом материале на коллайдерах
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Взаимодействие двух BoxCollider-ов

Сообщение afrokick 02 ноя 2011, 19:50

Синтаксис:
Используется csharp
Vector3 oldPos = playerEmpty.position;
                        #region Collision for jump
                        b_isJumping = true;
                        Vector3 leftRayPos = oldPos;
                        leftRayPos.x -= DistanceRayCenter;
                        Vector3 rightRayPos = oldPos;
                        rightRayPos.x += DistanceRayCenter;
                        Vector3 centerRayPos = oldPos;
                        rayLeft = new Ray(leftRayPos,Vector3.down);
                        rayRight = new Ray(rightRayPos,Vector3.down);
                        rayCenter = new Ray(centerRayPos,Vector3.down);
                        RaycastHit leftHit,centerHit,rightHit;
               
                        if(Physics.Raycast(rayLeft,out leftHit,LenghtRayJump))
                                b_isJumping = false;
                        if(Physics.Raycast(rayCenter,out centerHit,LenghtRayJump))
                                b_isJumping = false;
                        if(Physics.Raycast(rayRight,out rightHit,LenghtRayJump))
                                b_isJumping = false;
                        #endregion

//Jump
if (Input.GetButton("Vertical") && !b_isJumping && Input.GetAxis("Vertical")>0 ){
                 b_isJumping = true;
                 playerEmpty.rigidbody.velocity = new Vector3(playerEmpty.rigidbody.velocity.x,-Physics.gravity.y*0.6f, 0);
}
 

применил материал - действует только если я хожу по блоку..

.png


елси клавишу right отпускаю - он удачно падает вниз.. Т.е. или трение,или че.. я не могу разобраться.

а если физ. материал не стоит на боксах, из-за этого могут быть проблемы?
Поствил айс - горизонтальное перемещение норм.. а когда делаю как на картинках - залипает..
У вас нет доступа для просмотра вложений в этом сообщении.
Аватара пользователя
afrokick
UNIт
 
Сообщения: 83
Зарегистрирован: 05 дек 2010, 23:36
Skype: alexandersosnovskiy
  • Сайт

Re: Взаимодействие двух BoxCollider-ов

Сообщение gnoblin 02 ноя 2011, 20:07

Я бы попробовал двигать объект через AddForce()
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Взаимодействие двух BoxCollider-ов

Сообщение afrokick 02 ноя 2011, 20:50

тот же результат.

вот игра - http://devby.ru/unity3d/game/ - запустите 1 или 2 уровень и попробуйте подпрыгнуть(Up,W) и прислониться к стенке..
Аватара пользователя
afrokick
UNIт
 
Сообщения: 83
Зарегистрирован: 05 дек 2010, 23:36
Skype: alexandersosnovskiy
  • Сайт

Re: Взаимодействие двух BoxCollider-ов

Сообщение burlak 02 ноя 2011, 21:21

Да, Гноблин прав! Лучше двигать силой + проверь свойства материала - может быть сила трения больше силы тяжести. При мноновенном измнении скорости (как у тебя) думаю что сила трения близка к бесконечности, оттого и не падает.

BTW, кубики хреново проваливаются в узкие щели.
С уважением, Дмитрий Бурлаков.
skype: dmitry.burlakov
email: _dmitry.burlakov@gmail.com
Аватара пользователя
burlak
UNITрон
 
Сообщения: 326
Зарегистрирован: 28 янв 2010, 10:21
Откуда: Санкт-Петербург


Вернуться в PhysX

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

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