Страница 1 из 2

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

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

Синтаксис:
Используется 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]

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

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

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

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


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

Синтаксис:
Используется csharp
 // МОЖЕТ СЮДА ЧТО-ТО НАДО? Типа obj. и тд                        anim.SetBool("dopen", true);

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

СообщениеДобавлено: 03 апр 2018, 15:26
Tolking
Анимация должна быть двери, а не триггера.

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

СообщениеДобавлено: 03 апр 2018, 15:47
Tardpipl
Tolking писал(а):Анимация должна быть двери, а не триггера.


Но скрипт не получает тогда компонент аниматора.

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

СообщениеДобавлено: 03 апр 2018, 15:52
1max1
А через инспектор установить уже не модно?

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

СообщениеДобавлено: 03 апр 2018, 19:15
Tardpipl
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);
                 }

     }
}

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

СообщениеДобавлено: 03 апр 2018, 19:40
Tolking
Перенести скрипт на дверь и в инспекторе выбрать аниматор двери это разные вещи...

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

СообщениеДобавлено: 03 апр 2018, 19:48
1max1
У тебя дверь является триггером, по твоей логике дверь должна сама в себя зайти чтобы воспроизвести анимацию.

Вот это вот на триггер кидаешь и в инспекторе переносишь из иерархии объект с дверью в поле с аниматором(в скрипте 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);
        }
    }
}

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

СообщениеДобавлено: 03 апр 2018, 20:28
Tolking
И что же должно войти в коллайдер чтобы дверь закрылась?

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

СообщениеДобавлено: 03 апр 2018, 20:52
1max1
хороший вопрос)) видимо всё что угодно кроме игрока))

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

СообщениеДобавлено: 03 апр 2018, 21:32
Tardpipl
Tolking писал(а):И что же должно войти в коллайдер чтобы дверь закрылась?


Даг че вы тролите :D Вот же. Игрок
Синтаксис:
Используется csharp
 if (_obj.gameObject.name == "Player")

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

СообщениеДобавлено: 03 апр 2018, 21:49
1max1
ну я посмотрю как ты дверь закроешь))

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

СообщениеДобавлено: 03 апр 2018, 21:59
Tardpipl
1max1 писал(а):ну я посмотрю как ты дверь закроешь))


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

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

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

СообщениеДобавлено: 03 апр 2018, 22:29
Tardpipl
Tardpipl писал(а):
1max1 писал(а):ну я посмотрю как ты дверь закроешь))


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

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

Господа. Ваши мемесы слишком хардовые. Может скажете в чем трабл?