Руководство по спрайтингу: различия между версиями

imported>Kysovich
(Первая половина переведена, нужен ревью)
imported>Kysovich
(Завершил перевод, накидал форматирования)
Строка 1: Строка 1:
{{Требуется перевод}}
ПРЕДУПРЕЖДЕНИЕ: Это не техническое руководство по созданию страйтов в графическом ПО, это руководство предназначено для участников, которые знают азы спрайтинга, но которым необходимо знать конкретные требования к новым спрайтам, когда в них возникает потребность.
ПРЕДУПРЕЖДЕНИЕ: Это не техническое руководство по созданию страйтов в графическом ПО, это руководство предназначено для участников, которые знают азы спрайтинга, но которым необходимо знать конкретные требования к новым спрайтам, когда в них возникает потребность.
Большинство спрайтов имеет разрешение 32х32 пикселей и используют 32-битные цвета (24-битная кодировка цвета + альфа-канал)
Большинство спрайтов имеет разрешение 32х32 пикселей и используют 32-битные цвета (24-битная кодировка цвета + альфа-канал)
Строка 7: Строка 5:


В игре используется 4 типа объектов
В игре используется 4 типа объектов
*'''Зона''' - нам это не интересно, поскольку объекты данного типа не отображаются в игре, а уже имеющейся работы более, чем достаточно.
*'''Зона''' нам это не интересно, поскольку объекты данного типа не отображаются в игре, а уже имеющейся работы более, чем достаточно.
*'''Моб''' - куклы игроков, животные, киборги, ксеноморфы и прочая живность, встречающаяся на станции.
*'''Моб''' куклы игроков, животные, киборги, ксеноморфы и прочая живность, встречающаяся на станции.
*'''Объект''' - машины, двери, шлюзы, предметы и прочее.
*'''Объект''' машины, двери, шлюзы, предметы и прочее.
*'''Покрытие''' - полы, стены и открытый космос.
*'''Покрытие''' полы, стены и открытый космос.


== Формат DMI ==
== Формат DMI ==


Спрайты в SS13 упакованы в файлы формата .dmi. Чтобы создать новый DMI-файл, откройте DreamMaker, выберите `File` > `New` > `Icon file (dmi)`. Укажите путь для файла и сохраните его.
Спрайты в SS13 упакованы в файлы формата <code>.dmi</code>. Чтобы создать новый DMI-файл, откройте DreamMaker, выберите '''File''' > '''New''' > '''Icon file (dmi)'''. Укажите путь для файла и сохраните его.


В новом окне появится пустой файл. В верхнем-правом углу окна находятся две области, отображающие измерения спрайта. Большинство спрайтов имеют разрешение 32х32, и, к сожалению, в одном файле нельзя хранить спрайты разных разрешений.  
В новом окне появится пустой файл. В верхнем правом углу окна находятся две области, отображающие измерения спрайта. Большинство спрайтов имеют разрешение 32х32, и, к сожалению, в одном файле нельзя хранить спрайты разных разрешений.  


Нажмите ПКМ на пустом полотне. Существует два типа спрайтов: `карта` и `ролик`. Отличие лишь в том, что '''карта''' статична, когда '''ролик''' может быть анимирован и ориентирован на множество направлений. Давайте создадим спрайт-ролик (`New movie`).
Нажмите ПКМ на пустом полотне. Существует два типа спрайтов: `карта` и `ролик`. Отличие лишь в том, что '''карта''' статична, когда '''ролик''' может быть анимирован и ориентирован на множество направлений. Давайте создадим спрайт-ролик (`New movie`).
Строка 24: Строка 22:
Предположим, что мы сделали наши спрайты. Вернёмся в файл .dmi (на окно, которое появилось при создании файла). Предполагая, что вы закончили спрайт, вы можете увидеть его в списке. Двойной клик под спрайтом в списке отобразит окно переименования (также можно нажать F2). Дайте название спрайту. Обычно оно отражает состояние иконки, как если бы оно было определено в коде в качестве имени переменной.
Предположим, что мы сделали наши спрайты. Вернёмся в файл .dmi (на окно, которое появилось при создании файла). Предполагая, что вы закончили спрайт, вы можете увидеть его в списке. Двойной клик под спрайтом в списке отобразит окно переименования (также можно нажать F2). Дайте название спрайту. Обычно оно отражает состояние иконки, как если бы оно было определено в коде в качестве имени переменной.


Также заметьте что вы можете импортировать и экспортировать файлы изображений, выбирая файлы для экспорта в редакторе (Ctrl+ЛКМ для множественого выбора), и выбрав ПКМ > Export или ПКМ > Import в свободной части окна редактора для импорта. DMI схож с PNG, так что простое переименование файла под формат PNG сделает его доступным для редактирования в большинстве графических редакторов. Обычно это работает и в обратном направлении. Это делает реколоринг быстрее.
Также заметьте что вы можете импортировать и экспортировать файлы изображений, выбирая файлы для экспорта в редакторе (Ctrl+ЛКМ для множественного выбора), и выбрав '''ПКМ''' > '''Export''' или '''ПКМ''' > '''Import''' в свободной части окна редактора для импорта. DMI схож с PNG, так что простое переименование файла под формат PNG сделает его доступным для редактирования в большинстве графических редакторов. Обычно это работает и в обратном направлении. Это делает процесс перекраски быстрее.


Надеюсь, теперь это вся информация, которая нужна для создания спрайтов в формате DMI.
Надеюсь, теперь это вся информация, которая нужна для создания спрайтов в формате DMI.


== Требуемые спрайты по типам ==
== Требуемые спрайты ==
 
Пара слов о том, какие спрайты каждого типа нам нужны:
 
=== Мобы ===


Now to tell you what sprites different types of items need:
*Мобам нужны спрайты на каждое из 4 направлений. Если вы хотите, чтобы моб мог носить одежду, держать предметы, надевать перчатки, очки и прочие аксессуары, то те части спрайта, которые вам нужны, потребуется оставить на тех же местах, как у спрайта человека во всех 4 направлениях. Согласны, это сильно вас ограничивает.


=== Mobs ===
=== Покрытия ===
<!-- Turf - газон, дерн, надо подобрать вариант получше -->


*Mobs require sprites in 4 directions. If you want them to be able to wear clothes, hold items, wear gloves, glasses, etc. then the part which you'd like to keep needs to be in the same place as on the human sprite in all 4 directions. Yeah, this limits you a lot.
*Полы находятся в файле <code>icons/turf/floors.dmi</code> — Загляните в файл для примера
*Стены находятся в файле <code>icons/turf/walls.dmi</code> — Загляните в файл для примера
*Все остальное ищите в папке <code>icons/turf/</code>
*Пояснять не нужно.


=== Turfs ===
=== Объекты ===


*Floors are in icons/turf/floors.dmi - Check the file for examples
*Предметы, всякое барахло, которое игрок будет подбирать и использовать в целом имеет свой основной спрайт и спрайт, используемый, когда предмет находится в руке. Основные спрайты предметов лежат в <code>icons/obj/items.dmi</code> (или в других файлах), спрайты для предметов в руках должны лежать в файлах:
*Walls are in icons/turf/walls.dmi - Check the file for examples
**<code>icons/mob/items_lefthand.dmi</code> - для левой руки;
*And some other stuff is in other files in icons/turf/
**<code>icons/mob/items_righthand.dmi</code> - для правой руки.
*I think these are pretty self explanatory
*Одежда: Одеваемое барахло: Требует спрайт предмета в соответствующем DMI-файле в папке <code>icons/obj/clothing/</code>, спрайты "в руках" в <code>icons/mob/items_lefthand.dmi</code> и <code>items_righthand.dmi</code>, а также спрайт предмета, одетого на моба в соответствующей папке в <code>icons/mob/</code>
*Машины: Обычно используют один спрайт или несколько для состояний "ВКЛ/ВЫКЛ". Варьируется от машины к машине.


=== Objects ===


*Items, stuff that you can pick up and use generally require an item sprite and an in-hand sprite. The item sprite can be put in icons/obj/items.dmi or other dmi files, while the in-hand sprite needs to be in icons/mob/items_lefthand.dmi and icons/mob/items_righthand.dmi
== Расположение спрайтов ==
*Clothing: Stuff that you can wear: Generally requires an item sprite in the appropriate dmi file in icons/obj/clothing/ , and in-hand sprite in icons/mob/items_lefthand.dmi and items_righthand.dmi as well as the on-mob sprite in the appropriate file in icons/mob/
*Machinery: Usually either just one sprite or separate on-off sprites. It tends to differ from machine to machine


Для большинства объектов двойной ЛКМ в дереве объектов (левая часть экрана DreamMaker) выведет их определение в коде. В подсвеченных переменных обычно написано что-то вроде:


== Locating sprites ==
<code>icon = 'abc.dmi'


For most objects if you double-click them in the object tree (on the left side of the dream maker window) you will be taken to their definition in code. In the variables below what is highlighted you will often see:
icon_state = "sprite_name"</code>


  icon = 'abc.dmi'
Переменная <code>icon</code> определяет файл, в котором содержится необходимый спрайт. Переменная <code>icon_state</code> указывает на имя спрайта в этом файле.
  icon_state = "sprite_name"


The icon variable defines the file which contains the sprites and the icon_state defines the name of the sprite in the specified file.
Иногда эти переменные не будут выведены под определением. Это лишь означает, что они находятся на родительском уровне. Если вы ищете, к примеру, <code>/obj/item/weapon/storage/belt/full</code> и не можете найти переменные, попробуйте подняться на уровень выше — <code>/obj/item/weapon/storage/belt</code>. Не нашли? Поднимайтесь дальше — <code>/obj/item/weapon/storage</code>, и так далее.
Sometimes the icon or even icon_state variable will not be set under the definition. This means they're set on a parent level. If you're looking for /obj/item/weapon/storage/belt/full and can't see it, try looking at /obj/item/weapon/storage/belt. If it isn't there try looking for /obj/item/weapon/storage and so on.


Note that sometimes double-clicking an object in the object tree will not bring you to the object definition. You will know this by the highlighted line not being the same as the path to the object you double-clicked in the object browser. Searching for the definition in such cases can be a bit hard, so I've prepared a list of the most commonly used dmi files for certain objects:
Заметьте, что могут возникнуть ситуации, когда двойной клик по объекту в дереве не отобразит определение этого объекта. Это можно понять по тому факту, что выделенная строка не совпадает с путем к объекту, который вы дважды щелкнули в обозревателе объектов. Поиск определения в таких случаях может быть немного сложным, поэтому не стесняйтесь обращаться за помощью в Discord.


== Contributing sprites and finding sprite requests ==
== Добавление спрайтов и поиск запросов ==


https://github.com/ss220-space/Paradise - Server Code Github
https://github.com/ss220-space/Paradise - Наш Github


https://discord.com/channels/617003227182792704/618952559607939072 - General Suggestion Thread
https://discord.com/channels/617003227182792704/618952559607939072 - Предложка в Discord


{{Contribution Guides}}
{{Contribution Guides}}


[[Category:Guides]] [[Category:Game Resources]]
[[Category:Guides]] [[Category:Game Resources]]

Версия от 12:19, 6 декабря 2022

ПРЕДУПРЕЖДЕНИЕ: Это не техническое руководство по созданию страйтов в графическом ПО, это руководство предназначено для участников, которые знают азы спрайтинга, но которым необходимо знать конкретные требования к новым спрайтам, когда в них возникает потребность. Большинство спрайтов имеет разрешение 32х32 пикселей и используют 32-битные цвета (24-битная кодировка цвета + альфа-канал)

Объекты

В игре используется 4 типа объектов

  • Зона — нам это не интересно, поскольку объекты данного типа не отображаются в игре, а уже имеющейся работы более, чем достаточно.
  • Моб — куклы игроков, животные, киборги, ксеноморфы и прочая живность, встречающаяся на станции.
  • Объект — машины, двери, шлюзы, предметы и прочее.
  • Покрытие — полы, стены и открытый космос.

Формат DMI

Спрайты в SS13 упакованы в файлы формата .dmi. Чтобы создать новый DMI-файл, откройте DreamMaker, выберите File > New > Icon file (dmi). Укажите путь для файла и сохраните его.

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

Нажмите ПКМ на пустом полотне. Существует два типа спрайтов: `карта` и `ролик`. Отличие лишь в том, что карта статична, когда ролик может быть анимирован и ориентирован на множество направлений. Давайте создадим спрайт-ролик (`New movie`).

Открывается окно с четырьмя стрелками направлений и тремя рамками для каждой из них, все они серые. BYOND понимает 8 направлений. Вы можете выбрать, сколько из них вы хотите использовать под самими спрайтами: 1, 4 или 8. Вы также можете выбрать, сколько кадров должно быть в анимации. Если вы создаете статичный спрайт с несколькими направлениями, создайте ролик с 1 кадром, без анимации, но с 4 или 8 направлениями, в зависимости от того, сколько вам нужно. Если вы хотите, чтобы спрайт был анимирован, вас также может заинтересовать то, что вы можете установить задержку в 1/10 секунды над конкретным кадром. Итак, надеюсь, вы поняли, что делать дальше. Встроенный инструмент редактирования спрайтов очень примитивен, и единственное, о чем в нем стоит упомянуть, - это применение альфа-фильтра. Если вы дважды щелкните по любому изображению, то попадете в редактор спрайтов, а справа от него находится вертикальный ползунок, который управляет альфа-каналом. Также стоит упомянуть, что копирование из редактора может вести себя немного странно, заливая полный фон, несмотря на установленный альфа-фильтр. Просто "залейте" фон цветом с альфа-значением 0 или используйте "импорт", который работает нормально.

Предположим, что мы сделали наши спрайты. Вернёмся в файл .dmi (на окно, которое появилось при создании файла). Предполагая, что вы закончили спрайт, вы можете увидеть его в списке. Двойной клик под спрайтом в списке отобразит окно переименования (также можно нажать F2). Дайте название спрайту. Обычно оно отражает состояние иконки, как если бы оно было определено в коде в качестве имени переменной.

Также заметьте что вы можете импортировать и экспортировать файлы изображений, выбирая файлы для экспорта в редакторе (Ctrl+ЛКМ для множественного выбора), и выбрав ПКМ > Export или ПКМ > Import в свободной части окна редактора для импорта. DMI схож с PNG, так что простое переименование файла под формат PNG сделает его доступным для редактирования в большинстве графических редакторов. Обычно это работает и в обратном направлении. Это делает процесс перекраски быстрее.

Надеюсь, теперь это вся информация, которая нужна для создания спрайтов в формате DMI.

Требуемые спрайты

Пара слов о том, какие спрайты каждого типа нам нужны:

Мобы

  • Мобам нужны спрайты на каждое из 4 направлений. Если вы хотите, чтобы моб мог носить одежду, держать предметы, надевать перчатки, очки и прочие аксессуары, то те части спрайта, которые вам нужны, потребуется оставить на тех же местах, как у спрайта человека во всех 4 направлениях. Согласны, это сильно вас ограничивает.

Покрытия

  • Полы находятся в файле icons/turf/floors.dmi — Загляните в файл для примера
  • Стены находятся в файле icons/turf/walls.dmi — Загляните в файл для примера
  • Все остальное ищите в папке icons/turf/
  • Пояснять не нужно.

Объекты

  • Предметы, всякое барахло, которое игрок будет подбирать и использовать в целом имеет свой основной спрайт и спрайт, используемый, когда предмет находится в руке. Основные спрайты предметов лежат в icons/obj/items.dmi (или в других файлах), спрайты для предметов в руках должны лежать в файлах:
    • icons/mob/items_lefthand.dmi - для левой руки;
    • icons/mob/items_righthand.dmi - для правой руки.
  • Одежда: Одеваемое барахло: Требует спрайт предмета в соответствующем DMI-файле в папке icons/obj/clothing/, спрайты "в руках" в icons/mob/items_lefthand.dmi и items_righthand.dmi, а также спрайт предмета, одетого на моба в соответствующей папке в icons/mob/
  • Машины: Обычно используют один спрайт или несколько для состояний "ВКЛ/ВЫКЛ". Варьируется от машины к машине.


Расположение спрайтов

Для большинства объектов двойной ЛКМ в дереве объектов (левая часть экрана DreamMaker) выведет их определение в коде. В подсвеченных переменных обычно написано что-то вроде:

icon = 'abc.dmi'

icon_state = "sprite_name"

Переменная icon определяет файл, в котором содержится необходимый спрайт. Переменная icon_state указывает на имя спрайта в этом файле.

Иногда эти переменные не будут выведены под определением. Это лишь означает, что они находятся на родительском уровне. Если вы ищете, к примеру, /obj/item/weapon/storage/belt/full и не можете найти переменные, попробуйте подняться на уровень выше — /obj/item/weapon/storage/belt. Не нашли? Поднимайтесь дальше — /obj/item/weapon/storage, и так далее.

Заметьте, что могут возникнуть ситуации, когда двойной клик по объекту в дереве не отобразит определение этого объекта. Это можно понять по тому факту, что выделенная строка не совпадает с путем к объекту, который вы дважды щелкнули в обозревателе объектов. Поиск определения в таких случаях может быть немного сложным, поэтому не стесняйтесь обращаться за помощью в Discord.

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

https://github.com/ss220-space/Paradise - Наш Github

https://discord.com/channels/617003227182792704/618952559607939072 - Предложка в Discord

Как внести свой вклад?
Общее Руководство по разработке
Сервер Настройка базы данных, Запуск локального сервера
Код Структура кода SS13, SS13 для опытных программистов, Форматирование текста, Как делать перевод игры
Маппинг Руководство по маппингу
Спрайтинг Руководство по спрайтингу
Вики Руководство по редактированию вики