среда, 22 января 2014 г.

Редактор вроде работает.

Пока ещё не предусмотрел защиту от дурака. Много чего ещё нет.

Но редактор уже может создавать образы юнитов. Рамки нужны для отладочных целей, потом могу убрать или сделать отключаемыми. Изменения в коде доступны здесь https://github.com/killofwin/star-e

В процессе отладки пришлось переписать многие модули и классы. Однако, уже можно создавать свои части для юнитов и просматривать их в редакторе.

Ниже описание того как эти части создавать.

Все действия которые ниже описаны за некоторыми исключениями происходят в каталоге editor-2d-1 пути указанны вложенными в данный каталог. В файлах описаний следует использовать относительные пути. Программа сама подставляет полный путь когда это надо.

Создание каталога с рисунками будущих частей.


  1. Для начала следует в рабочем каталоге создать каталог pictures если его там ещё нет.
  2. Поскольку программа ещё не вышла даже в релиз альфа-версии, то следует использовать подкаталог test . Если его нет, создайте его. То есть теперь у нас есть каталог pictures/test
  3. В нём создайте подкаталог содержащий ваш никнейм и название набора создаваемых частей. Называйте на всякий случай используя латиницу. Можно к примеру создать каталог pictures/test/pupkin/test-raptor-bug
  4. В этом каталоге и следует создавать графические образы конечностей и туловища. Например  body-test-model-1.png  fut-test-model-1.png head-test-model-1.png tail-test-model-1.png 
  5. Изображения рекомендовано использовать в формате PNG . Так же следует использовать альфа-канал для прозрачности, используйте графические редакторы поддерживающие его. Например KolourPaint (простой редактор из пакета KDE) или GIMP.  Другие можете перечислить в комментариях.
  6. Когда будешь рисовать, рисуй точно в профиль и масштабируй  туловище под размеры 256*256. И рисуй всё точно в профиль, то есть под углом 90 градусов, избегай анфаса, хотя нарисовать немного повёрнутую в сторону голову как бы смотрящую на пользователя не возбраняется. Это гарантия того что конечности и туловища из разных комплектов будут смотреться вместе удовлетворительно.

Создание туловища морфида.


  • Основа тела морфида - это туловище, с него начинается каждый новый проект.
  • Создай в рабочем каталоге (editor-2d-1) файл типа .blank-unit . Например raptor-bug.blank-unit
  • Содержимое файла:
  • begin unit
    speed=0
    type-unit=
    tactics=0
    formation=0
    group=0
    x=0
    y=0
    z=0
    writ=0
    writ-target=0
    writ-x=0
    writ-y=0
    writ-z=0
    begin other-values
    begin universal-values
    name=
    id=0
    next value

    '= Описание юнита для 2D редактора морфид
    name=
    id=10002
    value-godc=
    begin game-object-data

    '= Название юнита
    add-string=Тестовый юнит

    add-string=
    add-string=
    add-string=

    '= Имя файла с картинкой для редактора
    add-string=pictures/test/test-model-1/body-test-model-1.png

    '= Описание юнита
    add-string= Обычное описание юнита

    add-integer=0

    '= Крепление конечности координаты XYZ (0 голова)
    add-integer=25
    add-integer=193
    add-integer=0

    '= Крепление конечности координаты XYZ (1 лапа)
    add-integer=59
    add-integer=207
    add-integer=0

    '= Крепление конечности координаты XYZ (2 лапа)
    add-integer=59
    add-integer=207
    add-integer=0

    '= Крепление конечности координаты XYZ (3 лапа)
    add-integer=99
    add-integer=211
    add-integer=0

    '= Крепление конечности координаты XYZ (4 лапа)
    add-integer=99
    add-integer=211
    add-integer=0

    '= Крепление конечности координаты XYZ (5 лапа)
    add-integer=157
    add-integer=211
    add-integer=0

    '= Крепление конечности координаты XYZ (6 лапа)
    add-integer=157
    add-integer=211
    add-integer=0

    '= Крепление конечности координаты XYZ (7 лапа)
    add-integer=178
    add-integer=210
    add-integer=0

    '= Крепление конечности координаты XYZ (8 лапа)
    add-integer=178
    add-integer=210
    add-integer=0

    '= Крепление конечности координаты XYZ (9 хвост)
    add-integer=230
    add-integer=193
    add-integer=0

    end game-object-data

    next value

    end universal-values
    end other-values
    unit no-parts
    end unit
  • Как видно из примера, важной для внешнего вида морфида является его шкурка
  • '= Имя файла с картинкой для редактора
    add-string=pictures/test/test-model-1/body-test-model-1.png
  • И расположение мест крепления конечностей к туловищу. Измени строку указывающую на картинку. Места крепления конечностей измени тоже на подобающие твоему рисунку координаты.
  • Теперь в диалоге создания нового проекта морфида, будет показан этот шаблон в качестве туловища.

Создание конечностей морфида.

Создай файл под соответствующим названием типа .part-unit например raptor-bug.part-unit

  • Внеси в него нужные строки. 
  • '= Это комментарий
    '= Данный формат файлов описывает часть юнита
    begin part-unit
    hp=0
    armor=0
    hp-armor=0
    armorK=0
    minimal-demage-armor=0
    chance-demage=0
    max-hp=0
    weight=0
    power=0
    begin other-values-part
    begin universal-values
    name=Балластное свойство
    id=0
    next value
    name=
    id=10001
    value-godc=
    begin game-object-data

    '= Здесь название юнита для 2D редактора морфид
    add-string=Тестовая лапа

    '= Поля зарезервированны
    add-string=
    add-string=
    add-string=

    '= Имя файла с картинкой
    add-string=pictures/test/test-model-1/fut-test-model-1.png

    '= Описание юнита
    add-string= Обычное описание

    '= Строка проверки дублирования
    add-string=fut-test-1

    '= Тип необходимой симметрии (0-нет, 1- с нечётного, 2 - с чётного)
    add-integer=0

    '= Координата X в 2D редакторе
    add-integer=11

    '= Координата Y в 2D редакторе
    add-integer=7

    '= Координата Z в 2D редакторе, на всякий случай, вдруг станет 3D редактором
    add-integer=0

    '= Это лапа, значение 1 (0 голова, 1 лапа, 9 хвост)
    add-integer=1

    '=Маска дублирования
    add-integer=0

    '=Маска блокирования
    add-integer=0

    end game-object-data
    next value
    end universal-values
    end part-unit
  • Значения строк пояснять нет смысла, так как они раскрыты в комментариях. Нужно будет изменить строку с файлом картинки на собственную. Указать координаты крепления конечности к туловищу. Что ты не запутаться следует знать что координаты крепления записанные в самой конечности вычитаются из координат крепления конечностей на туловище. Таким образом конечность устанавливается точно по нужным координатам. Проще говоря это точка на конечности которая обозначает место положения сустава.
  • (0 голова, 1 лапа, 9 хвост) . Здесь можно указать назначение конечности. Думаю это тоже самоочевидно и объяснять излишне. Но если вам что то не понятно, то напишите в комментариях.
  • Строка дублирования. Содержит строку которая является уникальным символьным идентификатором конечности. В него следует внести как можно больше данных вроде имени создателя, названия набора конечностей и названия самой конечности. 
  • Тип необходимой симметрии (0-нет, 1- с нечётного, 2 - с чётного). Если конечность не требует симметричного расположения то оставь это значение равным 0. Если же нет, то по данному значению определиться в какой по чётности слот можно ставить эту конечность. 1 - для симметрии левая-правая, 2 - для симметрии передняя-задняя.
  • '=Маска дублирования
    add-integer=0

    '=Маска блокирования
    add-integer=0
    Это двоичные  маски обозначающие опции дублирования или блокирования. В стандартах проекта есть описание этих опций.  Если конечность простая, то оставляйте эту опции равными нулю.
Архив с образцами для последующего редактирования можно скачать по ссылке https://dl.dropboxusercontent.com/u/86123252/projects/StarE/docs/blank-parts-unit-morfid.zip

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



Комментариев нет:

Отправить комментарий