People Playground

People Playground

Not enough ratings
HD-спрайты или как не делать огромные предметы.А также некоторые фичи.
By Chin
В этом руководстве описывается процесс масштабирования спрайтов до нормального размера на примере создаваемого мной мода. И некоторые советы по моддингу.
   
Award
Favorite
Favorited
Unfavorite
Для начала - спрайты
Стандартные спрайты


В игре используются спрайты малых размеров(как пример спрайт Human - 18x79px), такие спрайты имеют сразу исходный размер, который идеально подходит для игры. Но из-за малых размеров они имеют очень плохое качество.
Все спрайты игры можно взять на сайте студии.
Стандартные спрайты[www.studiominus.nl]



Игра не запрещает делать спрайты больших размеров, но т.к. масштабирование в игре идет по пикселям, такие спрайты изначально имеют размер соответствующий размеру в пикселях


Совет по созданию спрайта


Спрайты лучше всего создавать размерами, которые имеют четные характеристики.
Как пример спрайт моего мода - он имеет размер 340х170px
Это не является обязательным, но так можно избавится от проблем с масштабированием.
Масштабирование спрайтов
Стандартный спрайт


И так вы создали спрайт, который больше чем используемый в игре. По итогу в игре будет такая картина:



Чтобы создать спрайт, который не имеет размер в пикселях, нужно применить к нему масштабирование:

За единицу масштаба спрайта отвечает параметр f
Собственно чем больше величина - тем менее большим будет спрайт.


Важно


Возможно это не так(по крайней мере у меня при разработке), но масштабирование должно применяться не только к самому спрайту, но и миниатюре в меню(или же логотипу/иконке)




Код


//миниатюра ThumbnailOverride = ModAPI.LoadSprite("ссылка_на_вашу_миниатюру", nf), //спрайт Instance.GetComponent<SpriteRenderer>().sprite = ModAPI.LoadSprite("ссылка_на_ваш_спрайт", nf);


Добавление источников света на спрайт
Создание спрайта света


Для того чтобы на вашем спрайте отображались источники света, вам необходимо создать спрайт для этого.



Важно



Создавайте спрайт света такого же размера как оригинальный спрайт. Лучше всего в редакторе взять оригинальный спрайт и сделать из него слой, и по этому слою накладывать свет.
Также, к источнику света применяется такой же масштаб, что и к оригинальному спрайту(через параметр f)



Для этого выберете подходящий цвет, и просто нанесите на места, которые должны будут излучать свет.
Пример спрайта:



Код
Чтобы добавить уже спрайт света в игре, нужно в код объектаAfterSpawn написать следующий код:
//создание объекта var childObject = new GameObject("NAME"); //название //трансформация объекта, необязательна если размеры спрайта источника света равны оригинальному спрайту childObject.transform.SetParent(Instance.transform); childObject.transform.localPosition = new Vector3(nf, nf); //позиция спрайта childObject.transform.localScale = new Vector3(nf, nf); //размеры спрайта //добавление спрайта света var childSprite = childObject.AddComponent<SpriteRenderer>(); childSprite.sprite = ModAPI.LoadSprite("путь_к_спрайту_источника", nf); childSprite.sharedMaterial = ModAPI.FindMaterial("VeryBright");//добавление свечения


Существующие источники света.
Также, если оригинальным предметом выбран предмет с предустановленными источниками света, их можно удалить, добавив этот код:
foreach (Transform child in Instance.transform) if (child.name.Contains("light")) GameObject.Destroy(child.gameObject);
Цвет у описания или названия в меню.
Предисловие


В PPG помимо тегов мода, можно добавить в название или описание цвет к тексту.
Сделать это можно с помощью
<color=#HEX>
Для этого просто добавьте в название или описание тег <color> с HEX-кодом желаемого цвета

Заключение: делайте хорашо плоха не делайте.
И так, вы научились основам масштабирования и некоторым фичам. Спасибо за прочтение!
Хотите поддержать автора - лайкните и добавьте в избранное руководство, а также подпишитесь на мой аддон:
Dominator Mod by k_falke.
Возможно все что я сейчас написал тут не работает/криво/код говно/и вообще про это все знают.
Но я убил часа 4 на поиск как сделать спрайт нормального размера, так что, надеюсь оно поможет вам.