IN2AR でマーカーデータを動的にロード
ちょっと仕事がらみでユージン先生作の超素敵な AR エンジン「IN2AR」を試していたなかで、AR マーカーファイルをアプリにエンベットせずにサーバー上から動的に読み込んでも無事動作したのでちょっとだけメモ。
マーカー読み込み部分のコードはこんな感じ。(エラー処理は省略)
private var _loader:URLLoader; private var _markerData:ByteArray; private function dataLoader():void { var req:URLRequest = new URLRequest( "マーカーデータのURL" ); req.contentType = "application/octet-stream"; // URLLoaderDataFormat.BINARY でロード _loader = new URLLoader(); _loader.dataFormat = URLLoaderDataFormat.BINARY; _loader.addEventListener( Event.COMPLETE, onDataLoaded ); _loader.load( req ); } private function onDataLoaded( e:Event ):void { _loader.removeEventListener( Event.COMPLETE, onDataLoaded ); // マーカーデータ(ByteArray)に読み込んだデータをセット _markerData = _loader.data; // ここから AR部分の処理を開始 }
マーカーデータといえども、バイト配列で使用するのでこの方法で簡単に読み込めました。
これでアプリ内にマーカーファイルを全部埋め込んでおかなくても、必要なマーカーを動的にサーバから取得できるようになるのでなにかと便利ですよね。