Четверг, 28 Марта 2024, 12:59

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Спавн префаба и Animator
Спавн префаба и Animator
labinzevvДата: Пятница, 17 Июля 2020, 22:55 | Сообщение # 1
частый гость
Сейчас нет на сайте
Всем привет.
Такой вопрос:
В сцену спавнится объект из префаба через определённый промежуток времени, на него добавлен триггер, по которому активируется Animator и destroy объекта.(Если триггер задействовать до появления второго объекта, то все работает нормально). Спустя время, спавнится ещё объект из того-же префаба и вот тут возникает проблема: если задействовать триггер второго объекта, то активируется Animator на первом. Т.е. одновременно на первом и втором объекте Animator не срабатывает. Может кто нибудь подскажет в чем дело?


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
drcrackДата: Пятница, 17 Июля 2020, 23:25 | Сообщение # 2
старожил
Сейчас нет на сайте
ТС, зачем ты код описываешь словами, ты что, внебрачный правнук Толстого?
Просто выложи его


Сообщение отредактировал drcrack - Пятница, 17 Июля 2020, 23:26
labinzevvДата: Суббота, 18 Июля 2020, 07:58 | Сообщение # 3
частый гость
Сейчас нет на сайте
Цитата drcrack ()
ТС, зачем ты код описываешь словами, ты что, внебрачный правнук Толстого?
Просто выложи его


=)))
активация Animator:
Код
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SwithAnim : MonoBehaviour // запуск анимации мины
{

    void OnTriggerEnter(Collider other)
    {
        if (other.tag == "Untagged")
        {
                GameObject swith = GameObject.Find("bomb(Clone)"); // здесь GameObject swith (может быть любой объект) ищет объект bomb
                Animator animator = swith.GetComponent<Animator>(); // здесь находится нужный аниматор
                animator.enabled = true; // происходит включение аниматора
        }
    }
}


destroy:
Код

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class destroy : MonoBehaviour // для удаления бомбы и смерча из сцены
{
    public GameObject obj;
    public float timer = 2f;

    void Update()
    {
        Destroy(obj, timer);
    }
}


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
drcrackДата: Суббота, 18 Июля 2020, 09:10 | Сообщение # 4
старожил
Сейчас нет на сайте
Код
public class SwithAnim: MonoBehaviour
{

    void OnTriggerEnter(Collider other)
    {
        if (other.tag == "Untagged")
        {
                var animator = gameObject.GetComponent<Animator>();
                animator.enabled = true;
        }
    }
}


Либо

Код
public class SwithAnim: MonoBehaviour
{

    new public Animator animator; // ставишь в инспекторе префаба

    void OnTriggerEnter(Collider other)
    {
        if (other.tag == "Untagged")
        {
                animator.enabled = true;
        }
    }
}


А второй скрипт хз зачем нужен вообще. Удали его и просто вызови Destroy когда нужно из первого


Сообщение отредактировал drcrack - Суббота, 18 Июля 2020, 09:16
labinzevvДата: Суббота, 18 Июля 2020, 21:44 | Сообщение # 5
частый гость
Сейчас нет на сайте
Цитата drcrack ()
А второй скрипт хз зачем нужен вообще. Удали его и просто вызови Destroy когда нужно из первого

Спасибо за ответ! работает. По поводу destroy-тоже переделал.


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Спавн префаба и Animator
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг