Вызов анимации другого объекта

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

Вызов анимации другого объекта

Сообщение GULL 20 фев 2018, 01:36

Привет.Подскажите пожалуйста. У меня когда персонаж пересекает объект(триггер), нужно чтобы другой объект делал поворот на 90 градусов. Я пытаюсь это сделать через анимации. Но не знаю как теперь в скрипте вызвать эту анимацию, ведь она весит на другом объекте.Помогите ~x( ~x(
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ObRot : MonoBehaviour
{
    private GameObject Rote;

    private Animator anim;
    }

    private void Awake()
    {
        anim = GetComponent<Animator>();
        Rote = GameObject.FindGameObjectWithTag("BlRot");
    }

    private void OnTriggerEnter2D(Collider2D collider)
    {
        Character unit = collider.GetComponent<Character>();

        if (unit is Character)
        {
           //Тут должен быть вызов анимации
        }
    }
}
 


И заодно тогда второй вопрос. Не вижу смысла в компоненте Animation, если есть Animator. Точнее не до конца понимаю их разницу.Можете объяснить?
GULL
UNец
 
Сообщения: 4
Зарегистрирован: 19 фев 2018, 02:32

Re: Вызов анимации другого объекта

Сообщение BFZ 20 фев 2018, 06:23

не понятно у кого именно должна быть вызвана анимация.
если у объекта которому принадлежит collider, то например так:
Синтаксис:
Используется csharp
        if (unit is Character)
        {
           //Тут должен быть вызов анимации
           Animator animObj = unit.GetComponent<Animator>();
           animObj.SetTrigger("startMyAnim");
        }
BFZ
UNITрон
 
Сообщения: 252
Зарегистрирован: 28 июн 2017, 02:16

Re: Вызов анимации другого объекта

Сообщение GULL 20 фев 2018, 09:51

нет, анимация должна быть вызвана вообще у другого объекта. Ни у того что я пересекаю, ни у персонажа. Вообще у другого.
GULL
UNец
 
Сообщения: 4
Зарегистрирован: 19 фев 2018, 02:32

Re: Вызов анимации другого объекта

Сообщение samana 20 фев 2018, 11:03

GULL писал(а):анимация должна быть вызвана вообще у другого объекта.

У вас есть ссылка на этот объект? Это объект Rote? В чём тогда проблема, обращайтесь к аниматору объекта Rote и запускайте анимацию.
Синтаксис:
Используется csharp
Rote.GetComponent<Animator>()....
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск


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

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

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