LoginSignup
1
1

More than 5 years have passed since last update.

Vuforia5.0.10 + Unity5.3.1f1 + Xcode7.2でMobile Movie Texture2.1.2を使う

Last updated at Posted at 2016-01-29

何がしたかったか

iPhone上で、ARで、動画再生をしたかったのですが、
なかなか手ごわい部分があったので、解決方法を含めて共有します。

使用したライブラリについて


ARやモバイル端末上での動画再生を実現させるには、他にもいくつかオプションがありますが、
本稿では上記のアセットを利用した際に陥りやすい問題と、その解決方法について記載します。

VuforiaとMMTを共存させる

プラグインに含まれるVuforiaNaviveRendererController.mmと、
MMTAppController.mmをマージする必要があります。

マージの情報は、MMTのフォーラムにも投稿がありますが、古いバージョンに対するもので、
そのままコピペしても動作しません。

マージ方法

  1. VuforiaNativeRendererController.mmを削除
  2. 残った方に以下のソースをコピペ
#import <UIKit/UIKit.h>
#import "UnityAppController.h"
#import "VuforiaRenderDelegate.h"

extern "C" void MMTUnitySetGraphicsDevice(void* device, int deviceType, int eventType);
extern "C" void MMTUnityRenderEvent(int marker);
extern "C" void VuforiaRenderEvent(int marker);

@interface MMTAppController : UnityAppController
{
}
- (void)shouldAttachRenderDelegate;
@end

@implementation MMTAppController
- (void)shouldAttachRenderDelegate;
{
    self.renderDelegate = [[VuforiaRenderDelegate alloc] init];
    UnityRegisterRenderingPlugin(NULL, &VuforiaRenderEvent)
    UnityRegisterRenderingPlugin(&MMTUnitySetGraphicsDevice, &MMTUnityRenderEvent);
}
@end

IMPL_APP_CONTROLLER_SUBCLASS(MMTAppController)

今回はVuforiaNativeRendererController.mmを削除して
MMTAppController.mmに記述していますが、どちらでも構いません。
(その場合、適宜修正してください)

armv7をビルドターゲットから除外する

全くスマートじゃない解決方法ですが、libtheorawrapper関連がビルド時にエラーを吐くので、
とりあえずarmv7をビルドターゲットから除外することで回避できます。

恐らく、もっとちゃんとした解決方法があると思いますので、ご存知の方はフォローお願いします……

VuforiaのPlugin設定

Vuforiaを使用したプロジェクトでは、UnityEditor上で以下の作業を行わないと
CodeSign Failedのエラーで、Xcode上のValidateやExportに失敗します。

Platforms for pluginの変更

  1. UnityEditorのProjectタブからPlugins > QCARWrapperを選択
  2. Inspector上でAny PlatformになっているのをEditor + Standaloneに変更する

上記の対応を行うことで、実機動作が確認できました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1