UE4のプラグインのAndroidCameraPlayerを使ってカメラから画像を取得する方法です。
手順については公式にもありますが僕の場合(GalaxyA7)では動かなかったので独自の方法を記載します。
まず、AndroidCameraPlayerプラグインにチェックを入れ、設定をします。
設定は全てにチェックを入れといた方がいいでしょう。
そしたらMediaPlayerを作ります。メニューからBP作るみたいに作れます。ついでにPlayerPawnなども作っておきましょう。
レベルBPでまず、MediaPlayerTextur変数をMediaPlayer型で作り、デフォルトでMediaPlayerを設定しておきます。して、こんな感じでBPを組みます。URLってありますがデバイスの場所をよみだしてセットしてます。
ちなみに設定はこうします。
で、再生してMediaPlayerTextur変数にカメラからの画像を入れています。
ここでは真正面に平面を置いてます。平面にはMediaPlayerを作成すると一緒にできるMediaPlayer_VideoをドラッグするとMediaPlayer_Video.Matというマテリアルができるので、平面にこのマテリアルを設定します。
これで端末(僕の場合はGalaxyA7)をUSBで接続して起動をさせると起動しますが何も表示されません。
で、作られたアプリの権限を見るとカメラが許可されていないので許可にしてもう一度起動するとカメラからの画像が表示されます。
おばけスキャンではこの得られた画像の前後を比較しておばけがいるか見つけて平行にARCoreを使っていますがそのうちARCore非対応機種でも遊べるようにしようかと思ってます。実装はおばけスキャンで確認してみてください。
以上です。カメラのバーミッションはAndroidManifest.xmlで変更すればいいかと思いますよ。
このAndroidCameraPlayerを使ったアプリはコチラからDLできます。動作はGalaxyA7で確認しています。
注意)batでインストールしたら設定でアプリにカメラへのアクセスの権限を許可してください。アクセス権がないと真っ白な空が表示され起動後5秒でquitします。正常な場合でも起動後20秒でカメラ画像が消えて真っ白な空が5秒表示され、quitします。