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

Материал из SS220 Paradise Wiki (SS13)
Перейти к навигации Перейти к поиску
м (Ohar переименовал страницу Guide to Spriting в Руководство по спрайтингу: Русификация названия)
(→‎Что делать, если нужно срезать лишнее разрешение DMI файла?: Расписание тонкости с DMI имеющий несколько спрайтов)
 
(не показано 12 промежуточных версий 5 участников)
Строка 1: Строка 1:
This is not a technical guide on how to do sprites in a graphical program, this is a guide intended for people who know how to sprite, but need to know what exactly is needed when people want sprites done for them. Most sprites are 32x32 pixels. They use 32b colors (24b + alpha channel).
{{Needsrevision|reason=Отсутствует гайд по использованию лееров. Не все пути к файлам (нужно обновить). Нужны опытные спрайтеры для расширения гайда.}}


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


== Объекты ==


There are 4 types of objects in the game:
В игре используется 4 типа объектов
*'''Area''' - we won't be interested in these as you can't see it ingame and wip graphics are sufficient,
*'''Зона (Area)''' — нам это не интересно, поскольку объекты данного типа не отображаются в игре, а уже имеющейся работы более, чем достаточно.
*'''Mob''' - humans, monkeys, cyborgs, aliens and other living creatures on the station,
*'''Моб (Mob)''' — куклы игроков, животные, киборги, ксеноморфы и прочая живность, встречающаяся на станции.
*'''Objects''' - machines, doors, items and anything else in the game,
*'''Объект (Object)''' — машины, двери, шлюзы, предметы и прочее.
*'''Turf''' - walls, floors and space
*'''Покрытие (Turf)''' — полы, стены и открытый космос.


== The DMI file format ==
== Формат DMI ==


Sprites in SS13 are packaged in .dmi files. To make a new dmi file, open up dream maker, select file > new and choose icon file (dmi) from the drop-down menu. Write a file path for it and hit ok.
Спрайты в SS13 упакованы в файлы формата <code>.dmi</code>. Чтобы создать новый DMI-файл, откройте DreamMaker, выберите '''File''' > '''New''' > '''Icon file (dmi)'''. <br>
Укажите путь для файла и сохраните его.<br>


A new window will open with a blank file. in the upper-right are two spaces for sprite dimensions. Most sprites are 32x32 pixels in size. One dmi file cannot hold sprites of different sizes, unfortunately.
В новом окне появится пустой файл. В верхнем правом углу окна находятся две области, отображающие измерения спрайта. Большинство спрайтов имеют разрешение 32х32, и, к сожалению, в одном файле нельзя хранить спрайты разных разрешений. <br>


Now right-click somewhere in the whiteness. There are two types of sprite: pixmap and movie. A pixmap is static while a movie can be animated and face multiple directions, that's all the difference. Let's make a movie sprite. (New movie)
Нажмите ПКМ на пустом полотне. Существует два типа спрайтов: `карта` и `ролик`. Отличие лишь в том, что '''карта''' статична, когда '''ролик''' может быть анимирован и ориентирован на множество направлений. Давайте создадим спрайт-ролик (`New movie`). <br>


A window opens with four directional arrows and 3 frames for each of them, all of them gray. Byond understands 8 directions. You can choose how many you wish to use below the sprites themselves: 1, 4 or 8. You can also select how many frames you wish the animation to have. If you're making a multi-directional static sprite, make a movie with 1 frame, so no animation, but with 4 or 8 directions, depending how many you need. If you wish to have the sprite animated it may also interest you that you can set the delay in 1/10 of a second above the particular frame. Okay, hopefully you'll know what to do from here. The built-in sprite editing tool is very primitive and the only thing worth mentioning in it is how to apply the alpha filter. If you double-click any image you'll get to the sprite editor, and at the right of it is a vertical slider, which controls the alpha channel. Also worth mentioning is that copying from the editor can behave a bit strange, by making full backgrounds despite the alpha filter being set. Just 'flood' the background with a color with an alpha value of 0 or use 'import', which works fine.
Открывается окно с четырьмя стрелками направлений и тремя рамками для каждой из них, все они серые. BYOND понимает 8 направлений. Вы можете выбрать, сколько из них вы хотите использовать под самими спрайтами: 1, 4 или 8. Вы также можете выбрать, сколько кадров должно быть в анимации. Если вы создаете статичный спрайт с несколькими направлениями, создайте ролик с 1 кадром, без анимации, но с 4 или 8 направлениями, в зависимости от того, сколько вам нужно. Если вы хотите, чтобы спрайт был анимирован, вас также может заинтересовать то, что вы можете установить задержку в 1/10 секунды над конкретным кадром. Итак, надеюсь, вы поняли, что делать дальше. Встроенный инструмент редактирования спрайтов очень примитивен, и единственное, о чем в нем стоит упомянуть, - это применение альфа-фильтра. Если вы дважды щелкните по любому изображению, то попадете в редактор спрайтов, а справа от него находится вертикальный ползунок, который управляет альфа-каналом. Также стоит упомянуть, что копирование из редактора может вести себя немного странно, заливая полный фон, несмотря на установленный альфа-фильтр. Просто "залейте" фон цветом с альфа-значением 0 или используйте "импорт", который работает нормально. <br>


Now let's assume we've made your sprites sprites, go back to the dmi file (the screen which showed up when you first made the file). Assuming you've made a sprite, you'll see it in the list there. Double-click just below the actual sprite and a rename window should open, alternatively select the sprite and hit F2 on your keyboard. Give a name to your sprite. This name is often referred as an icon_state, as that's the variable name which defines it in code.
Предположим, что мы сделали наши спрайты. Вернёмся в файл .dmi (на окно, которое появилось при создании файла). Предполагая, что вы закончили спрайт, вы можете увидеть его в списке. Двойной клик под спрайтом в списке отобразит окно переименования (также можно нажать F2). Дайте название спрайту. Обычно оно отражает состояние иконки, как если бы оно было определено в коде в качестве имени переменной. <br>


Also note that you can import and export image files of different sorts by selecting the files you wish to export in the editor (hold ctrl to select multiple) and right clicking and selecting export, or right clicking anywhere and selecting import to import. DMI is similar to PNG, so if you rename a DMI's extension to PNG it should work in all graphical editing software. It usually works in reverse too. This makes recoloring quicker.
Также заметьте что вы можете импортировать и экспортировать файлы изображений, выбирая файлы для экспорта в редакторе (Ctrl+ЛКМ для множественного выбора), и выбрав '''ПКМ''' > '''Export''' или '''ПКМ''' > '''Import''' в свободной части окна редактора для импорта. DMI схож с PNG, так что простое переименование файла под формат PNG сделает его доступным для редактирования в большинстве графических редакторов. Обычно это работает и в обратном направлении. Это делает процесс перекраски быстрее. <br>


Now, hopefully that's all the information you need to sprite and make dmi files.
Надеюсь, теперь это вся информация, которая нужна для создания спрайтов в формате DMI. <br>


== Required sprites by object category ==
== Требуемые спрайты ==


Now to tell you what sprites different types of items need:
Пара слов о том, какие спрайты каждого типа нам нужны: <br>


=== 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
* Мобам нужны спрайты на каждое из 4 направлений. Если вы хотите, чтобы моб мог носить одежду, держать предметы, надевать перчатки, очки и прочие аксессуары, то те части спрайта, которые вам нужны, потребуется оставить на тех же местах, как у спрайта человека во всех 4 направлениях. Согласны, это сильно вас ограничивает.
*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
* При желании можно сделать разнослойные спрайты, поработав с layers.
* Если вы создаете моба, который может носить одежду, вы можете использовать pixel_y, Pixel_x для изменения положения одежды при кодировании.
* Если это новая раса карбона с не гуманоидной или искривленной формой тела (как у ВОКСов, Драсков, Резоми), на неё необходимо перерисовать уже существующие одежды или запретить их к ношению.
* Не забывайте что у [[грей|греев]] увеличенная голова и глаза, поэтому для них нужны отдельные спрайты очков, шлемов и шапок. У [[вульпканин]]ов и [[таяра|таяр]] торчат уши, у КПБ - антенны, всё это нужно проверять. Для примера можете посмотреть шапку <code>ratge_head</code>и количество её спрайтов для разных рас.


==== Мобы с конечностями ====
* Люди и гуманоидные виды состоят из конечностей — головы, груди, паха, двух рук и двух ног.
* У некоторых рас существует дополнительные конечности: Крылья, хвосты.
* Файлы конечностей с заданным цветом находятся в 'icons/mob/human_races/r_[race].dmi'
* Конечности имеют 4 направления, как и полные иконки.
* Конечности также используются в качестве иконок предметов в случае расчленения.
* Наименования конечностей:
**r_[race]/_l/r_arm/leg для рук и ног.
**r_[race]/_chest(_m/f) для груди (m/f для male/female (мужской/женский) вариантов, опционально)
**r_[race]/_head(_m/f) для головы (m/f для male/female (мужской/женский) вариантов, опционально)


== Locating sprites ==
=== Нахождение спрайтов одежды и некоторых объектов ===
[[File:ListWaysClothes.png|300px|frame|none|Внимательней к иконкам без направлений]]


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:
<br><br>
<div class="toccolours mw-collapsible mw-collapsed" style="width:99%;">
<span style="font-size:1.2em;">'''Пути нахождения аксессуаров и доп. слоев:'''</span><br>
<div class="mw-collapsible-content">


  icon = 'abc.dmi'
* Для волос: 'icons/mob/sprite_accessories/[race]/[race]_hair.dmi'
  icon_state = "sprite_name"
* Бороды: 'icons/mob/sprite_accessories/[race]/[race]_facial_hair.dmi'
* Для тела, например хвосты: 'icons/mob/body_accessory.dmi'
* Татуировки: 'icons/mob/sprite_accessories/[race]n/[race]_body_markings.dmi'
* Белье: 'icons/mob/underwear.dmi'
* Лицевые слои(глаза, макушка): 'icons/mob/[race]_face.dmi'
* Нательные слои(загрязнения): 'icons/mob/[race]_races/masks/blood_[race].dmi'


The icon variable defines the file which contains the sprites and the icon_state defines the name of the sprite in the specified file.
</div></div></div>
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:
== Расположение спрайтов ==


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


https://github.com/ss220-space/Paradise - Server Code Github
<code>icon = 'abc.dmi'
 
icon_state = "sprite_name"</code>
 
Переменная <code>icon</code> определяет файл, в котором содержится необходимый спрайт. Переменная <code>icon_state</code> указывает на имя спрайта в этом файле.
 
Иногда эти переменные не будут выведены под определением. Это лишь означает, что они находятся на родительском уровне. <br>
Если вы ищете, к примеру, <code>/obj/item/weapon/storage/belt/full</code> и не можете найти переменные, попробуйте подняться на уровень выше — <code>/obj/item/weapon/storage/belt</code>. Не нашли?
Поднимайтесь дальше — <code>/obj/item/weapon/storage</code>, и так далее.<br>
 
Заметьте, что могут возникнуть ситуации, когда двойной клик по объекту в дереве не отобразит определение этого объекта. Это можно понять по тому факту, что выделенная строка не совпадает с путем к объекту, который вы дважды щелкнули в обозревателе объектов. Поиск определения в таких случаях может быть немного сложным, поэтому не стесняйтесь обращаться за помощью в Discord.
 
== Конвертирование в PNG и DMI ==
Возникают ситуации, когда вам нужно конвертировать ваши спрайты из DMI в PNG и обратно в DMI, но в таких случаях полностью теряется порядок спрайтов и их данные (названия) при конвертации. Если вы хотите решить эту проблему, данный гайд для вас.<br>
 
Первое что вам предстоит сделать, [http://entropymine.com/jason/tweakpng/ это скачать TweakPNG отсюда].<br>
 
Затем конвертируйте ваш файл из .dmi формата в .png, просто сменив ему тип (это можно сделать переименованием)<br>
 
[[File:Spriting1.png|frame|none|Файлы .dmi и .png]]
 
Откройте ваш .png файл в любом редакторе, например Paint.net, Photoshop или Aseprite (программа подходит для рисования в пикселе).<br>
 
[[File:Spriting2.png|300px|frame|none|Открытый PNG файл.]]
 
Внесите необходимые изменения.<br>
 
[[File:Spriting3.png|frame|none|Приемлимо.]]
 
Сохраните и/или экспортируйте ваш измененный файл .png.<br>
 
Откройте TweakPNG.<br>
 
Переименуйте ваш измененный .png во что-то другое и конвертируйте его обратно в .dmi<br>
 
Перетащите оригинальный .dmi файл в TweakPNG.<br>
 
Скопируйте Chunk под названием "zTXt".<br>
 
Перетащите ваш новый измененный .dmi, вставьте скопированный "zTXt" Chunk и убедитесь, что он находится под "tRNS" Chunk.<br>
 
[[File:Spriting4.gif|frame|none|Да шо тут происходит...]]
 
Откройте ваш измененный .dmi файл и убедитесь что он работает. <br>
 
[[File:Spriting5.png|frame|none|ЗАРАБОТАЛО!]]
 
Именно таким способом вы можете переделать множество одежды с помощью фотошопа и пары дней под расовые одежды, как это было сделано для обезьян и низших форм.
 
== Что делать, если нужно срезать лишнее разрешение DMI файла? ==
Как один из вариантов решения проблемы:
 
1 Чтобы избавиться от лишнего разрешения открываем Aseprite.
 
2 Открываем нужный нам файл в нем.
 
3 Открываем вкладку Sprite и нажимаем на Sprite Size(имейте в виду, что идет отображение всех изображений в файле как единого, TweakPNG сохранит все иконки DMI как одно единое, без разделений, так что лучше работать по одному изображению).
 
4 Редактируем до нужного нам разрешения.
 
5 Сохраняем файл как PNG.
 
6 Переводим с помощью TweakPNG обратно в DMI.
 
7 Профит, вы великолепны!
 
== Добавление спрайтов и поиск запросов ==
 
https://github.com/ss220-space/Paradise - Наш Github<br>
 
https://discord.com/channels/617003227182792704/618952559607939072 - Предложка в Discord<br>


https://discord.com/channels/617003227182792704/618952559607939072 - General Suggestion Thread


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


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

Текущая версия от 07:12, 21 мая 2023

Newscaster.pngЭта страница должна быть пересмотрена/обновленаNewscaster.png
Эта статья содержит устаревшие данные, необходимо сверить и обновить информацию.
Причина: Отсутствует гайд по использованию лееров. Не все пути к файлам (нужно обновить). Нужны опытные спрайтеры для расширения гайда.


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

Объекты

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

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

Формат 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.

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

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

Покрытия

  • Полы находятся в файле 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/
  • Машинерия: Обычно используют один спрайт или несколько для состояний "ВКЛ/ВЫКЛ". Варьируется от машины к машине.

Мобы

  • Мобам нужны спрайты на каждое из 4 направлений. Если вы хотите, чтобы моб мог носить одежду, держать предметы, надевать перчатки, очки и прочие аксессуары, то те части спрайта, которые вам нужны, потребуется оставить на тех же местах, как у спрайта человека во всех 4 направлениях. Согласны, это сильно вас ограничивает.
  • Спрайты мобов требуют спрайты мертвых состояний.
  • При желании можно сделать разнослойные спрайты, поработав с layers.
  • Если вы создаете моба, который может носить одежду, вы можете использовать pixel_y, Pixel_x для изменения положения одежды при кодировании.
  • Если это новая раса карбона с не гуманоидной или искривленной формой тела (как у ВОКСов, Драсков, Резоми), на неё необходимо перерисовать уже существующие одежды или запретить их к ношению.
  • Не забывайте что у греев увеличенная голова и глаза, поэтому для них нужны отдельные спрайты очков, шлемов и шапок. У вульпканинов и таяр торчат уши, у КПБ - антенны, всё это нужно проверять. Для примера можете посмотреть шапку ratge_headи количество её спрайтов для разных рас.

Мобы с конечностями

  • Люди и гуманоидные виды состоят из конечностей — головы, груди, паха, двух рук и двух ног.
  • У некоторых рас существует дополнительные конечности: Крылья, хвосты.
  • Файлы конечностей с заданным цветом находятся в 'icons/mob/human_races/r_[race].dmi'
  • Конечности имеют 4 направления, как и полные иконки.
  • Конечности также используются в качестве иконок предметов в случае расчленения.
  • Наименования конечностей:
    • r_[race]/_l/r_arm/leg для рук и ног.
    • r_[race]/_chest(_m/f) для груди (m/f для male/female (мужской/женский) вариантов, опционально)
    • r_[race]/_head(_m/f) для головы (m/f для male/female (мужской/женский) вариантов, опционально)

Нахождение спрайтов одежды и некоторых объектов

Внимательней к иконкам без направлений



Пути нахождения аксессуаров и доп. слоев:

  • Для волос: 'icons/mob/sprite_accessories/[race]/[race]_hair.dmi'
  • Бороды: 'icons/mob/sprite_accessories/[race]/[race]_facial_hair.dmi'
  • Для тела, например хвосты: 'icons/mob/body_accessory.dmi'
  • Татуировки: 'icons/mob/sprite_accessories/[race]n/[race]_body_markings.dmi'
  • Белье: 'icons/mob/underwear.dmi'
  • Лицевые слои(глаза, макушка): 'icons/mob/[race]_face.dmi'
  • Нательные слои(загрязнения): 'icons/mob/[race]_races/masks/blood_[race].dmi'

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

Для большинства объектов двойной ЛКМ в дереве объектов (левая часть экрана 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.

Конвертирование в PNG и DMI

Возникают ситуации, когда вам нужно конвертировать ваши спрайты из DMI в PNG и обратно в DMI, но в таких случаях полностью теряется порядок спрайтов и их данные (названия) при конвертации. Если вы хотите решить эту проблему, данный гайд для вас.

Первое что вам предстоит сделать, это скачать TweakPNG отсюда.

Затем конвертируйте ваш файл из .dmi формата в .png, просто сменив ему тип (это можно сделать переименованием)

Файлы .dmi и .png

Откройте ваш .png файл в любом редакторе, например Paint.net, Photoshop или Aseprite (программа подходит для рисования в пикселе).

Открытый PNG файл.

Внесите необходимые изменения.

Приемлимо.

Сохраните и/или экспортируйте ваш измененный файл .png.

Откройте TweakPNG.

Переименуйте ваш измененный .png во что-то другое и конвертируйте его обратно в .dmi

Перетащите оригинальный .dmi файл в TweakPNG.

Скопируйте Chunk под названием "zTXt".

Перетащите ваш новый измененный .dmi, вставьте скопированный "zTXt" Chunk и убедитесь, что он находится под "tRNS" Chunk.

Да шо тут происходит...

Откройте ваш измененный .dmi файл и убедитесь что он работает.

ЗАРАБОТАЛО!

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

Что делать, если нужно срезать лишнее разрешение DMI файла?

Как один из вариантов решения проблемы:

1 Чтобы избавиться от лишнего разрешения открываем Aseprite.

2 Открываем нужный нам файл в нем.

3 Открываем вкладку Sprite и нажимаем на Sprite Size(имейте в виду, что идет отображение всех изображений в файле как единого, TweakPNG сохранит все иконки DMI как одно единое, без разделений, так что лучше работать по одному изображению).

4 Редактируем до нужного нам разрешения.

5 Сохраняем файл как PNG.

6 Переводим с помощью TweakPNG обратно в DMI.

7 Профит, вы великолепны!

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

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

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


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