Оффтоп Alexander Kulkov
218

Мироходец, или тень, которая гуляла по unity

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

В закладки

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

Ещё раз прикреплю видео, демонстрирующее передвижение по сказочному городу.

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

Утада в мире тьмы

Набросок этой локации у меня давно есть, а сейчас настало время перенести его в 3d. Что я и сделал:

Раз
Два
Три

В Unity эта локация была добавлена как новая сцена в тот же проект, выглядело это примерно так:

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

Отлично, у нас есть две сцены, но теперь нужно между ними переключаться. И только теперь у меня руки дошли наконец до кода. Правда Visual Studio я как-то не особо люблю, потому что она недостаточно шустро запускается, поэтому прибил её в опциях, чтобы выскакивал один лишь Mono Develop.

В обоих мирах появились порталы, которые перебрасывают персонажа при помощи магии Си шарпа :)

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

В итоге в запакованном виде проектик весит 40 с лишним Мб, в распакованном в три-четыре раза больше. Запускается через стандартный unity-экзешник в папке, через который настраивается разрешение.

Скачать архив можно здесь: Utada.7z

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

Написать
{ "author_name": "Alexander Kulkov", "author_type": "self", "tags": [], "comments": 0, "likes": 4, "favorites": 1, "is_advertisement": false, "subsite_label": "flood", "id": 14733, "is_wide": false, "is_ugc": true, "date": "Tue, 16 Jan 2018 18:53:57 +0300" }
{ "id": 14733, "author_id": 25870, "diff_limit": 1000, "urls": {"diff":"\/comments\/14733\/get","add":"\/comments\/14733\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/14733"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64955 }

Комментариев нет 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-уведомления