こんにちは。エクセルソフトの田淵です。
弊社取り扱いの Kudan AR SDK のエントリーです。
SDK のダウンロードは こちら からお申込みください。SDK を使った開発と、個人開発者のリリースは無料でご利用いただけます。企業の方は有料になりますので、@ytabuchi までご連絡ください。
前回の Android のエントリー ではマーカーの上に 3D モデルを表示させるところまでをやりました。
今回は動画を表示してみたいと思います。
現時点でのサンプルコードは ytabuchi の Github にアップしてあります。この後もコミット追加していくのでスナップショットです。
Asset の準備
Finder で waves.mp4
をコピーして、Android Studio の assets
フォルダでペーストします。
プロジェクト配下にコピーするか聞かれますので、「OK」をクリックします。
waves.mp4
が 25MB ほどあるので、GitHub にアップする際には注意してください。また、このwaves.mp4
が変化が小さくとても見づらいので、ロイヤリティフリーの こんな動画 を使うのも良いかもしれません。
画面(activity_main.xml)の編集
前回同様、動画を表示するボタンを追加します。以下のボタンを ConstraintLayout
の最後に追加します。
<Button android:id="@+id/showVideoButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="8dp" android:layout_marginLeft="8dp" android:onClick="showVideoButtonClicked" android:text="Video" app:layout_constraintBottom_toTopOf="@+id/clearButton" app:layout_constraintLeft_toRightOf="@+id/showModelButton" />
コード(MainActivity.kt)の編集
ボタンクリック時のメソッドで videoNode
を操作するので、MainActivity
のクラス変数に以下を追加します。
private lateinit var videoNode: ARVideoNode
addModelNode
の下に addVideoNode
を作り、以下のコードを追加します。
private fun addVideoNode(){ // ARVideoTexture を mp4 ファイルで初期化 val videoTexture = ARVideoTexture() videoTexture.loadFromAsset("waves.mp4") // ARVideoTexture で ARVideoNode をインスタンス化 videoNode = ARVideoNode(videoTexture) // videoNode のサイズを Trackable のサイズに合わせる val scale = imageTrackable.width / videoTexture.width videoNode.scaleByUniform(scale) // videoNode を trackable の world に追加 imageTrackable.world.addChild(videoNode) // 初期状態で非表示 videoNode.visible = false }
以下の showVideoButtonClicked
のイベントハンドラを追加します。
fun showVideoButtonClicked(view: View){ hideAll() videoNode.videoTexture.reset() videoNode.videoTexture.start() imageTrackable.world.children[2].visible = true }
最後まで再生すると動画が止まってしまうので、ボタンクリック時にストップスタートしています。。
最後に setup
メソッドの最後に addVideoNode()
を追加します。以下のようになります。
override fun setup() { addImageTrackable() addImageNode() addModelNode() addVideoNode() }
これで完了です。ビルドして動かしてみましょう。
サンプルの waves.mp4
が波が地味にザザーンと動くだけなので動いているか良くみてあげてくださいw
以下のように表示されれば成功です。
この後は
次は遂にマーカーレスにチャレンジしてみたいと思います。
Kudan AR SDK エントリー一覧
Kudan AR SDK チュートリアル記事まとめ | エクセルソフト ブログ
をご覧ください。
以上です。