Офтоп Alexander Kulkov
752

Утада, город великого потока

В закладки

Прототип локации сказочного города, собранный в Unity 3d.

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

Одним из таких миров, к которому я обращаюсь чаще всего, является мир сказочный, который буквально сочится магией и чудесами. А особенно одна из частей этого мира - город водопадов, Утада. Именно с этого города начинается знакомство читателей с базовой волшебной вселенной в моих системах Twisted Terra и Монстробой, и целиком внутри города великого потока происходят события Муршамбалы, где игроки играют котиками.

Изначальный набросок

Когда сам мир ещё только придумывался, то я сделал примерный набросок города водопадов. Позже, художник, иллюстрирующий книжку Twisted Terra сделал по этому наброску свой цветной вариант.

Альтернативный цветной вариант

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

Позднее, когда появилась игра про котиков, действие которой целиком сконцентрировалось в Утаде, то я всё-же набросал примерную схему части города, чтобы игроки могли указывать где конкретно живут их питомцы и можно было легче прикидывать (в том числе и ведущему), в какой примерно локации находятся герои сейчас и как будет пролегать их путь в следующую.

Начальный вариант схемы левой части города
Улучшенная схема. Буквами обозначены Таверны, башня Растворителей, Королевский замок и Причал воздушных кораблей.

И вот, недавно снова вернувшись к экспериментам в Unity я решил потихоньку собрать прототип этой локации на этом движке. Здесь пригодилась схема, потому что по ней проще прикинуть как что примерно должно располагаться. Хотя и не было задачи повторить её один в один. Пока это лишь фрагмент города. Собственно, приключения обычно и не затрагивали другую его часть.

Первоначальный костяк локации

Вобще, я уже пробовал прототипировать эту локацию раньше, пользуясь одним из ассетов Unity (Sabre CSG), который позволяет создавать разнообразную геометрию на лету, прямо в движке. Однако, тот инструмент мне больше пригодился в моделировании более кубических карт для тактической игры, а город я всё-таки решил моделить в 3д-редакторе, потому что всякие более мелкие и не особо кубические детали всё-равно придётся делать там.

Затем, добавляя новые части архитектуры, я не стал перезагружать локацию заново, а крепил новые детали к существующей 3д-модели, окрасив их в другой цвет. Потом, когда таких деталей набралось много, то экспортировал только их в качестве новой большой модели. В Unity осталось только выставить такой же масштаб, как у базовой части локации, совместив их. Если со временем набирается много таких отдельных "слоёв", то можно заменить их новой общей моделью.

После импорта пробегаюсь по деталям, из которых состоит модель, помечая там те области, сквозь которые персонаж не должен проваливаться, то есть назначая им соответствующий коллайдер. В идеале, для производительности, лучше потом сделать отдельный меш или несколько мешей, которые покрывают весь уровень невидимой зоной, от которой игрока будет отталкивать - заодно персонаж сможет не запинаться о всякие лестницы, красиво пробегая поверх них. Так же условно раскидываю текстуры - заниматься детальным точным текстурированием мне не особо нужно. Хотя, конечно, так красивее и правильнее.

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

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Alexander Kulkov", "author_type": "self", "tags": [], "comments": 16, "likes": 14, "favorites": 4, "is_advertisement": false, "subsite_label": "flood", "id": 14048, "is_wide": false, "is_ugc": true, "date": "Tue, 26 Dec 2017 16:40:31 +0300" }
{ "id": 14048, "author_id": 25870, "diff_limit": 1000, "urls": {"diff":"\/comments\/14048\/get","add":"\/comments\/14048\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/14048"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64955, "possessions": [] }

16 комментариев 16 комм.

Популярные

По порядку

Написать комментарий...
0

Выглядит адовенько, например.

Ответить
0

Все делал в одиночку?

Ответить
1

Ну, если не учитывать задействованные ассеты, выложенные в свободный доступ - в одиночку.

Ответить
1

Выглядит круто! Если будет возможность записать короткое видео - оно могло бы лучше показать весь созданный труд. -)

Скрины впечатляют и респект за ваш труд!

Ответить
0

Спасибо! Да, планировал снять ролик при случае.

Ответить
0

Попробуйте сделать его в Cities: Skylines
Там получаются фантастические вещи.

Ответить
1

Да, но зачем мне собирать его в конструкторе, если я могу замоделить его себе так?

Ответить
0

Другие игроки смогут в это поиграть.

Ответить
0

В unity же собирается запускаемый файл. Экзешник с данными этой локации сейчас весят чуть больше ста мегабайт.

Ответить
0

Собственно, я не делаю из этого какую-то игру - это просто такой условный симулятор прогулки по локации сказочного города.

То есть игры не будет?

Ответить
0

Ну что вам, нормальных игр мало разве? :)

Ответить
0

Та просто читал с интересом, думал типа это всё для чего-то делается, а в конце тебе показали дырку от бублика))) То есть всё мною прочитанное не важное, так ничего не будет, а я не Шерлок - удалять из головы не нужную информацию не умею)))

Ответить
0

Ныне популярный симулятор ходьбы.

Ответить

0

Долго моделировали это?

Ответить
0

Не особо, всё в целом несколько дней. Это же лоуполи модельки. Кораблик взял из старых моделек, которую моделил по одному из своих скетчей. Сейчас добавил ему окошки и дверь. Основной домик моделил на основе фермы из WoW. Потом, из основного, вариант с крышей крест накрест и балкончиком и более маленький домик. Почту и таверну с нуля, близко к тому как они были описаны в приключениях. К почте ещё нужна будет маленькая пристройка сзади. Деревья взял в одном из ассетов, пока они подходят, потом можно будет их переосмыслить.

Ответить
0

Постэффекты скроют некоторые неровности.

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
Гейб Ньюэлл наконец-то анонсировал то,
чего все так долго ждали
Подписаться на push-уведомления