Шаг 1) Создайте свой проект Unity для WebGL, желательно не в качестве «сборки разработки». Это создаст каталог, содержащий index.html
, Build/
и TemplateData/
.
Шаг 2) Зафиксируйте каталоги Build/
и TemplateData/
в /assets/unity/build_name/
в вашем проекте (измените «build_name» на то, что вы хотите, чтобы имя вашей сборки было)
Шаг 3) Создайте (или отредактируйте) публикацию и добавьте этот фрагмент в начало страницы: unity_dir: build_name, используя ваше build_name из предыдущего. Это скажет Джекиллу, где искать файлы игры для вашего поста.
---
title: "Test Post"
date: 2017-10-13
unity_dir: game_post
categories:
- General
tags:
- test
---
This is a test post.
Отправьте это сообщение, затем откройте его в браузере, и вы увидите, что ничего особенного пока не происходит.
Шаг 4) Далее мы хотим подключить переменную «unity_dir», чтобы jekyll показывал загруженную вами игру «Единство». Для этого вам необходимо обновить макет, используемый для ваших сообщений. Если мы посмотрим в _config.yml
внизу, то появится раздел под названием «значения по умолчанию», в котором указывается макет по умолчанию для сообщений, который называется «одиночный». Это макет, который будут использовать посты, поэтому в _layouts/single.html
мы внесем изменение, а не переменную unity_dir.
Поиск _layouts/single.htm
l для строки, содержащей {{ content }}
, и в строке непосредственно над ней добавьте:
{% if page.unity_dir %}
{% include page__unity.html %}
{% endif %}
С этим дополнением, когда вы открываете сообщение с определенным unity_dir
, оно будет включать html-фрагмент page__unity.html в тело сообщения (которое мы определим на следующем шаге).
Шаг 5) Теперь мы определим HTML, который будет добавлен, когда мы добавим unity_dir
к сообщению. Мы хотим, чтобы включенный раздел загружал игру «Юнити», как и файл index.html
, созданный вашей локальной сборкой «Юнити». Для этого создайте в _includes
новый файл с именем page__unity.html
и заполните его следующим текстом:
<script src="{{ site.baseurl }}/assets/unity/{{page.unity_dir}}/TemplateData/UnityProgress.js"></script>
<script src="{{ site.baseurl }}/assets/unity/{{page.unity_dir}}/Build/UnityLoader.js"></script>
<script>
var gameInstance = UnityLoader.instantiate("gameContainer", "{{ site.baseurl}}/assets/unity/{{page.unity_dir}}/Build/builds.json",{onProgress: UnityProgress});
</script>
<div class="webgl-content">
<div id="gameContainer" style="width: 960px; height: 600px"></div>
</div>
Вы заметите, что переменная unity_dir
используется здесь для ссылки на 3 файла в каталоге assets/unity/{unity_dir_varaible}
- TemplateData/UnityProgress.js
, Build/UnityLoader.js
и Build / builds.json. Другая переменная, site.baseurl
, также используется как часть пути. Мы установим это на следующем шаге.
Шаг 6) Откройте _config.yml
и найдите baseurl
. Обновите переменную baseurl, чтобы она ссылалась на имя вашего проекта. Например:
baseurl : /minimal-mistakes # the subpath of your site, e.g. "/blog"
Шаг 7) Зайдите на сайт GitHub и откройте свое сообщение. Вы должны увидеть загрузку игры.
Надеюсь, это поможет! (слегка отредактировано с: https://ericranstrom.github.io/ericranstrom/general/unity_github_pages/)