Показать сообщение отдельно
Старый 05.06.2012, 11:05   #1
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений
(для 1,012 пользователей)
Проблемы с CharacterController

Я заметил что CharacterController странно реагирует на соллизию: OnCollision***** не всегда вызывается,только на быстрые тела, как исправить?
Например:
void OnCollisionEnter(Collision coll)
    {
        if(coll.gameObject.tag=="milk1"&& cocoLiv>0)
            cocoLiv-=2;
        if(coll.gameObject.tag=="Milk" && cocoLiv>0)
            {
                cocoLiv-=5;
                if(cocoLiv<=0){
                    inanus=true;
                    mode=0;
                    GameObject b=Instantiate(Milk,pivotForMilk.transform.position,pivotForMilk.transform.rotation) as GameObject;
                        b.transform.parent=pivotForMilk.transform;
                        b.collider.enabled=false;
                        b.rigidbody.isKinematic=true;
                    }
            }
        Debug.Log(coll.gameObject.tag);
        for(int i=0;i<coll.contacts.Length;i++){
                
            Debug.DrawLine(this.transform.position,coll.contacts[i].point,Color.red);    
        }
    }
Отзывается только на milk1 и Milk, на другие колайдеры никак,причем это работает,если помимо своего коллайдера(созданного компонентом), второй повешать
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием