Version: 2017.1
UnityPlayerActivity Java コードの拡張
Android スプラッシュスクリーンのカスタマイズ

Android の ネイティブ (C++) プラグイン

Unity は、 C/C++ で書かれて共有ライブラリ (.so) にパッケージされた Android 用のネイティブプラグインに対応しています。

Android 用の C++ プラグインをビルドするには、AndroidNDK を使用して、共有ライブラリのビルド手順に慣れ親しむようにしてください。

C++ を使用してプラグインを実装する場合は、名前修飾の問題 を回避するために、メソッドを C リンケージで宣言するようにしてください。

extern "C" {
  float Foopluginmethod ();
}

ライブラリをビルドした後、出力された .so ファイルを Unity プロジェクト内の Assets/Plugins/Android ディレクトリにコピーします。Inspector で Android のチェックボックスをオンにして .so ファイルを Android に適応させ、ドロップダウンで適切な CPU アーキテクチャを設定します。

Inspector ウィンドウの、ネイティブ (C++) プラグインのインポート設定
Inspector ウィンドウの、ネイティブ (C++) プラグインのインポート設定

C# スクリプトからネイティブプラグインのメソッドを呼び出すには、以下のコードを使用します。

[DllImport ("pluginName")]
private static extern float Foopluginmethod();

pluginName には、ファイル名のプレフィックス (‘lib’) または拡張子 (’.so’)を加えないでください。すべてのネイティブプラグインメソッドの呼び出しを追加の C# コードレイヤーでラップすることが推奨されます。このコードは Application.platform を確認し、アプリケーションが実際のデバイス上で実行されている場合にのみネイティブメソッドを呼び出します。エディターで実行しているときには、ダミー値が C# コードから返されます。プラットフォーム依存のコードのコンパイルを制御するには、プラットフォームの定義を使用してください。

ネイティブ(C++)プラグインの参考例

この zip ファイル にはネイティブコードプラグインの簡単な例が含まれています。 この例では、Unity アプリケーションからどのように C++ コードが呼び出されるかが確認できます。パッケージには、ネイティブプラグインが計算した 2 つの値の合計が表示されるシーンが含まれています。このプラグインをコンパイルするには Android NDK が必要です。



  • 2017–05–18 編集レビュー 無しにパブリッシュされたページ

  • 5.5 のアップデート機能

UnityPlayerActivity Java コードの拡張
Android スプラッシュスクリーンのカスタマイズ
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961