JavaのGoogle VR SDKを使って,ARMモデルに準拠したDayDreamのコントローラの使用をした話.

DayDreamコントローラをJavaで扱う

Mirage Soloを購入しましたので,色々試しています.

0618-1.jpg

今まで使っていたCardboardとは違って, Mirage SoloなどのDayDream機ではコントローラーを使えるのですが, 方針としてARMモデルとやらを使わなければならないという基準があります.

そういうことなら当然,このARMモデルはGoogle VRのSDKでサポートされているのかと思っていたのですが, どうもNDKとUnityではサポートされているのですが,困ったことにJava版のSDKではサポートされていないようです.

Java版は色々と,機能が貧弱なようです.

ないものは仕方ないので,NDKのSDKを使ってコントローラーにアクセスする仕組みをJNIでJavaにラップしたものを作って,
アプリとしては全てをJavaで行うが,裏ではJavaとNDKの両方のSDKを使うというハイブリッド方式で実装してみました.

サンプルソースとして, GVR SDKに付属しているJava版のサンプル(sdk-treasurehunt)に対して,この方式を使ったコントローラーへのアクセス機能を追加したものを, GitHubにアップしました.

treasurehuntサンプルでは角体が宙に浮きますが,この位置をコントローラーで操作できるようになっています.
そしてこの操作に,ARMモデルが適用されているはずです.

# 「はずです」というのは,ARMモデルを適用しているかどうかによる動きの違いが,自分には正直なところよくわからないのです...


© 2024 KMIソフトウェア