[Мини-игра Douyin] План Unity по созданию мини-игр Douyin Скоро появится последнее полное и подробное руководство [постоянно обновляется].
[Мини-игра Douyin] План Unity по созданию мини-игр Douyin Скоро появится последнее полное и подробное руководство [постоянно обновляется].

Предисловие

  • В предыдущей статье говорилось о том, как использоватьUnityсделать WeChat миниигра:Как использовать Unity создает небольшую игру WeChat, Маленькая игра WeChat создает план Скоро появится последнее полное и подробное руководство.
  • В этой статье рассказывается, как использоватьДвижок Unity для создания и публикации игры Douyin Xiao
  • Будь то создание приложения WeChat или приложения Douyin.,Ядро по-прежнему использует движок Unity для выполнения различных задач.,Это просто добавляет некоторые ограничения на некоторые функции.,Например, загрузка файлов ресурсов локально и так далее.
  • Перед началом производства вы можете перейти на соответствующую официальную платформу и проверить примечания к документации.
  • Этапы реализации на самом деле очень просты,Разделено на три простых шага:Получить АППИДИнтегрированный SDKСоздайте и опубликуйте свою игру。Давайте посмотрим, как это работает ниже.。

[Мини-игра Douyin] План Unity по созданию мини-игр Douyin Скоро появится последнее полное и подробное руководство [постоянно обновляется].

1. Соответствующая подготовительная работа

1.1 Используемые связанные URL-адреса

1.2 Зарегистрируйте учетную запись разработчика Byte

Перейти кПлатформа для разработчиков мини-программ Byte,Зарегистрировать аккаунт,Затем создайте небольшую игру,Выберите игруUnity&UEМаленькийиграи заполните немного Основная информация。

Игра должна пройти «аутентификацию субъекта» и «основную информацию», прежде чем ее можно будет выпустить в Интернете. Сертификация субъекта включает в себя квалификацию субъекта, публичную проверку платежа и заявку на подпись ЦС. Просто нажмите здесь один за другим и заполните все необходимые личные данные. При подаче заявления на подпись ЦС вы можете выбрать личную подпись или подпись ЦС в соответствии с вашими предпочтениями. потребности. Любая компания в порядке.

Затем просто подождите, пока платформа его рассмотрит. Как правило, проверка выполняется быстро в рабочие дни.

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

Если вы используете его для тестирования, вам не нужно заполнять этот раздел. Просто поймите его. Если вы не заполняете его, вы можете собрать, выпустить и протестировать его на Douyin.

На этом этапе вернитесь на платформу разработчика, чтобы увидеть созданное нами приложение и получить соответствующий AppID. Это конечная цель!


2. Сопутствующая интеграционная работа

2.1 Загрузите необходимые ресурсы для интеграции

На этом этапе мы интегрируем SDK, предоставленный Byte, что означает просто загрузку пакета и его импорт в Unity.

скачать байтыSDKАдрес можно найти в этом документе.:Документация StarkSDK_Unity

Затем импортируйте загруженный пакет .unitypackage в наш собственный проект Unity.

2.2 Установите StarkSDK и набор инструментов starksdk-unity-tools

Нажмите на строку меню ByteGame ->ByteGame Develop Tool Затем нажмите StarkSDK и starksdk-unity-tools, чтобы загрузить и установить.

2.3 Настройка сценария тестирования

Создайте тестовый сценарий в Unity, главным образом для проверки использования нескольких API.

Код выглядит следующим образом:

Язык кода:javascript
копировать
using System.Collections;
using System.Collections.Generic;
using StarkSDKSpace;
using UnityEngine;
using UnityEngine.UI;

public class StarkSDKDemo : MonoBehaviour
{
    public Button btn_StartRecord;
    public Button btn_StopRecord;
    public Button btn_ShareGame;
    public Button btn_FollowDouYinUser;
    public Button btn_CreateShortcut;
    public Button btn_GetAccount;
    public Button btn_OpenCustomer;

    public Text des;

    void Start()
    {
        btn_StartRecord.onClick.AddListener(StartRecord);
        btn_StopRecord.onClick.AddListener(StopRecord);
        btn_FollowDouYinUser.onClick.AddListener(FollowDouYinUser);
        btn_CreateShortcut.onClick.AddListener(CreateShortcut);
        btn_ShareGame.onClick.AddListener(ShareVideo);
        btn_GetAccount.onClick.AddListener(Login);
        btn_OpenCustomer.onClick.AddListener(OpenCustomer);
    }

    /// <summary>
    /// Начать запись видео
    /// </summary>
    void StartRecord()
    {
        des.text = («Тик Ток Начать запись видео ...");
        StarkSDK.API.GetStarkGameRecorder().StartRecord(true, 200, StartCallback, FailedCallback, SuccessCallback);
    }

    /// <summary>
    /// Остановить запись видео
    /// </summary>
    void StopRecord()
    {
        des.text = («Тик Ток Остановить запись видео ...");
        StarkSDK.API.GetStarkGameRecorder().StopRecord(SuccessCallback, FailedCallback, null, false);
    }

    void StartCallback()
    {
        des.text = («видео Начать запись выполнения обратного вызова ...");
    }

    void SuccessCallback(string videoPath)
    {
        des.text = («Фактический путь завершения видеозаписи:» + videoPath);
    }
    void FailedCallback(int errCode, string errMsg)
    {
        des.text = («При записи видео не удалось выполнить обратный вызов. ... Код ошибки: " + errCode + " , сообщение об ошибке: " + errMsg);
    }

    /// <summary>
    /// Поделиться видео
    /// </summary>
    void ShareVideo()
    {
        des.text = "начинать Поделиться видео";
        StarkSDK.API.GetStarkGameRecorder().ShareVideo(SuccessCallback, FailedCallback, CancelledCallback);

        void SuccessCallback(Dictionary<string, object> dictionary)
        {
            des.text = "Обратный вызов об успешном обмене видео ...";
        }

        void CancelledCallback()
        {
            des.text = «Отменить обратный вызов ...";
        }

        void FailedCallback(string errMsg)
        {
            des.text = ("Поделиться выполнение обратного вызова при видеосбое ... " + " , сообщение об ошибке: " + errMsg);
        }
    }

    /// <summary>
    /// Привязать аккаунт Douyin
    /// </summary>
    void FollowDouYinUser()
    {
        des.text = "начинать Привязать аккаунт Douyin";
        StarkSDK.API.FollowDouYinUserProfile(OnFollowAwemeCallback, OnFollowAwemeError);
        void OnFollowAwemeCallback()
        {
            des.text = «Обратный звонок для завершения открытия счета Douyin»;
        }
        void OnFollowAwemeError(int errCode, string errMsg)
        {
            des.text = («При записи видео не удалось выполнить обратный вызов. ... Код ошибки: " + errCode + " , сообщение об ошибке: " + errMsg);
        }
    }

    /// <summary>
    /// Создать ярлык
    /// </summary>
    void CreateShortcut()
    {
        des.text = "начинать Создать ярлык";
        StarkSDK.API.CreateShortcut(OnCreateShortcut);
        void OnCreateShortcut(bool bSuccess)
        {
            des.text = string.Format("Создать ярлык: {0}", bSuccess);
        }
    }

    /// <summary>
    /// Авторизоваться
    /// </summary>
    void Login()
    {
        des.text = "начинать Авторизоваться";
        StarkSDK.API.GetAccountManager().Login(OnLoginSuccessCallback, OnLoginFailedCallback,true);

        void OnLoginSuccessCallback(string code, string anonymousCode, bool isLogin)
        {
            des.text = «Временные учетные данные для входа:» + code + «.Используется для идентификации текущего устройства:» + anonymousCode + ".текущий Зарегистрировано ли приложение (Toutiao, Douyin и т. д.):" + isLogin;
        }
        void OnLoginFailedCallback(string errMsg)
        {
            des.text = " Ошибка входа Сообщение об ошибке: " + errMsg;
        }
    }

    /// <summary>
    /// Открыть страницу чата службы поддержки клиентов
    /// </summary>
    void OpenCustomer()
    {
        des.text = "начинать Открыть страницу чата службы поддержки клиентов";
        StarkSDK.API.OpenCustomerServicePage(
        (flag) =>
        {
            if (flag)
            {
                des.text = («Успешное открытие страницы обслуживания клиентов»);
            }
            else
            {
                des.text = («Не удалось открыть страницу обслуживания клиентов»);
            }
    });
    }
}

намекать:если РелизWebGLНе забудьте изменить шрифт,по умолчаниюArialшрифт в РелизWebGLПосле этого часто возникают проблемы: не отображаются шрифты или появляются искаженные символы.。 план:WindowsКомпьютер находится непосредственноC:\Windows\Fontsизменить шрифткопироватьприезжатьUnityПросто протестируйте это в проекте。


3. Сборка и выпуск

После установки двух вышеуказанных пакетов,в строке менюByteGameбудет еще один вариантStartSDKTools ,существоватьStartSDKTools Есть три варианта: Построить Tool、Wasm Сплит и публикация Tool。

  • Build Tool — это инструмент сборки, отвечающий за упаковку связанных настроек.
  • Инструмент публикации — это инструмент публикации, отвечающий за настройки публикации.

Дополнительную информацию о выпуске можно найти в официальной документации.:Вышла игра StarkContainer

Открыть строку меню ByteGame -> StartSDKTools -> Build ToolОткрытьBuildпанель。

Беговая система имеет Native и WebGL Два вида,Native можно упаковать только в APK для использования в Android.,А WebGL поддерживает AdnroidиIOS. В настоящее время Native относительно более стабилен.,Его можно построить и выпустить в соответствии с реальной ситуацией.

3.1 Родной выпуск

Выберите архитектуру Native и задайте AppID и путь.

Вы можете нажать «Просто создать APK» или опубликовать APK. Нажав «Опубликовать APK», вы перейдете на панель инструментов публикации PublishTool.

Затем заполняем UidиAppID, версию Android, выбираем Native, выбираем упакованный APK и нажимаем «Опубликовать».

Если появляется сообщение об ошибке публикации, предлагающее загрузить правильную версию Unity, нажмите «Просмотреть», а затем загрузите соответствующую версию Unity в соответствии с информацией в документе и попытайтесь повторно опубликовать.

Часто задаваемые вопросы о сбое публикации игры StarkContainer Официально объявленная причина: учитывая такие факторы, как безопасность и совместное использование движка, игры sc разрешают выпуск только определенных версий движка Unity.

3.2 Выпуск WebGL

Выберите архитектуру WebGL, выберите выходной каталог и нажмите «Создать».

После завершения построения нажмите «Опубликовать WebGL», затем заполните Uid, AppID и другую информацию. Не забудьте выбрать WebGL для плана публикации.

После завершения выпуска будет создан соответствующий QR-код. Откройте приложение Douyin и отсканируйте код, чтобы опробовать упакованный проект.

Некоторые API требуют от нас заполнения всей соответствующей базовой информации, прежде чем их можно будет использовать. Для конкретных методов использования вы можете проверить соответствующие документы, опубликованные выше. Если во время использования возникает ошибка, вы также можете проверить предыдущие документы, связанные с ошибками.

Ниже представлена ​​небольшая игра, упакованная и опубликованная в приложении Douyin. Вы можете отсканировать код, чтобы поиграть, и увидеть эффект:


Подвести итог

  • В этой статье описано, какСоздайте и опубликуйте игру Douyin Xiao через Unity.процесс。
  • В целом процесс создания приложения WeChat намного проще, чем Unity.
  • Основной принцип заключается в создании и выпуске соответствующей небольшой версии с помощью SDK, предоставляемого платформой разработчика.
  • Для получения дополнительной информации о функциях игры Douyin Xiao вы можете ознакомиться с документацией, предоставленной платформой разработчика.
  • Эта статья заканчивается здесь,Используйте Unity, чтобы создавать всевозможные забавные маленькие игры и публиковать их на различных платформах, чтобы в них можно было играть!

Информационная бесплатная проституция, техническая взаимопомощь

Путеводитель по маршруту обучения (нажмите, чтобы разблокировать)

позиционирование знаний

Позиционирование толпы

🧡 Колонка по изучению системы Unity 🧡

начальный уровень

Эта колонка начинается с начала работы с Unity и быстро достигает начального уровня Unity.

💛 Практические проекты Unity 💛

Продвинутый класс

Запланируйте создание 100 практических примеров Unity! Помогите вам войти в мир Unity и стремитесь создать самую полную коллекцию оригинальных блогов Unity.

❤️ Рубрика «Производство игр» ❤️

Сложность высокая

Делитесь и изучайте демо-версии готовых продуктов Unity, а также небольшие демо-версии на других языках!

💚 Сообщество из 10 000 любителей игр💚

Взаимопомощь/выдувание воды

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

💙100 практических навыков в Unity💙

Unity проверяет и заполняет пробелы

Изучите и познакомьте с некоторыми небольшими знаниями и навыками, которые часто используются в Unity.,Основная цель — дать нам возможность быстро освоить знания Unity, чтобы обнаружить и заполнить пробелы.

boy illustration
RasaGpt — платформа чат-ботов на основе Rasa и LLM.
boy illustration
Nomic Embed: воспроизводимая модель внедрения SOTA с открытым исходным кодом.
boy illustration
Улучшение YOLOv8: EMA основана на эффективном многомасштабном внимании, основанном на межпространственном обучении, и эффект лучше, чем у ECA, CBAM и CA. Малые цели имеют очевидные преимущества | ICASSP2023
boy illustration
Урок 1 серии Libtorch: Тензорная библиотека Silky C++
boy illustration
Руководство по локальному развертыванию Stable Diffusion: подробные шаги и анализ распространенных проблем
boy illustration
Полностью автоматический инструмент для работы с видео в один клик: VideoLingo
boy illustration
Улучшения оптимизации RT-DETR: облегченные улучшения магистрали | Support Paddle облегченный rtdetr-r18, rtdetr-r34, rtdetr-r50, rtdet
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | Деформируемое внимание с большим ядром (D-LKA Attention), большое ядро ​​​​свертки улучшает механизм внимания восприимчивых полей с различными функциями
boy illustration
Создано Datawhale: выпущено «Руководство по тонкой настройке развертывания большой модели GLM-4»!
boy illustration
7B превышает десятки миллиардов, aiXcoder-7B с открытым исходным кодом Пекинского университета — это самая мощная модель большого кода, лучший выбор для корпоративного развертывания.
boy illustration
Используйте модель Huggingface, чтобы заменить интерфейс внедрения OpenAI в китайской среде.
boy illustration
Оригинальные улучшения YOLOv8: несколько новых улучшений | Сохранение исходной информации — алгоритм отделяемой по глубине свертки (MDSConv) |
boy illustration
Второй пилот облачной разработки | Быстро поиграйте со средствами разработки на базе искусственного интеллекта
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция с нулевым кодированием и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
Решенная Ошибка | Загрузка PyTorch медленная: TimeoutError: [Errno 110] При загрузке факела истекло время ожидания — Cat Head Tiger
boy illustration
Brother OCR, библиотека с открытым исходным кодом для Python, которая распознает коды проверки.
boy illustration
Новейшее подробное руководство по загрузке и использованию последней демонстрационной версии набора данных COCO.
boy illustration
Выпущен отчет о крупной модели финансовой отрасли за 2023 год | Полный текст включен в загрузку |
boy illustration
Обычные компьютеры также могут работать с большими моделями, и вы можете получить личного помощника с искусственным интеллектом за три шага | Руководство для начинающих по локальному развертыванию LLaMA-3
boy illustration
Одной статьи достаточно для анализа фактора транскрипции SCENIC на Python (4)
boy illustration
Бросая вызов ограничениям производительности небольших видеокарт, он научит вас запускать большие модели глубокого обучения с ограниченными ресурсами, а также предоставит полное руководство по оценке и эффективному использованию памяти графического процессора!
boy illustration
Команда Fudan NLP опубликовала 80-страничный обзор крупномасштабных модельных агентов, в котором в одной статье представлен обзор текущего состояния и будущего агентов ИИ.
boy illustration
[Эксклюзив] Вы должны знать о новой функции JetBrains 2024.1 «Полнострочное завершение кода», чтобы решить вашу путаницу!
boy illustration
Краткое изложение базовых знаний о регистрации изображений 1.0
boy illustration
Новейшее подробное руководство по установке и использованию библиотеки cv2 (OpenCV, opencv-python) в Python.
boy illustration
Легко создайте локальную базу знаний для крупных моделей на основе Ollama+AnythingLLM.
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание решения. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Одна статья поможет вам понять RAG (Retrival Enhanced Generation) | Введение в концепцию и теорию + практику работы с кодом (включая исходный код).
boy illustration
Эволюция архитектуры шлюза облачной разработки
boy illustration
Docker и Kubernetes [Разработка контейнерных приложений с помощью Python]