Trigger и Анимация определенного объекта. 2D

Программирование на Юнити.

Trigger и Анимация определенного объекта. 2D

Сообщение Tardpipl 03 апр 2018, 01:02

Доброй Ночи. Возник вопрос, который очень глупый и нелепый, но я в тупике. Есть игрок. Если он входит в триггер, то дверь (объект) должна открываться используя анимацию. Проблема в чем.
Скрипт у меня весит на пустышке, то бишь на тригере, а дверь отдельный объект. Вопрос. Как подрубить сраную дверь. :-??
Спасибо.

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

public class DoorOpen : MonoBehaviour {

        // Use this for initialization
        public Animator anim;
        GameObject _obj; // КУДА СТАВИТЬ?

        void Start () {
                anim = GetComponent<Animator>();
        }
       
        // Update is called once per frame
        void Update () {
               
        }

        void OnTriggerEnter(Collider c){
         if(c.gameObject.name == "Player")
                        anim.SetBool("dopen", true); //МБ ЧТО-ТО ТУТ НАДО ПОДПИСАТЬ?
         else{
                        anim.SetBool("dopen", false); //МБ ЧТО-ТО ТУТ НАДО ПОДПИСАТЬ?
                 }

     }
}


https://imgur.com/a/2pq2R ---------------- триггер
https://imgur.com/a/6Xt7g ----------------- дверь


P.S. Извините за нереально тупои вопрос [curved_hands]
Tardpipl
UNец
 
Сообщения: 32
Зарегистрирован: 31 мар 2018, 22:02

Re: Trigger и Анимация определенного объекта. 2D

Сообщение Valerich 03 апр 2018, 10:16

у вас же 2D по скринам же )
OnTriggerEnter2D, OnCollisionEnter2D и так далее...(как бы должно быть)
Скрытый текст:
Если за сегодня никто тебе не напишет ничего, я в личку скину скрипт(он отключается сам, через короутину, и срабатывает на один раз, там надо 1 скрипт на все 4 расположения дверей, и к ним 2 анимации, можно и 4-е конечно, у вас же вид сверху в игре по прошлому названию вашей темы как бы) :D Короче разберетесь думаю)
Аватара пользователя
Valerich
UNITрон
 
Сообщения: 328
Зарегистрирован: 07 сен 2016, 11:24

Re: Trigger и Анимация определенного объекта. 2D

Сообщение Tardpipl 03 апр 2018, 15:18

Valerich писал(а):у вас же 2D по скринам же )
OnTriggerEnter2D, OnCollisionEnter2D и так далее...(как бы должно быть)
Скрытый текст:
Если за сегодня никто тебе не напишет ничего, я в личку скину скрипт(он отключается сам, через короутину, и срабатывает на один раз, там надо 1 скрипт на все 4 расположения дверей, и к ним 2 анимации, можно и 4-е конечно, у вас же вид сверху в игре по прошлому названию вашей темы как бы) :D Короче разберетесь думаю)


Я в скрипте изменил 2D, но это ничего не дало. Как бы... нету взаимодействия от триггера к двери ( в анимации ) .

Синтаксис:
Используется csharp
 // МОЖЕТ СЮДА ЧТО-ТО НАДО? Типа obj. и тд                        anim.SetBool("dopen", true);
Tardpipl
UNец
 
Сообщения: 32
Зарегистрирован: 31 мар 2018, 22:02

Re: Trigger и Анимация определенного объекта. 2D

Сообщение Tolking 03 апр 2018, 15:26

Анимация должна быть двери, а не триггера.
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2715
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Trigger и Анимация определенного объекта. 2D

Сообщение Tardpipl 03 апр 2018, 15:47

Tolking писал(а):Анимация должна быть двери, а не триггера.


Но скрипт не получает тогда компонент аниматора.
Tardpipl
UNец
 
Сообщения: 32
Зарегистрирован: 31 мар 2018, 22:02

Re: Trigger и Анимация определенного объекта. 2D

Сообщение 1max1 03 апр 2018, 15:52

А через инспектор установить уже не модно?
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Trigger и Анимация определенного объекта. 2D

Сообщение Tardpipl 03 апр 2018, 19:15

1max1 писал(а):А через инспектор установить уже не модно?


Теперь все выглядит так, но ничего не работает.

https://imgur.com/a/aRzFn ----дверь
https://imgur.com/a/BB3G4 ---- триггер

КОД DoorOpen:

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

public class DoorOpen : MonoBehaviour {

        // Use this for initialization
        public Animator anim;
        public GameObject _obj;


        void Start () {
                anim = GetComponent<Animator>();
        }
       
        // Update is called once per frame
        void Update () {
               
        }

        void OnTriggerEnter2D(Collider2D _obj){
         if(_obj.gameObject.name == "Player")
                        anim.SetBool("dopen", true);
         else{
                        anim.SetBool("dopen", false);
                 }

     }
}
Tardpipl
UNец
 
Сообщения: 32
Зарегистрирован: 31 мар 2018, 22:02

Re: Trigger и Анимация определенного объекта. 2D

Сообщение Tolking 03 апр 2018, 19:40

Перенести скрипт на дверь и в инспекторе выбрать аниматор двери это разные вещи...
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2715
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Trigger и Анимация определенного объекта. 2D

Сообщение 1max1 03 апр 2018, 19:48

У тебя дверь является триггером, по твоей логике дверь должна сама в себя зайти чтобы воспроизвести анимацию.

Вот это вот на триггер кидаешь и в инспекторе переносишь из иерархии объект с дверью в поле с аниматором(в скрипте DoorOpen). На игроке должен быть rigidbody2d + коллайдер2д иначе не сработает триггер.
Синтаксис:
Используется csharp
using UnityEngine;

class DoorOpen : MonoBehaviour
{
    public Animator anim;

    void OnTriggerEnter2D(Collider2D _obj)
    {
        if (_obj.gameObject.name == "Player")
        {
            anim.SetBool("dopen", true);
        }
        else
        {
            anim.SetBool("dopen", false);
        }
    }
}
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Trigger и Анимация определенного объекта. 2D

Сообщение Tolking 03 апр 2018, 20:28

И что же должно войти в коллайдер чтобы дверь закрылась?
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2715
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Trigger и Анимация определенного объекта. 2D

Сообщение 1max1 03 апр 2018, 20:52

хороший вопрос)) видимо всё что угодно кроме игрока))
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Trigger и Анимация определенного объекта. 2D

Сообщение Tardpipl 03 апр 2018, 21:32

Tolking писал(а):И что же должно войти в коллайдер чтобы дверь закрылась?


Даг че вы тролите :D Вот же. Игрок
Синтаксис:
Используется csharp
 if (_obj.gameObject.name == "Player")
Tardpipl
UNец
 
Сообщения: 32
Зарегистрирован: 31 мар 2018, 22:02

Re: Trigger и Анимация определенного объекта. 2D

Сообщение 1max1 03 апр 2018, 21:49

ну я посмотрю как ты дверь закроешь))
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Trigger и Анимация определенного объекта. 2D

Сообщение Tardpipl 03 апр 2018, 21:59

1max1 писал(а):ну я посмотрю как ты дверь закроешь))


Шах и Мат, Анатолий.

Синтаксис:
Используется csharp
         void OnTriggerExit2D(Collider2D _obj){
         if(_obj.gameObject.name == "Player"){
                         anim.SetBool("dopen", false);
                 }     
     }
Tardpipl
UNец
 
Сообщения: 32
Зарегистрирован: 31 мар 2018, 22:02

Re: Trigger и Анимация определенного объекта. 2D

Сообщение Tardpipl 03 апр 2018, 22:29

Tardpipl писал(а):
1max1 писал(а):ну я посмотрю как ты дверь закроешь))


Шах и Мат, Анатолий.

Синтаксис:
Используется csharp
         void OnTriggerExit2D(Collider2D _obj){
         if(_obj.gameObject.name == "Player"){
                         anim.SetBool("dopen", false);
                 }     
     }

Господа. Ваши мемесы слишком хардовые. Может скажете в чем трабл?
Tardpipl
UNец
 
Сообщения: 32
Зарегистрирован: 31 мар 2018, 22:02

След.

Вернуться в Скрипты

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

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