Есть 2D персонажи. Есть разные анимации в кадрах (у каждого персонажа свой набор кадров и своя скорость, также свой размер кадра и качество). Нужно создать возможность менять персонажей через меню, при этом без всяких лишних gameObject'ов. Просто зашёл в инспектор, там массив из классов, а там в свою очередь массивы Sprite для кадров различных анимации, закинул, скорость выставил (AnimationClip вместо Sprite тоже приветствуется) и всё. Дальше просто выставляешь в скрипте игрока id персонажа и всё. Однако ступор наступил еще на этапе выбора системы анимации. Стандартная показалась мне самой подходящей, но она тупо не воспроизводит анимации (консоль молчит). А в Mecanim будет не просто работать, если персонажей будет например 50 - 100. Также есть планово возможность создавать своих персонажей путём загрузки своих кадров. Пытался создать свою систему анимации - не получилось.
Я хочу сделать максимально удобную систему создания персонажей. Чтобы всё можно было в одном скрипте настроить. И код хочется, чтобы был грамотный. Есть люди, которые делали похожую штуку? Как это реализовать?
Вот пример скрипта, база где находятся все персонажи и их настройки
Код
using UnityEngine;
using System.Collections;
public class CharactersData : MonoBehaviour {
[System.Serializable]
public class Characters
{
public string name;
[Header("Stats")]
public float speed;
public float jump_power;
[Header("Animations")]
public Sprite[] idle;
public float idle_time;
public Sprite[] walking;
public float walking_time;
public Sprite[] air;
public float air_time;
public Sprite[] shoot;
public float shoot_time;
}
public Characters[] characters;
void Start () {
}
void Update () {
}
}