SS14W:Файлы
Спрайты
Эта часть сугубо для файлов из репозитория. Все файлы из репозитория следует загружать в формате png или apng. (Данные форматы взаимозаменяемы)
Инструменты
Вы не станете мастером, если не будете иметь под рукой небольшой набор инструментов :Cat_nerd:, поэтому вот вам список всего, что мы сегодня будем использовать:
- Файлы игры — Источник всех спрайтов для ваших злодеяний. Все спрайты находятся в space-station-14/Resources/Textures
- Шаблон:Entity Sprite/Image — база данных, для нахождения путей спрайтов всех вещей игры по их id или имени. Обновляется автоматически. Для составных спрайтов или apng, зачастую, также придётся искать yml сущности.
- ezgif.com — Крутой сайт, имеющий весь инструментарий для создания гифок и обрезки спрайтов (да-да, не удивляйтесь, скоро всё поймёте).
Обработка материала
Создание статичных спрайтов
Создание сложного статичного спрайта
Некоторые спрайты, хоть и являются статичными, но собираются из нескольких отдельных спрайтов. Примерами таких спрайтов являются: Ключи шифрования (на самом деле они состоят из спрайта «основы» разных цветов и значка отдела, который накладывается поверх спрайта «основы») или светящиеся палочки (у которых одна и та же «основа» сверху и снизу, но разный цвет у самой палочки).
- Найдите все нужные части сложного спрайта по папкам в Resources/Textures.
- Откройте самый нижний слой спрайта вашим любимым редакторе изображений с поддержкой нескольких слоёв.
- Накиньте следующими слоями всё остальное. Если что-то выглядит не так, как должно — попробуйте поперемещать слои, возможно вы просто разместили их не в том порядке.
- Когда вы уверены что изображение выглядит так, как должно — сохраните его как новое изображение в удобном вам месте.
НИКОГДА НЕ СОХРАНЯЙТЕ ИЗОБРАЖЕНИЕ ЧЕРЕЗ ОПЦИЮ «Сохранить», ТАК КАК ВЫ РИСКУЕТЕ ПОТЕРЯТЬ ВАШ ИЗНАЧАЛЬНЫЙ СПРАЙТ. ВСЕГДА ИСПОЛЬЗУЙТЕ ОПЦИЮ «Сохранить как…»'
Создание анимированных спрайтов
Все анимированные спрайты в игре хранятся в виде spritesheets — изображения, на котором все спрайты объекта (его повороты, анимации и прочее) склеены в одно большое изображение.
Разделение spritesheet на отдельные изображения
- Откройте файл meta.json в .rsi папке с вашим спрайтом и найдите строчку «size». В этом параметре вы найдёте размеры спрайта по x и по y (чаще всего они равны и спрайт представляют из себя квадраты, но никогда нельзя быть уверенным в чём-то на 100 %).
- Зайдите на сайт https://ezgif.com, после чего в разделе «split» выберите «Sprite sheet cutter».
- Загрузите ваш spritesheet на сайт
- Поставьте галочку напротив «By tile size» и в появившихся полях впишите размеры спрайта (помните, что width = ширина = x, а height = высота = y). Формат изображений менять не рекомендуется во артефактов
- Нажмите кнопку «Cut!»
Вот и всё! Снизу у вас появились нужные вам кадры, которые вы можете скачать в виде zip-архива, или создать gif анимацию!
Преобразование кадров в apng
Если вы никуда не уходили с сайта с прошлого этапа и до сих пор находитесь на странице с вашими нарезанными кадрами:
- Нажмите кнопку «Create APNG animation». Вы перейдёте на страницу создания анимации. Перед вами будут представлены все кадры, полученные в прошлом параграфе.
- Скорее всего в вашем спрайте есть много вариантов одного и того же существа (или предмета) под разные игровые ситуации, поэтому вам необходимо отключить ненужные кадры. Делается это во вкладке «Toggle a range of frames» чуть ниже полученных кадров. Вписываете номер начального и конечного кадров (включительно), с которыми вам нужно провести манипуляции и нажимаете «Skip» или «Enable», в зависимости от того, что вы хотите сделать. Эти кадры останутся здесь, но будут пропущены при создании анимации и вы их не увидите на апнг.
- В пункте «APNG options» вы можете настроить Delay для каждого кадра в анимации.
- Нажимаем галочку «don’t stack frames» (каждый новый кадр будет рисоваться чистым, без остатков предыдущих кадров) и затем нажимаем на кнопку «Make a APNG».
НЕ ЗАБУДЬТЕ СКАЧАТЬ ВАШУ ПНГ С ПОМОЩЬЮ КНОПКИ save СНИЗУ.
Если вы скачали кадры архивом и ушли с сайта ИЛИ у вас уже есть готовый набор вырезанных кадров:
- Распаковываем архив с нашими кадрами, если вы этого ещё не сделали
- На сайте выбираем раздел «APNG maker» и загружаем туда все нужные нам кадры
- В пункте «APNG options» вы можете настроить Delay для каждого кадра в анимации.
- Нажимаем галочку «don’t stack frames» (каждый новый кадр будет рисоваться чистым, без остатков предыдущих кадров) и затем нажимаем на кнопку «Make a APNG».
НЕ ЗАБУДЬТЕ СКАЧАТЬ ВАШУ ПНГ С ПОМОЩЬЮ КНОПКИ save СНИЗУ.
Наложение анимированной части спрайта на статичную
Если вам нужно наложить что-то движущееся (например анимацию монитора консоли) на что-то статичное (например на пнг изображение консоли):
- Вырезаем анимированную и статичную часть спрайта (или склеиваем составную статичную часть спрайта) по инструкции и скачиваем полученные кадры в формате архива.
- Добавляем нашу статичную часть спрайта в папку с кадрами анимации, которая будет наложена поверх спрайта. Если в анимации есть лишние кадры (например спрайт для повёрнутой версии предмета, или для особого стейта) — удаляем их.
- Зайдите на сайт https://ezgif.com, и выбираем раздел «APNG maker». Загружаем туда все наши кадры и статичную часть спрайта, которую мы добавили в ту же папку ранее.
- В списке кадров наводимся на наш кадр со статичной частью анимации и перетаскиваем в самое начало списка кадров
- В пункте «APNG options» вы можете настроить Delay для каждого кадра в анимации.
- Нажимаем галочку «don’t stack frames», галочку «use first frame as background» и галочку «0 delay for the first frame». Галочка «don’t stack frames» означает что старые кадры будут очищаться с гифки при проигрывании и у нас не будет их «следов» (выглядит это конечно красиво, но нам это не нужно). Галочка «use first frame as background» заставит первый кадр во всей анимации стать фоном этой анимации (то есть все следующие кадры будут накладываться на него). Галочка «0 delay for the first frame» означает что наш «фон» никогда не появится отдельным от всех кадром, то есть он всегда будет показан фоном и не будет показан отдельным от остального кадром.
- Нажимаем на кнопку «Make a APNG» и проверяем работоспособность гифки.
НЕ ЗАБУДЬТЕ СКАЧАТЬ ВАШУ ПНГ С ПОМОЩЬЮ КНОПКИ save СНИЗУ.
Использование меты
Файлы meta.json, находятся в каждой папке со спрайтами и используется игрой для правильного проигрывания анимаций, соответственно может быть использован и нами для выставления времени кадров в анимированных картинках.
Пример файла meta.json:
"version": 1,
"license": "CC-BY-SA-3.0",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon",
"delays": [
[
0.2,
0.2,
0.2
]
]
},
{
"name": "icon_blue",
"delays": [
[
0.2,
0.2,
0.2
]
В мете нас интересует 2 значения. Size — указывается 2 координатами по x и y и указывает размер спрайта (как нужно его нарезать).
Delays указывает длительность кадров анимации, 1.0 (в мете) = 1 секунда = 100 Delay (в ezgif).
Использование прототипов
Прототипы (файлы с расширением .yml) содержат в себе информацию о свойствах предметов. В частности нас интересует информация о спрайте, последовательности слоёв, и их цветокоррекции.
- type: entity
parent: BaseComputer
id: ComputerCloningConsole
name: cloning console computer
description: The centerpiece of the cloning system, medicine's greatest accomplishment. It has lots of ports and wires.
components:
- type: CloningConsole
- type: DeviceList
- type: DeviceNetwork
deviceNetId: Wired
- type: Sprite
layers:
- map: ["computerLayerBody"]
state: computer
- map: ["computerLayerKeyboard"]
state: generic_keyboard
- map: ["computerLayerScreen"]
state: dna
- map: ["computerLayerKeys"]
state: generic_keys
...
Нужны нам параметры компонента - type: Sprite
. Для правильной сборки надо просто соединить указанные спрайты последовательно.
Наименование файлов
Все файлы следует называть в соответствии с данным шаблоном:
Название.формат
Пример:
Файл.png
Файлы репозитория
Файлам из репозитория игры следует давать названия согласно их ID в игре. Не следует как либо изменять название во избежание поломок ботов работающих ID.
ID можно найти в самом репозитории.
Пример:
HydroponicsTray.png
В случае нескольких предметов с одинаковыми ID, следует добавлять к названию указание состояния или цифру
Примеры:
HydroponicsTray1.png
HydroponicsTray2.png
В том случае если ID предмета не существует в игре, следует давать название по папке и файлу спрайта в репозитории следующим образом.
Папка-файл.png
Пример:
Onion-harvest.png
Файлы не из репозитория
В случае файлов не из репозитория, следует давать названия на русском языке. Для разделения слов следует использовать тире.
Пример:
Конструкция.png
Шаблон файл
См. документацию Шаблон:Файл. Шаблон файл является обязательным к заполнению для всех файлов загружающихся на Вики.
Пример использования
На основе Файл:CableApcStack.png.
== Краткое описание == {{Файл |Описание = |Id = CableApcStack |Проект = {{abb|SS14}} |Автор = |Источник = |Путь = }} == Лицензирование == {{CC-BY-SA-3.0}}Оригинальный текстКраткое описание
Описание Моток НВ-кабеля. Источник https://github.com/space-syndicate/space-station-14/blob/master/Resources/Textures/Objects/Tools/cable-coils.rsi (state: coillv-30) Проект Space Station 14 Путь Windows Objects\Tools\cable-coils.rsi Путь прочих Objects/Tools/cable-coils.rsi Автор или правообладатель Taken from tgstation and modified by SweptWasTaken at commit https://github.com/tgstation/tgstation/commit/77608a9f46b06a46f0f6b1be061755f68cc255a3 Лицензирование
![]()
Это произведение распространяется на условиях лицензии Creative Commons Attribution-Share Alike 3.0.
Лицензии
Самые частые лицензии, с которыми будет сталкиваться редактор при загрузке файлов:
{{CC-BY-SA-3.0}}
— для большинства файлов из репозитория игры.
Пример: Файл:MopItem.png
{{CC-BY-SA-4.0}}
— для скриншотов игры.
Пример: Файл:Kitchen.png
{{CC-BY-NC-SA-4.0}}
— основная лицензия нашей Вики. Применяется для изображений, не защищённых авторским правом, или по желанию автора собственного произведения.
Пример:
Файл:12.png (не обладает авторским правом)
Файл:Logo-NEW.png (контент нашего проекта)
{{добросовестное использование}}
— для изображений или скриншотов произведений, защищённых авторским правом.
Пример: Файл:Lizzard lore 3.gif
{{несвободная лицензия}}
— для работ, созданных для нашей Вики, авторы которых не хотят распространять их на условиях свободной лицензии или пока не указали её.
Пример: Файл:DarkCentcom dep.png
{{subst:No license}} — лицензия по умолчанию при загрузке файлов. Является заглушкой, указывающей на необходимость выбрать другую лицензию, иначе файл может быть удалён. Категория для отслеживания: просроченные подведения итогов по уточнению лицензионных статусов файлов
Все остальные лицензии находятся здесь — Категория:Шаблоны:Лицензии файлов. Они могут пригодиться при портировании произведений, имеющих одну из этих лицензий.
Категории для отслеживания файлов с лицензиями — Категория:Файлы:Классификация по лицензиям.
Стандартизация файлов
В этом разделе будут описаны несколько правил которые желательно соблюдать.
- При загрузке спрайтов персонажей стоит указывать в графе «|Источник =» имя и должность персонажа и ник игрока в графе «|Автор =».[1]
- Не рекомендуется изменять спрайты персонажей закреплённые за игроками, без согласия человека загрузившего оригинального спрайта или куратора вики.
- Спрайты предметов имеющие много сменяющихся состояний следует загружать с интервалом в 1 секунду на состояние.
- Спрайты мобов имеющие состояние вращения стоит загружать с вращением против часовой стрелки и с интервалом в 1 секунду на каждый поворот.
- ↑ Если картинка отображает персонажа определённого игрока