2017-09-06 12 views
0

SurfaceViewを使用して開発したAndroid上に、公開された2Dパズルゲーム(各フレームに400個の小さな画像を描画する必要があります)があります。いくつかのタブレットや携帯電話の性能上の問題のために、私は他の選択肢を見なければなりません。ユニティが最善の選択肢だと思われます。私がこれをする前に、いくつか質問があります。AndroidのSurfaceViewゲームをAndroid上のUnity Engineに移植する

  1. ほとんどのAndroid搭載デバイスで、より高速で一貫性のあるパフォーマンスを提供できますか? (フレームごとに400個のアイテムを描画するような)

  2. AndroidレイアウトとアクティビティをUnity アクティビティと混在させることはできますか?私はGoogleがユニティ からアプリ内購入を再生(私はちょうど団結が アンドロイドレイアウト/フラグメント/活動を使用して、ゲームの既存の実装を保ちながら一部 ゲームプレイを置き換えることができ、ここでされて何を意味)

  3. を呼び出すことができますゲームキャンバス?画像.IF

答えて

2

は、それがすることができるかもしれない非常に小さいです。各画像を表示するには、ImageまたはRawImageコンポーネントを使用します。パフォーマンスがまだ悪い場合は、GPUインスタンシングを使用して、最近ユニティで使用するのがより簡単になりました。

。あなたはJavaプラグインを作成してUnityから読み込むことができます。また、レイアウトでJavaでアクティビティを書き込んでからUnityプログラムを制御することもできます。詳細については、this投稿を参照してください。

でも可能ですがです。そうしなければJavaコードを書くだけで、Androidのみで動作するゲームになります。 Unityを使用するポイントは、ほとんどのデバイスで動作するゲームを作成することです。すべてのコードをC#に移植します。それは私がやることです。

.Yesでは、Prime31プラグインを使用してUnityでGoogle Playのアプリ内購入を使用することも、使いやすいUnity IAPを使用することもできます。プラグインを一切必要としません。

+0

非常に便利な答えをありがとう。私が何かをする前に、質問1にもっと集中したいと思います。私は、アンドロイドキャンバスのパフォーマンスの問題のために、Unityに移植しようとしています。パフォーマンスが悪い場合は、ポイントを移植する必要はありません。私のゲームはジグソーパズルで、画像がダウンロードされて400歩に砕かれます。だから、私は1画像しか読み込まないので、これはUnityでうまく処理できると思いますか? – pats

+0

試してみてください。ちょうど400枚の小さな画像を表示して、あなたがフレームレートでうまくいるかどうかを確認してみてください。もし私が言及したようなGPUのインスタンス化を使用しないでください。 GPUインスタンス化を使用して何千ものオブジェクトをインスタンス化できます。 GPUインスタンスの1つの欠点は、モバイルデバイスがOpenGL-ES 3以上を実行していなければならないことです。したがって、OpenGL-ES 2で動作する古いデバイスでは、GPUインスタンス化は機能しません。 – Programmer

関連する問題