Работа с 2d спрайтами в Unity. Создание спрайтовой анимации - Форум - Все для Unity3d

Все для Unity3d> Работа с 2d спрайтами в Unity. Создание спрайтовой анимации - Форум>
Страница 1 из 11
Форум » Unity » Уроки » Работа с 2d спрайтами в Unity. Создание спрайтовой анимации (Часть 1)
Работа с 2d спрайтами в Unity. Создание спрайтовой анимации
berilДата: Суббота, 18.01.2014, 23:57 | Сообщение # 1
Новый писатель
Группа: Пользователи
Сообщений: 31
Статус: Offline
Итак приступим

1.Создаем новый проект и не забываем указать, что он будет 2d.


2.Берем любой атлас со спрайтами.



Перетаскиваемнаш спрайт в  Project.
Нажимаем на наш спрайт и выставляем следующие значения  в Inspector .
Texture Type:ну думаю тут все понятно итак, это тип текстуры.
Sprite Mode– вид нашего спрайта. Если спрайт имеет анимацию  выставляем Multiple, если же статический спрайт то  Single.
Filter Mode – по умолчанию стоит Bilinear, егоне трогаем, если же у вас  пиксельнаяграфика  то выставляем модификацию  Point.


Жмем кнопочку Apply.

3.Нажимаем на SpriteEditor откроется отдельное окно.



4.В окне SpriteEditor нажимаем Slice, в Type ставим  Automatic. Жмем Slice >  Apply.


5.Смотримна наш спрайт в Project, теперь он выглядит так:



Создались кадры для нашей анимации.
Перетаскиваем наш спрайт на сцену .

6.НажимаемCtrl + 6 и откроется окно Animation перетаскиваемтуда наш кадры.  Сохраняем анимацию.Нажимаем кнопочку Play и
смотрим, что получилось: анимация проигрывается очень быстро. Изменяем значение
Sample в Animation с 60
на 10. Вот уже получше выглядит анимация.


7. Cмотримопять в Project и у
нас появилась наша анимация


Переходим в окно Animator . И видим нашу анимацию .



8.Запускаем сцену и видим, что анимация проигрывается.
На этом все. Дальше разберем, как проигрывать анимацию через код


Сообщение отредактировал beril - Воскресенье, 19.01.2014, 00:01
 
ТохаДата: Воскресенье, 19.01.2014, 00:25 | Сообщение # 2
Состоявшийся писатель
Группа: Пользователь
Сообщений: 439
Статус: Offline
Спасибо за урок все понятно и внятно smile

Случайность - всего лишь иная форма судьбы...возможно,более привлекательная, но и более неизбежная.
 
AragoДата: Вторник, 03.06.2014, 09:11 | Сообщение # 3
Новый писатель
Группа: Пользователи
Сообщений: 3
Статус: Offline
Жаль, что много мануалов только для 2d. Найти бы уроки по спрайтам для трехмерной игры (в графическом стиле The Elder Scroll Daggerfall)...
 
berilДата: Пятница, 06.06.2014, 21:31 | Сообщение # 4
Новый писатель
Группа: Пользователи
Сообщений: 31
Статус: Offline
Спрайты 3д не могут быть, это уже 3 модель будет.
 
devpilgrimДата: Пятница, 06.06.2014, 22:14 | Сообщение # 5
Начинающий писатель
Группа: Проверенные
Сообщений: 196
Статус: Offline
Цитата Arago ()
Жаль, что много мануалов только для 2d. Найти бы уроки по спрайтам для трехмерной игры (в графическом стиле The Elder Scroll Daggerfall)...

Цитата beril ()
Спрайты 3д не могут быть, это уже 3 модель будет.

Я не понял сути вопроса, может поясните, а кто мешает использовать српайты в 3D?
Навесить на спрайт скрипт чтобы фейсом всегда к камере был, что получим?


Готов работать за деньги, или за очень большие деньги.
 
devpilgrimДата: Суббота, 07.06.2014, 16:05 | Сообщение # 6
Начинающий писатель
Группа: Проверенные
Сообщений: 196
Статус: Offline
вот и пришло время мне столкнуться с проблемой позиционирования спрайтов.
Короче говоря, спрайты в изометрической проекции это круто, но вот то, что положение их осей не соответствует осям мира - это целая проблема.
Возьмем пример:
Нам требуется повернуть спрайт относительно центральной оси (у с прайта это Z) в сторону каого нибудь объекта...
Попробуйте: sprite.transform.forward = target.transform.position - sprite.transform.position;
sprite - спрайт.
target - объект к которому поворачиваемся.
Очень весело наблюдать вращение спрайта в непонятном направлении и в непонятной плоскости...
Конечно разобраться и написать костыли - дело 10 минут, но... НО, на кой мне это нужно?
ИМХО: В Unity пока нет реальной поддержки 2D (ибо пока существуют такие баги - 2D считать таковым - просто не возможно).

Ну и вдогонку мой костыль, мало-ли кому понадобится...

Код
using UnityEngine;

public class SpriteController : MonoBehaviour
{
     public Transform target;
     public float speed;   

  void Start ()
  {
      speed = 1;
  }
   
  void Update ()
  {
         Vector3 moveDirection = target.position - transform.position;
         if (moveDirection != Vector3.zero)
         {
             float angle = Mathf.Atan2(-moveDirection.x, moveDirection.y) * Mathf.Rad2Deg;
             var angleAxis = Quaternion.AngleAxis(angle, Vector3.forward);
             transform.rotation = Quaternion.Slerp(transform.rotation, angleAxis, speed * Time.deltaTime);
         }
  }
}

Скрипт вешаете на любой спрайт на сцене.
target - любой transform на сцене, за которым будем поворачиваться..
speed - скорость поворота (иначе будет поворачиваться со скоростью движения target, что не очень натурально смотрится).


Готов работать за деньги, или за очень большие деньги.

Сообщение отредактировал devpilgrim - Суббота, 07.06.2014, 17:53
 
berilДата: Пятница, 13.06.2014, 19:52 | Сообщение # 7
Новый писатель
Группа: Пользователи
Сообщений: 31
Статус: Offline
Вот видео вариант этого урока Основы работы с 2d в Unity

Добавлено (13.06.2014, 20:52)
---------------------------------------------
можно как то видео в шапку добавить?

 
devpilgrimДата: Пятница, 13.06.2014, 20:26 | Сообщение # 8
Начинающий писатель
Группа: Проверенные
Сообщений: 196
Статус: Offline
Цитата beril ()
можно как то видео в шапку добавить?

В первом сообщении кнопка изменить (под самим сообщением).


Готов работать за деньги, или за очень большие деньги.
 
berilДата: Пятница, 13.06.2014, 20:31 | Сообщение # 9
Новый писатель
Группа: Пользователи
Сообщений: 31
Статус: Offline
Нету, время походу истекло
 
devpilgrimДата: Пятница, 13.06.2014, 23:47 | Сообщение # 10
Начинающий писатель
Группа: Проверенные
Сообщений: 196
Статус: Offline
Цитата beril ()
Нету, время походу истекло
Тогда только админы smile Я не могу править чужие сообщения.


Готов работать за деньги, или за очень большие деньги.
 
bod9n1Дата: Пятница, 21.11.2014, 19:38 | Сообщение # 11
Новый писатель
Группа: Пользователи
Сообщений: 13
Статус: Offline
Цитата beril ()
Вот видео вариант этого урока Основы работы с 2d в Unity
а как заставить вращаться 2д спрайт(круглый) относительно своего центра, т.е котится
_____
решил уже давнооо


Кто наговнокодил мне под дверь?

Сообщение отредактировал bod9n1 - Понедельник, 29.12.2014, 15:12
 
ctvrtekДата: Воскресенье, 19.06.2016, 15:43 | Сообщение # 12
Новый писатель
Группа: Пользователи
Сообщений: 4
Статус: Offline
Спасибо за урок!
 
Форум » Unity » Уроки » Работа с 2d спрайтами в Unity. Создание спрайтовой анимации (Часть 1)
Страница 1 из 11
Поиск:
Свернуть
Развернуть
Необходима авторизация
0
ТОП-5 САЙТА
НОВЫЕ ИГРЫ
ГОРЯЧИЕ ТЕМЫ
СЛУЧАЙНЫЕ ФАЙЛЫ