Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/47: Рейтинг темы: голосов - 47, средняя оценка - 4.55
6 / 4 / 4
Регистрация: 23.06.2018
Сообщений: 166

Получение данных из VK API в Unity

24.01.2020, 00:50. Показов 8995. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, форумчане!

Написал игру на Unity (C#), чтобы залить потом в ВК и решил, что пришло время самого святого, а именно API. Посмотрел информацию в интернете, почитал документацию, потренировался на обычных приложениях и уже собирался делать всё в Unity, как не тут-то было. У меня не получается вообще никак взаимодействовать своей игрой с API. Я не могу вообще его подключить, даже банально библиотеку, которая для этого нужна. Я знаю, что много игр в ВК написан в Unity и они как-то смогли подключить. Так вот, как это сделать?! Я уже очень долго мучаюсь, многое перепробовал, но что-то как-то не очень. Помогите пожалуйста с этим недугом.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.01.2020, 00:50
Ответы с готовыми решениями:

Soap получение данных от api
Здравствуйте. Пишу обработчик API. Вот пример кода, которым я получаю список специальностей: Запрос <soapenv:Envelope...

Получение данных API и обновление Redux
Написал опросник, который при загрузке станицы сразу грузит вопрос из API, функцию загрузки вопроса запускаю в componentDidMount(), как...

Youtube API v3 - получение данных с сервиса
Приветствую! Может кто-то сталкивался с Youtube API v3 или может подсказать возможно ли вытянуть с каналов на Youtube такие данные как...

14
 Аватар для Steroid
296 / 217 / 86
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1
24.01.2020, 01:23
Цитата Сообщение от OlegDamage Посмотреть сообщение
Написал игру на Unity (C#), чтобы залить потом в ВК и решил, что пришло время самого святого, а именно API
это надо делать с самого начала
теперь переноси всю свою игру на юнити

иначе никак

подключить апи юнити к другому проекту не получится
0
6 / 4 / 4
Регистрация: 23.06.2018
Сообщений: 166
24.01.2020, 06:42  [ТС]
Steroid, так а как хотя-бы чистый проект подключить к VK API?
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,965
Записей в блоге: 228
24.01.2020, 10:57
Вы хотите делать игры в виде нативных приложений (сборок для desktop/mobile) или вы собираете в WebGL?
0
6 / 4 / 4
Регистрация: 23.06.2018
Сообщений: 166
24.01.2020, 11:25  [ТС]
8Observer8, для WebGL. Она будет как обычная игра в ВК и будет запускаться в ВК.
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,965
Записей в блоге: 228
24.01.2020, 11:39
Я подключался к VK API из Unity через из JavaScript. Из C# можно вызывать JavaScript функции. А так же можно посылать сообщения из JavaScript файлов в Unity. Подробнее в документации: WebGL: Interacting with browser scripting В остальном, читайте, как работать с VK API из JavaScript.
0
6 / 4 / 4
Регистрация: 23.06.2018
Сообщений: 166
24.01.2020, 12:02  [ТС]
8Observer8, Unity прекратила поддержку Javascript. Их уже нельзя создавать. Или это не имеет значение?
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,965
Записей в блоге: 228
24.01.2020, 12:33
Цитата Сообщение от OlegDamage Посмотреть сообщение
Unity прекратила поддержку Javascript. Их уже нельзя создавать.
Вы не путайте обычный JavaScript, который будет находиться в отдельных .js файлах рядом с вашим созданным index.html (он создаётся во время сборки в WebGL), с тем JavaScript-подобным языком, который был в Unity и который назывался UnityScript.

После сборки в WebGL, вы должны создать .js файлы в папке с WebGL билдом, а в index.html подключить свои js-файлы с помощью тега <script>. Это будет обычный JavaScript код, который примеряют для разработки веб-приложений. В этих js-файлах вы напишите функции для обращения к VK.API. Вы будете вызывать эти функции из C# кода с помощью методики описанной в документации: WebGL: Interacting with browser scripting.

То есть вы обращаетесь из C# скриптов к стандарным JS-скриптам. В документации написано, как передавать данные из C#-скриптов в JS-скрипты и обратно. Вам нужно будет работать с VK API из обычных стандарных JS-скриптов, как это делается для обычных веб-приложений. Как раз в документации в руководствах больше всего освещена имена работать с VK API из JavaScript.
2
6 / 4 / 4
Регистрация: 23.06.2018
Сообщений: 166
24.01.2020, 13:00  [ТС]
8Observer8, спасибо большое за пояснение, буду пробовать.
0
 Аватар для Steroid
296 / 217 / 86
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1
24.01.2020, 13:19
Цитата Сообщение от OlegDamage Посмотреть сообщение
так а как хотя-бы чистый проект подключить к VK API?
а ссорян я кажется не понял вопроса...
я думал приложуха написана на с# в визуалстудио и ты хочешь её к апи юнити подключить

в принципе ответ дан
что дальше "жевать"
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,965
Записей в блоге: 228
24.01.2020, 13:33
Лучший ответ Сообщение было отмечено OlegDamage как решение

Решение

Мой вольный перевод первых двух абзацев из Unity-документации. Может это вам поможет начать.

WebGL: Interacting with browser scripting
When building content for the web, you might need to communicate with other elements on your web page. Or you might want to implement functionality using Web APIs which Unity does not currently expose by default. In both cases, you need to directly interface with the browser’s JavaScript engine. Unity WebGL provides different methods to do this.

Calling JavaScript functions from Unity scripts
The recommended way of using browser JavaScript in your project is to add your JavaScript sources to your project, and then call those functions directly from your script code. To do so, place files with JavaScript code using the .jslib extension under a “Plugins” subfolder in your Assets folder. The plugin file needs to have a syntax like this:
WebGL: Взаимодействие с браузерными скриптами
Когда вы создаёте контент для веб, то вы возможно захотите взаимодействовать с другими элементами на вашей веб-странице. Или вы захотите реализовать взаимодействие с Веб API (например, VK API), поддержка которого не реализована в Unity. В обоих случаях вам нужен прямой интерфейс с браузерным JavaScript движком. Unity WebGL предоставляет несколько способов для этого.

Вызов JavaScript функций из Unity скриптов на C#
Мы рекомендуем использование браузерного JavaScript из ваших проектов через добавление исходных файлов JavaScript в ваш проект с дальнейшим вызовом ваших функций на JavaScript из C#-скриптов. Для этого переименуйте расширение ваших файлов ".js" на ".jslib". Поместите JavaScript скрипты в папку Plugin. Плагины должны иметь следующий синтаксис.
Здесь я должен заметить, что я выше описывал немного другой способ, когда я располагал папку с моими браузерными js-скриптами рядом с файлом "index.html", а в "index.html" я подключал эти js-скрипты с помощью тега <script>. А теперь этот способ deprecated, то есть не рекомендуется к использованию. Нужно использовать тот способ с расширением ".jslib" и хранением хранением JavaScript в папке Plugin, который описан в документации. Я помню, что пробовал и этот способ тоже. Ничего сложного. Делайте последовательно, как описано в руководстве выше и всё получится. VK API прост: посылаете запрос, получаете ответ. Документация на VK API хорошо описана на русском.
1
6 / 4 / 4
Регистрация: 23.06.2018
Сообщений: 166
29.01.2020, 20:58  [ТС]
8Observer8, разрешите ещё один вопрос. Я сейчас как раз занимаюсь всем этим делом и всё получается, но я застрял на одном месте. А именно я не могу передать в Unity русскую строку.

JavaScript
1
2
3
4
5
6
7
function drawText() {
 
        var test = "Тест";
        var test2 = "Test";
        gameInstance.SendMessage("VKAPI", "GetString", test);//Текст в Unity не появится, так как строка на русском
        gameInstance.SendMessage("VKAPI", "GetString", test2);//Текст в Unity появится, так как строка на английском
      }
Как это исправить? В консоль в браузере всё выводится, если использовать console.log(), но в саму Юнити наш отечественный язык переходить не может. Даже ошибки не выдаёт. Как быть?
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,965
Записей в блоге: 228
29.01.2020, 21:48
Я не знаю. Я не пробовал русский передавать. К сожалению, попробовать у себя не могу, так как я временно удалил Unity. Я почти уверен, что кто-нибудь вам поможет.
0
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
29.01.2020, 21:58
Костылем обверни в виде кодирования кириллицы в байты или еще что-то, а на стороне юньки расшифровывай.
0
67 / 1 / 0
Регистрация: 10.04.2019
Сообщений: 54
26.01.2024, 22:35
Цитата Сообщение от OlegDamage Посмотреть сообщение
Я уже очень долго мучаюсь, многое перепробовал, но что-то как-то не очень. Помогите пожалуйста с этим недугом.
https://github.com/nkrapivin/U... ree/master
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.01.2024, 22:35
Помогаю со студенческими работами здесь

API Вконтакте (получение данных о пользователе)
Здравствуйте. Хочу сделать на сайте, что бы когда пользователь заходил на главную, он видел надпись &quot;Привет + его имя и фамилия из...

Пользователь запретил получение данных о местоположении. ASP.NET Core MVC Google map api
В настройках андройд указано - запрашивать перед тем как запрещать, но при загрузке сайта сразу выдает это сообщение. На других телефонах...

Unity API
Доброго времени суток. Подскажите, есть ли какие-нибудь книги(русскоязычные) по Unity API?

Как подключить Android API в unity?
Мне нужно подключить две библиотеки из API ОС Android. Первая для работы с файлами (открытие изображений и т. д.), а вторая для голосового...

Как верно использовать JavaScript native Fetch API вместо jQuery для опроса данных из API
Я разбираюсь в js, и на данный момент понял что метод из js Fetch может сам отправлять запросы на сервер и динамически подгружать данные по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru