質問するログイン新規登録
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

354閲覧

AndroidのActivityの一部分をUnityで、他方をAndroid上のjavaで描画する方法はあるでしょうか?

drednote

総合スコア348

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2025/06/18 09:33

0

0

実現したいこと

Androidアプリを作成しています。
同時に画面に出ているUI等はUnityで、背景にexoPlayerで動画再生しており、動画部分はJavaで描画したいと思っているのですが、実現可能でしょうか?
UIは動画に重なってない状態で問題ありません。

発生している問題・分からないこと

調べた限りでは、ネイティブのTextureView等とUnityのTextureに互換性は無く、相互変換も容易には出来ないようなので、実現方法が無さそうにも見えているのですがどうでしょう?

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

GoogleでUnityとAndroidの共存しているような方を検索してみましたが、成功例は見当たりませんでした。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fiveHundred

2025/06/18 11:02

VideoPlayerで動画再生が可能です。 https://docs.unity3d.com/ja/2022.3/ScriptReference/Video.VideoPlayer.html そうでなくとも、AssetStoreで「video player」と検索すればいくつも存在するため、わざわざこのような構成にする必要はないように思えますが、何かそのようにしたい理由があるのでしょうか。
drednote

2025/06/19 01:17

media3のtransformerで動画変換も行う予定なので、exoPlayerで再生出来る動画とtransformerで変換出来る動画が同一になると思うので都合が良かったのですが、まぁそこは他にもやりようはありそうですね。 VideoPlayerについて検討してみます
drednote

2025/06/23 04:07

videoPlayerについて少し調べてみましたが、exoPlayerに比べて *動画の「向き」を考慮した再生をしてくれず、動画のビデオトラックをデコードした物をそのまま表示している為、通常のAndroidスマホカメラで縦画面で撮影した動画を再生すると横に倒れてしまう *Android端末がネイティブに対応しているコーデックのみ対応で、VP9等のソフトコーデックは持っていない という点について不満はありますが、まぁ使えなくは無いという感じでしょうか。 VideoPlayerを使う方向で検討を進めています
guest

回答1

0

ベストアンサー

コメント欄にあるとおり、Unityだけで解決できるのであれば、それに越したことはないでしょう。
そちらで解決することをおすすめします。


とはいえ、ちょっと興味があったので、軽く調べました。
調べただけで、実際にやったことはありません。

公式のマニュアルに、Activityをオーバーライドする話があります。

どうやら、 UnityPlayerActivity というクラスを継承したアクティビティを作ればできそうです。
ただ、Viewの配置はどうすんの?という疑問が起きるので、もう少し調べると、

この辺りが出てきました。
どうやら、 UnityPlayer というのがUnityのシーンをレンダリングするViewのクラスのようです。

投稿2025/06/19 23:43

katsuko

総合スコア3601

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

drednote

2025/06/23 04:14

まだちゃんと試せてないですが、FrameLayoutにUnityPlayerと、他AndroidネイティブのViewを入れてやると色々と出来そうですね。 ちょっとまだ試す時間が取れていませんが、出来るだけ直近で試したいと思います
drednote

2025/06/24 10:27

UnityPlayerActivityの継承元がGameActivityになっていたりで少し調査が要りましたが、基本的にActivityと同じくaddContentViewで重ねることで、Unityの画面の上にAndroidネイティブのUIを表示出来ました。 基本これで行けそうですね、有り難うございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問