Вторник, 20 Апреля 2021, 01:07

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: beril  
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Клипы Анимации
Клипы Анимации
RangerДата: Пятница, 09 Августа 2013, 12:45 | Сообщение # 1
почти ветеран
Сейчас нет на сайте
Добрый день

Количество клипов на объекте я получил
gameObject.animation.GetClipCount()

А вот как достать 2-й или 5й клип по порядку ума не приложу?
Все излазил.. везде при помощи имени

Спасибо


seamanДата: Пятница, 09 Августа 2013, 13:43 | Сообщение # 2
старожил
Сейчас нет на сайте
Создаете массив с именами всех анимаций. Достаете из него по индексу нужное имя анимации. По этому имени получаете саму анимацию.
RangerДата: Пятница, 09 Августа 2013, 15:25 | Сообщение # 3
почти ветеран
Сейчас нет на сайте
Можно так,
можно и так
Код
public string ReturnAniName(int num){
     int i=0;
      foreach(AnimationState state in animation)
       {
           if(i==num)    
            {
              return (state.name);
            }
           i++;
       }
     return null;
}

Просто странно что не могу получить объект по индексу..
Но спасибо все равно.




Сообщение отредактировал Ranger - Пятница, 09 Августа 2013, 15:26
seamanДата: Пятница, 09 Августа 2013, 22:00 | Сообщение # 4
старожил
Сейчас нет на сайте
Вот непонятно почему Юнитеки сделали этот метод внутренним?-
Код
        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
         internal extern AnimationState GetStateAtIndex(int index);

Есть такая штука "методы расширения".
Можно попробовать
Код
using UnityEngine;

public static class AnimationExtension
{
     public static AnimationState GetStateAtIdx(this Animation animation, int num)
     {
         if(animation = null) return null;
         int i = 0;
         foreach (AnimationState state in animation)
         {
             if (i == num) return state;
             i++;
         }
         return null;  
     }
}

использовать так:
Код
AnimationState state = animation.GetStateAtIdx(i);
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Клипы Анимации
  • Страница 1 из 1
  • 1
Поиск:

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