2015-05-15 2 views
1

У меня есть игра, запрограммированная в Unity3D, чтобы опубликовать ее в конце для iOS и Android.Приложение для кросс-платформы Unity3D

Предположим, что приложение App установлено на мобильном устройстве, и я хочу управлять им через внешнее устройство с низким энергопотреблением Bluetooth (например, датчик частоты сердечных сокращений)
Что было бы лучшим способом сделать архитектуру для создания это кросс-платформа?
Например, чтобы сделать его самым простым способом реализовать его на iOS и Android?

*External*  *Mobile* 

Bluetooth Low Energy устройство -> Что-то .. -> Unity

Что-то = Что кросс рамочной платформы вы мне совет использовать, который может взаимодействовать с Bluetooth Low Energy (в будущем также с базой данных) и Unity3D передать ему логику?

Большое спасибо

ответ

2

Unity делает НЕ есть API Bluetooth, чтобы использовать Bluetooth на прошивкой и Android. Способ сделать это, чтобы сделать плагин.

Для iOS вы можете написать плагин или функции в Ocjective-C или C++. Затем вы помещаете файл .cpp или.mm в каталог Assets/Plugins/iOS.

для Android, Вы должны написать Android плагин в Java или C++, то скомпилировать его в .jar exntention и поместите файл банку в Assets/Plugins/Android

Каждый модуль должен иметь thesame имена функций, чтобы они соответствовали друг с другом. Если вы хотите скомпилировать для Android или iOS, Unity автоматически выберет правильную папку с плагинами для использования для указанной мобильной платформы.

Хороший способ сделать этот плагин - написать целое приложение на iOS или Android и протестировать ваши функции в XCode или Android Studio. Если они работают, то вы можете пойти и преобразовать его в плагин, который будет использоваться в Unity. Это экономит время.

EDIT:

Я не люблю adversing продукты, но я знаю, что это поможет вам так вот плагин, который вы можете использовать для Bluetooth LE communcaitions, который работает на Android и IOS. https://www.assetstore.unity3d.com/en/#!/content/26661 Этот плагин является новым, но имеет хорошие отзывы. Вот почему я разместил его.

Пожалуйста, имейте в виду, что большинство Датчики частоты сердечных сокращений имеют встроенный защитный и проприетарный протокол связи. Таким образом, даже если он использует Bluetooth, вам придется перепроектировать протокол, а затем написать класс C#, используя подключаемый модуль Bluetooth, который я связал здесь, чтобы иметь возможность общаться с ними. Вы можете перестроить любой датчик сердечного ритма. Просто купите одного из знаменитых, а затем получите iPhone и телефон Android.

Побег из тюрьмы iPhone и корень устройства Android.Установите приложение bluetooth sniffing и попробуйте сообщить свое устройство датчика сердечного ритма с помощью iPhone или Android. Вы можете прочитать, что было отправлено на устройство датчика сердечного ритма с iPhone/Android или что iPhone/Android отправляет на устройство датчика сердечного ритма. Это то, что вам нужно отправить в свой класс C#, чтобы он работал. Другие способы сделать это - декомпилировать приложение, которое поставляется с устройством измерения сердечного ритма (не рекомендуется). Вы можете видеть, что происходит оттуда.

Если датчик скорости Сердце имеет API для Android или IOS, не будет иметь никакого другого выбора, кроме как написать плагин себя на вершине API они предоставляют для него.

Если вы создаете собственное устройство датчика сердечного ритма, то это должно быть проще. Вы можете создать прототип с Arduino и связаться с ним с помощью подключаемого модуля Plugin. Если это сработает, вы можете перейти к нему, чтобы сделать его настоящим продуктом.

Похоже, что H6 и H7 являются самыми известными. У них также есть страница для разработчиков. С ними легко будет общаться, потому что они используют стандартный протокол вместо проприетарных, как это делают некоторые.

http://developer.polar.com/wiki/H6_and_H7_Heart_rate_sensors

код Android сердечного ритма датчик (стандарт):

http://developer.android.com/guide/topics/connectivity/bluetooth-le.html

IOS сердечного ритма код датчика (не про стандарт):

http://developer.polar.com/wiki/H6_and_H7_Heart_rate_sensors#HR_example_code_for_Android

Вы можете по электронной почте разработчик плагина, который я разместил в ссылке, и прошу, чтобы они могли поддерживать или помочь вам внедрить датчик сердечного ритма. Они могут это сделать. Удачи.

+0

Большое спасибо за подробный ответ. Есть ли какое-либо кросс-платформенное программное обеспечение для разработки (предпочтительнее на C#), в котором я могу написать свой код и иметь API Bluetooth, а также подключиться к Unity с помощью уже сделанного плагина? Может, Хамарин? – user1902346

+0

Я отредактировал ваш ответ. ХАМАРИН НЕ является ответом. Это бесплатно для студентов, и в нем слишком много ошибок. – Programmer

+0

Отличный ответ. Спасибо за подробный и профессиональный ответ. – user1902346

Смежные вопросы