Sprite Slicer 2D версия неизвестна - Скрипты - Файлы - Все для Unity3d

Все для Unity3d> Файлы> Скрипты> Sprite Slicer 2D версия неизвестна
Материал добавил: UU
Дата добавления:26.06.2014 в 12:29
Категория: Скрипты
Скачали: 225 раз
Использование в коммерции: Запрещено
Рейтинг
пользователей:
5.0
Мнение
U3D.at.ua:


Slice, dice and explode any sprite in your game! Sprite Slicer allows you to quickly and easily cut any physics-enabled sprite into little pieces, each of which will then have its own realistic physics behaviour.

* Works on both Unity and 2D Toolkit sprites.
* Simple static script functions allow you to slice sprites along a given line, or explode them into multiple parts.
* Optimised to preserve dynamic batching and reduce draw calls.
* Slices any sprite with a 2D box, circle or convex polygon collider.
* Easily restrict slices to particular sprites using LayerMasks.
* Full C# source code and example scene included.

Демка
Комментарии (1 шт.)
не работает. нужно в скрипте SpriteSlicer2D заменить метод на этот


Код
public void InitFromUnitySprite(SpriteRenderer unitySprite, PolygonCollider2D polygon)
  {
  Material material = null;

  for(int loop = 0; loop < s_MaterialList.Count; loop++)
  {
  if(s_MaterialList[loop].mainTexture != null && s_MaterialList[loop].mainTexture.GetInstanceID() == unitySprite.sprite.texture.GetInstanceID())
  {
  material = s_MaterialList[loop];
  }
  }

  if(material == null)
  {
  material = new Material(unitySprite.material.shader);
  material.SetTexture(0, unitySprite.sprite.texture);
  material.mainTexture = unitySprite.sprite.texture;
  material.name = unitySprite.name + "_sliced";
  s_MaterialList.Add(material);
  }

  Rect textureRect = unitySprite.sprite.textureRect;
  Vector2 minTextureCoords = new Vector2(textureRect.xMin/(float)unitySprite.sprite.texture.width, textureRect.yMin/(float)unitySprite.sprite.texture.height);
  Vector2 maxTextureCoords = new Vector2(textureRect.xMax/(float)unitySprite.sprite.texture.width, textureRect.yMax/(float)unitySprite.sprite.texture.height);

  InitSprite(unitySprite.gameObject, polygon, minTextureCoords, maxTextureCoords, unitySprite.sprite.bounds, material, false, false, false);
  m_ParentInstanceID = unitySprite.gameObject.GetInstanceID();
  }

Для комментирования необходимо зарегистрироватся или войти!
F.A.Q. по установке
Похожие материалы
Опрос
Как вам наш форум?
Всего ответов: 1900
Статистика


Онлайн всего: 8
Гостей: 7
Пользователей: 1
[Полный список]
Свернуть
Развернуть
Необходима авторизация
0
ТОП-5 САЙТА
НОВЫЕ ИГРЫ
ГОРЯЧИЕ ТЕМЫ
СЛУЧАЙНЫЕ ФАЙЛЫ