- Портирование на Unity 5: нерассказанное путешествие Rust
- Основатель Facepunch Studio’s Гарри Ньюман (Garry Newman) и его команда занимались портированием Rust на Unity 5. Как это было? Этот блог рассказывает о путешествии Rust. Вы осмелитесь отправиться в путешествие вместе с нами?!
- Unity строительство как в rust
- На какую кнопку строить в Rust
- Заключение
Портирование на Unity 5: нерассказанное путешествие Rust
Основатель Facepunch Studio’s Гарри Ньюман (Garry Newman) и его команда занимались портированием Rust на Unity 5. Как это было? Этот блог рассказывает о путешествии Rust. Вы осмелитесь отправиться в путешествие вместе с нами?!
Работая с Unity, я встретил много талантливых разработчиков, которые используют наш движок. Я помогал Facepunch Studios с портированием, и я думаю, что их опыт заслуживает внимания. Поэтому я задал Гарри Ньюману несколько вопросов.
Насколько большую роль сыграла Unity в успехе Rust?
До этого я использовал Source Engine, который очень сильно отличается от Unity. Вы можете изменить текстуру, материал или модель, и они мгновенно обновляются. Когда вы делаете правки в стороннем редакторе на другом мониторе, они моментально отображаются в Unity. Это избавляет от лишних действий. На протяжение 6 месяцев мы занимались этим большим делом. С другим движком я должен был бы выйти из игры и каждый раз запускать его. Unity на самом деле делает интересным процесс настройки различных вещей, и вы, скорее всего, просто экспериментируете, чтобы найти различные способы сделать то, что вам надо.
Сколько потребовалось времени для портирования Rust на Unity 5?
Это заняло, вероятно, около двух часов, не было ничего действительно сложного. Unity обновляет весь наш код автоматически, в одно мгновение. Были некоторые проблемы с дополнениями из Asset Store, которые не обновлялись как надо. Мы уже наняли разработчика, и он обновил плагины за нас, так что проблема была решена.
В Unity 5 есть система, которая дает вам больше контроля над плагинами и DLL-библиотеками. Поначалу она нас немного напугала, но вскоре мы поняли, что просто не надо совать эти вещи в эти папки.
Конечно, если вы хотите использовать новую систему шейдеров и прочее, вы должны пройтись по всему своему контенту и обновить материалы и все остальное. Если вы хотите, чтобы игра выглядела как в Unity 4, то вам надо просто обновить Unity и все будет работать.
Но реализация новых стандартных шейдеров и системы освещения была длительным процессом?
Художники должны были понять, что из себя представляет новая система. Это новый способ работы, на самом деле. Они используют новый Substance Painter, потому что он более точный. После того, как они поняли все это, они получают лучшие результаты, и они тратят меньше сил для получения хорошо выглядящих сцен.
Что было первым, что вы хотели изменить в Rust с Unity 5?
Мы хотели увидеть, насколько красивые материалы мы могли бы получить. Таким образом, мы смотрели на создание динамических отражений и других вещей, которые использовали в основном все новые возможности в новой визуализации.
Это непрерывный процесс, мы всегда возвращаемся к нашим материалам и настройкам. Если мы смотрим на скриншот и видим, что он выглядит плохо, мы будем обновлять его.
Что вы думаете о других рабочих процессах в Unity 5?
Кажется, все примерно так же, хотя есть еще некоторые неприятности, такие как добавление события анимации. Материалы, на первый взгляд, кажутся немного сложнее, но как только вы понимаете, что из себя представляет система и как она работает, становится намного проще. Новая система шейдинга очень хороша для создания материалов, вам не придется выбирать конкретный шейдер. Если вы хотите материал с картой нормалей, вы просто добавляете ее и он работает.
Мы сделали серьезное улучшение по части аудио. Как вам, понравилось его использовать?
Если быть честным, мы только начали его использовать. В настоящее время мы его используем только для того, чтобы сбалансировать громкость конкретных звуков, например, шагов. Но это будет полезно в будущем, когда мы начнем добавлять эффекты. Мне нравится, что можно назначить переменные некоторых параметров, это будет очень полезно для регулировки громкости. Например, если вы находитесь в пещере, звук будет с эхом.
Никто из нас плотно не занимался аудио, половину из этого мы не понимаем, но мы до него доберемся.
Какие функции Unity 5 произвели наибольший эффект на данный момент?
Обновление PhysX. В Rust мы продолжали использовать лимит в 65000 коллайдеров на наших серверах, поэтому нам пришлось использовать все виды хаков, чтобы объединить все эти коллайдеры вместе, поэтому это было очень медленно. Теперь нет никаких ограничений, это прекрасно. Новая система PhysX в целом, кажется, гораздо быстрее.
У нас было много проблем с физикой в Unity 4, например, нужно было добавить Rigidbody коллайдеру. Если вы передвинули статичный коллайдер, это добавляло задержку в полторы секунды. Теперь вы можете передвигать вещи как хотите, свободно. Это идеально подходит для нас, потому что я не поклонник хаков.
Таким образом обновление PhysX помогает конечным пользователям, а также в процессе разработки?
Да, они, вероятно, не понимают этого, но это действительно имеет значение. Например, когда вы передвинули из одного участка в другой в старом Rust, вы получали пару секунд задержки, когда мы перестраивали все физические коллайдеры. Теперь этого не произойдет, у нас есть гораздо больше свободы.
Какие три основных совета вы бы дали тем, кто хочет портировать свою игру?
Есть хорошее видео про новую систему шейдеров, в котором объясняется значение каждого входа. Вы не должны просто попробовать ее на глаз, так как есть научные значения, которые можно использовать.
Проверьте свои DLL файлы и убедитесь, что настройки указаны прямо на них.
Также вы должны прочитать это руководство по обновлению на странице о бете, где в значительной степени освещается все, что вы должны сделать.
И последний вопрос: какие планы развития Facepunch Studio’s?
В основном это то, что мы делаем сейчас, ведь Rust — долгосрочный проект. Garry’s Mod уже почти десять лет, и мы делаем нечто подобное с Rust. Хотя у нас в работе есть несколько прототипов.
Вы хотите еще что-нибудь рассказать о Unity 5 или Rust?
Хочу поблагодарить создателей Unity за то, что они сделали нашу работу легче и веселее по сравнению с прошлым.
Rust — очень популярная игра, доступная на Steam для PC, Mac и Linux. Было приятно поболтать с Гарри о Rust, и я с нетерпением жду продолжение разработки с Unity 5.
Unity строительство как в rust
В очередном обновлении, которое было представлено 30 июля 2015 года, разработчики добавили возможность видоизменять существующие в игре предметы и загружать их в Steam Workshop. К предметам, вид которых можно изменить, относится оружие и одежда (будем надеяться, что в дальнейшем разработчики расширят границы, предоставив нам возможность изменять и другие вещи).
Прежде всего, чтобы начать создавать свои скины, необходимо скачать Rust SDK на странице Инструменты.
Для работы с Rust SDK вам понадобится игровой движок Unity версии 4 и/или выше.
Rust SDK представляет собой пакет, созданный специально для работы в Unity, а так же для автоматической загрузки Ваших предметов в Steam Workshop.
Кроме движка, Вам понадобится какой-нибудь графический редактор — можно взять Adobe Photoshop или GIMP, но ни в коем случае не берите Paint!! (он не годится для такой работы). Графический редактор будет использоваться для редактирования текстуры предмета, а так же для создания своих карт нормалей(? [en.wikipedia.org] ).
После того, как вы скачали Rust SDK, скачайте и запустите Unity3d. Не обязательно сперва качать Rust SDK, все можно сделать в произвольном порядке.
При запуске Unity попросит Вас создать новый проект или указать папку к уже существующему. Выберите Open и укажите путь к файлам Rust SDK («E:\Steam\SteamApps\common\Rust SDK\Rust SDK«)
После этого Unity начнет загружать файлы SDK. После загрузки у Вас откроется Unity и покажется что-то в этом роде
Для тех, кто ранее работал и уже знаком с Unity, не составит проблем разобраться, что к чему.
Ну а для новичков, которые впервые открыли Unity на своем ПК, думаю, есть смысл дочитать раздел до конца.
Для начала, снизу во вкладке Project найдите папку Workshop. Эта папка в дальнейшем будет хранить в себе все созданные Вами предметы. Изначально, на чистом SDK в этой папке уже будут созданы только 2 папки, но мне уже приходилось создавать несколько вещей, так что у меня папок немного больше.
Далее, чтобы понять, как делать свой скин, откроем папку tshirt.facepunch. В ней Вы увидите 4 файла:
- diffuse — файл, который хранит в себе текстуру футболки(в данном примере)
- icon — иконка Вашего предмета, которая будет отображаться в списке предметов Steam Workshop
- material — материал, который присваивается данной модели
- meta — файл, содержащий в себе настройки для публикации предмета в Steam Workshop
Из всех этих файлов, стоит сосредоточить работу над файлом diffuse. Кликнув на него, Вы можете увидеть его свойства в Инспекторе справа.
Если на сцене у Вас изначально не отобразился предмет, выберите файл meta и нажмите Preview In Scene.
Открываем файл diffuse в редакторе, который Вы выбрали. Я использую Adobe Photoshop, так что для открытия файла мне всего лишь нужно перетащить его на окно программы
Либо же щелкаем левой кнопкой мыши по свободному месту и выбираем Show In Explorer
В любом случае у Вас появляется возможность открыть изображение в графическом редакторе.
Открыв файл в Photoshop, мы видим непонятное изображение, местами напоминающее футболку, надетую на персонажа в Unity3d
Несложно понять, что сторона с логотипом Facepunch — это передняя часть футболки, без логотипа — задняя, а сверху видны рукава. Для примера я установлю разным частям разные цвета. Получилось что-то такое:
После этого я сохранил файл diffuse.tga и в Unity3d футболка обрела другие цвета
Кстати, менять можно не только цвет, можно наносить на одежду различные изображения, логотипы, грязь и детали.
Как я упоминал выше, файл, отвечающий и содержащий настройки предмета для публикации в Steam Workshop, называется meta
Выбрав этот файл, в Инспекторе Вы можете видеть следующие настраиваемые параметры:
- Script — Скрипт, который используется для загрузки предмета в Steam Workshop
- Item ID — Идентификатор вашего предмета(нужен для Workshop). Если вы впервые создаете предмет(не изменяете старый), то ID должен быть равен нулю
- Title — Заглавие, которое будет отображаться вверху вашего предмета
- Description — Описание вашего предмета
- Preview image — Изображение, которое будет служить аватаркой вашего предмета в общем списке
- Skin Type — тип предмета, для которого Вы создаете скин(данный параметр менять не нужно)
- Skin Material — пользовательский материал, который присваивается предмету
Когда все готово, Вам остается нажать справа в Инспекторе кнопку Upload Changes; начнется загрузка файла в Workshop.
Чтобы увидеть свой предмет после загрузки, внизу нажмите VIEW ONLINE.
Проводится такая же процедура, как и при создании скина, но вы можете заметить, что в настройках Вашего скина(файл meta) Item ID не равен нулю, тоесть Ваш предмет уже загружен в Steam Workshop и имеет свой уникальный идентификатор. Поэтому, его менять не нужно.
После всех настроек Вашего предмета в Steam Workshop его страница должна выгладеть примерно так(показываю на примере своего предмета):
Прочитали до конца? Потратьте еще минутку и поставьте оценку
На какую кнопку строить в Rust
Если вы не знаете, на какую кнопку строить в Rust, то, очевидно, вы совсем не в курсе, как система строительства устроена в этой игре. Пришло время научиться. Читайте гайд внимательно, от начала и до конца.
Первое, что нам понадобится для возведения построек, это «План строительства». Его можно скрафтить из меню быстрого доступа. Нажмите «Q» и оно будет в правом нижнем углу открывшегося окна. Картинка снизу поможет сориентироваться.
Нажимаем по этому синему свитку, ждём, когда он появится в инвентаре, перемещаем его в одно из нижних гнёзд инвентаря мышкой, как ярлык на рабочем столе
Как вы, возможно, уже догадались, гнёзда пронумерованы, потому что доступ к ним вы получаете, когда нажимаете на клавиатуре цифры от одного до шести. То есть, предмет, находящийся в гнезде под номером «1», после нажатия такой кнопки помещается персонажу в руки.
Я это пояснил, потому что дальше нужно взять план постройки в руки. Когда сделаете это, нажмите Правую клавишу мыши и не отпускайте. На экране появится меню, в котором выбираются элементы здания. Переключение между ними осуществляется путём движения мыши вправо, влево, вверх или вниз. Когда выберите то, что хотите построить, наведите мышь, и щелкните левой кнопкой.
Начинают с фундамента. Он выбран в плане по умолчанию. Найдите ровное место, где фундамент будет подсвечен синим цветом, и нажимайте ЛКМ. Поздравляю! Вы провели первую строительную работу в Rust.
Заключение
Создаём план, используем его как оружие. Меню доступных построек открывается на правую кнопку мыши, когда план в руках. Возведение постройки делает нажатие ЛКМ. Так же советую сразу после стройки скрафтить «шкаф с инструментами», поставить его в своём доме и поместить внутрь него ресурсы, из которых сделан дом. Так вы предотвратите гниение постройки.
Параллельно возведению соломенного каркаса улучшайте строение в дерево, камень или металл. Улучшение делается при помощи киянки. Её тоже можно скрафтить в меню быстрого доступа, как и план строительства. К слову, двери и замки делаются так же.
Чтобы прокачать здание, возьмите в руки киянку, подойдите, например, к стене, зажмите «E», наведите мышью на камень или дерево, щелкните ЛКМ. Произойдёт мгновенное преображение соломы в камень.
Остерегайтесь других игроков. Обычно для тех, у кого опыта в игре много, новички, занимающиеся стройкой – лишь лёгкая мишень. Я советую не хранить все добытые ресурсы в инвентаре во время стройки. Лучше киньте их в ближайший куст. Они долго не исчезнут. По крайней мере, их не заберёт кто-то другой, если вас убьёт. Пусть лучше ресурсы не достаются никому.