Помогите понять в чём ошибка - не срабатывает триггер

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Помогите понять в чём ошибка - не срабатывает триггер

Сообщение JohnJ 08 фев 2013, 13:43

Прохожу урок с хабра http://habrahabr.ru/post/167509/
Дошёл до создания триггеров (и записи в консоль через Debug.Log)
У меня ничего не пишется при прохождении шара через "кнопку". Попробовал добавить функцию Start. Пишется два раза... почему? И почему не срабатывает триггер?

С автором не знаю как связаться, так как на хабре не зареген.
Версия Unity самая свежая, вчера скачал.

Моё изделие: http://yadi.sk/d/98_O5Njn2ScjD
JohnJ
UNец
 
Сообщения: 11
Зарегистрирован: 17 мар 2010, 21:32

Re: Помогите понять в чём ошибка - не срабатывает триггер

Сообщение JohnJ 08 фев 2013, 13:46

поправка: Start пишется единожды, просто не стиралось при запуске...
JohnJ
UNец
 
Сообщения: 11
Зарегистрирован: 17 мар 2010, 21:32

Re: Помогите понять в чём ошибка - не срабатывает триггер

Сообщение JohnJ 08 фев 2013, 16:13

Никто не знает, или я не в том разделе тему создал?
JohnJ
UNец
 
Сообщения: 11
Зарегистрирован: 17 мар 2010, 21:32

Re: Помогите понять в чём ошибка - не срабатывает триггер

Сообщение Medveckij 08 фев 2013, 16:18

JohnJ писал(а):Никто не знает, или я не в том разделе тему создал?



Вот это не срабатывает? А вы "is trigger" установили?

Синтаксис:
Используется csharp
using UnityEngine;

public class Button : MonoBehaviour {
    void OnTriggerEnter(Collider other)
    {
        Debug.Log("Hello");
    }

    void OnTriggerExit(Collider other)
    {
        Debug.Log("Habr!");
    }
}
Аватара пользователя
Medveckij
Адепт
 
Сообщения: 1014
Зарегистрирован: 10 ноя 2012, 15:44

Re: Помогите понять в чём ошибка - не срабатывает триггер

Сообщение Medveckij 08 фев 2013, 16:22

Все отлично работает. Тут нечему не работать :ymsmug:
Аватара пользователя
Medveckij
Адепт
 
Сообщения: 1014
Зарегистрирован: 10 ноя 2012, 15:44

Re: Помогите понять в чём ошибка - не срабатывает триггер

Сообщение JohnJ 08 фев 2013, 18:14

Medveckij писал(а):Все отлично работает. Тут нечему не работать :ymsmug:

У вас в консоле появляется сообщение? У меня только "Start"
Вот именно, что вроде как нечему. На том и застрял...

Medveckij писал(а):Вот это не срабатывает? А вы "is trigger" установили?

Да, именно это. Да, установил. Если "это переключатель" не установить, то шар будет врезаться в куб, а не проходить сквозь него.
JohnJ
UNец
 
Сообщения: 11
Зарегистрирован: 17 мар 2010, 21:32

Re: Помогите понять в чём ошибка - не срабатывает триггер

Сообщение seaman 08 фев 2013, 19:00

Button, на котором скрипт никуда не входит. Входят в него. Вешайте скрипт на тот объект, который двигается.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Помогите понять в чём ошибка - не срабатывает триггер

Сообщение JohnJ 08 фев 2013, 19:32

Попробовал. Не помогло. В уроке сказано, что именно на Button надо вешать, потому что ему потом и цвет меняем.
Вот что сказано в уроке:
Дублируем префаб Wall и переименовываем его в «Button». В инспекторе у коллайдера ставим галочку Is Trigger. Это развоплотит нашу кнопку и заставит другие объекты проходить сквозь неё. Создаём скрипт «Button» и вешаем на кнопку. У коллайдеров-триггеров есть события OnTriggerEnter и OnTriggerExit, которые вызываются всякий раз, когда что-то пересекает область триггера.
JohnJ
UNец
 
Сообщения: 11
Зарегистрирован: 17 мар 2010, 21:32

Re: Помогите понять в чём ошибка - не срабатывает триггер

Сообщение Medveckij 08 фев 2013, 20:26

Создайте новую сцену.

Этот скрипт на бокс. бокс - "is trigger"

Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class uuu : MonoBehaviour {


        void OnTriggerEnter(Collider other)
    {
        Debug.Log("Hello");
    }

    void OnTriggerExit(Collider other)
    {
        Debug.Log("Habr!");
    }
       
       
       
}
 



Этот скрипт на бокс номер 2. К боксу номер 2 цепляем CharacterController.

Синтаксис:
Используется csharp

using UnityEngine;
using System.Collections;

public class PlayerWalker : MonoBehaviour {
       
        public float speed = 6.0f;
        public float jumpSpeed = 8.0f;
        public float rotateSpeed;
        public float gravity = 20.0f;
       
        private Vector3 moveDirection = Vector3.zero;
       
       
       
        void Start()
        {
                if(rotateSpeed == 0) rotateSpeed = 160.0f;
        }
       
       
       
        void Update () {
               
                CharacterController controller = GetComponent<CharacterController>();
               
                if(controller.isGrounded) {
                       
                transform.Rotate(0, Input.GetAxis("Horizontal") * rotateSpeed * Time.deltaTime, 0);
               
                moveDirection = new Vector3(0, 0, Input.GetAxis("Vertical"));
                moveDirection = transform.TransformDirection(moveDirection);
                       
                moveDirection *= speed;
                       
                        if(Input.GetButton("Jump")) {
                                moveDirection.y = jumpSpeed;
                        }
       
                }
               
                moveDirection.y -= gravity * Time.deltaTime;
               
                controller.Move(moveDirection * Time.deltaTime);
       
        }
       
       

 
       
       
}

 



Запускаем. Проходим сквозь первый бокс - все работает.
Аватара пользователя
Medveckij
Адепт
 
Сообщения: 1014
Зарегистрирован: 10 ноя 2012, 15:44

Re: Помогите понять в чём ошибка - не срабатывает триггер

Сообщение Medveckij 08 фев 2013, 20:32

seaman писал(а):Button, на котором скрипт никуда не входит. Входят в него. Вешайте скрипт на тот объект, который двигается.


Как показала практика, не обязательно так.
Аватара пользователя
Medveckij
Адепт
 
Сообщения: 1014
Зарегистрирован: 10 ноя 2012, 15:44

Re: Помогите понять в чём ошибка - не срабатывает триггер

Сообщение JohnJ 08 фев 2013, 21:01

Medveckij, благодарю за помощь. Ошибка была в названии функций, я их с маленькой буквы писал...
JohnJ
UNец
 
Сообщения: 11
Зарегистрирован: 17 мар 2010, 21:32


Вернуться в Почемучка

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

Сейчас этот форум просматривают: Google [Bot] и гости: 35