More Related Content
PDF
PPTX
PPTX
猫でも分かる UE4のAnimation Blueprintの運用について PPTX
PDF
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう PDF
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ... PDF
PPTX
What's hot
PDF
EOS On-boarding ~サンプルを動かしてみよう~ PDF
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方 PDF
猫でも分かるUE4.22から入ったSubsystem PDF
PPTX
PDF
PPTX
UE4のスレッドの流れとInput Latency改善の仕組み PPTX
UE4を用いたTPS制作事例 EDF:IR レベル構成について PDF
PDF
猫でも分かる Control Rig UE4.25 版 PPTX
若輩エンジニアから見たUniRxを利用したゲーム開発 PDF
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク... PDF
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説 PDF
PDF
PDF
PDF
なぜなにFProperty - 対応方法と改善点 - PDF
Unityではじめるオープンワールド制作 エンジニア編 PPTX
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック PPTX
UE4 MultiPlayer Online Deep Dive 基礎編2 -Traveling- (historia様ご講演) #ue4dd Similar to Unity ネイティブプラグインの作成について
PDF
PDF
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜 PDF
PDF
PPTX
Unityネイティブプラグインマニアクス #denatechcon PDF
Unity に於ける iOS ビルド自動化のおはなし - 20141030 第26回 Unity 勉強会 PDF
20121123 アド部定例会 unityアプリに広告を入れる方法 PPTX
PDF
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT) PPTX
PDF
CEDEC 2013 Unity on Windows 8 PDF
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会 PDF
PDF
Unity に於けるモバイルプラットフォーム向けビルド自動化のおはなし PDF
20161125 Unity-Android連携の発表資料 PDF
Unity×HTMLで作るiPhone オンラインゲーム開発事例 PDF
PPTX
Deep-Dive into Scriptable Build Pipeline PPTX
PDF
Unityのasset bundle運用実例@lordofknights Unity ネイティブプラグインの作成について
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
UnityPlayerActivityを継承したクラスを
eclipseあたりで作成する
(ビルドにはclasses.jarをビルドパスに含める、
Unityフォルダ下のPlaybackEngines/AndroidPlayer/binにある
またAndroidの機能を使うなら、それもインポートする)
上で作成したクラスをjarにエクスポート
して、Plugins/Androidフォルダに配置
AndroidManifest.xmlの
UnityPlayerProxyActivityと書かれている
箇所を、作成したクラス名に書き換える
前者のActivityを改造して実行する方法。
Activityを改造して実行するプラグインは、他のActivityを改造して実行するプラグインと競合する
UnityPlayerNativeActivityのほうが早いが、古いAndroidでは動作しないらしい
- 28.
resやassetsはPlugins/Androidフォルダ
に入れておくと、自動でインポート
namespaceの問題で、resを使っているプラグインは動かない時がある。
resでnamespaceを固定するか(そんな方法はあるのか?)、プラグインのRが
使っているnamespaceをアプリのbunleIDと合わせると動作する
resやassetも使えるが、R.classのnamespacecがbundleId依存なので注意
- 29.
- 30.
AndroidJavaClassで
Javaのコードを呼び出す
C#のコード
Javaのコード
Androidのプラグイン連携その2。他にもJNIとかJNIHelper等があるが、これが一番楽
C#はPluginsフォルダに入れておく
Javaのコードはjarに変換してPlugins/Androidへ
- 31.
DllImport(“__Internal”)で、
Objective-Cのコードを呼び出す
C#のコード
Objective-Cのコード
Pluginsフォルダ下に置いたC#は、Plugins/iOS下に置いたObjective-CやCの関
数を呼べる
iOSの場合。
C#のコードはPlugins下にでも置いておく。Javaと違い、コードのままビルド可能
- 32.
- 33.
- 34.
- 35.
- 36.
SQLite
PlayerPrefs等
●
I/Oに書き込む
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
Platform Dependent Compilationで
プラットフォーム毎に機能わけると楽
(こうしないと、iphoneビルド時にAndroidJavaClassがエラーになる)
エディター上で動作している時に仮デー
タを入れておくと、ゲームが作りやすい
プラグインを呼び出すコードは、PlatformDependentCompilationで管理
- 46.
- 47.
Ad等の描画やUIに関わる処理は
UIThreadから呼び出す
UnityのActivityは
UnityPlayer.currentActivityで取得可能
Androidのルールがけっこう面倒くさいので注意
- 48.
プラグイン配布の際、
package形式を使うと
フォルダ構成等を簡単にインポート
(あとファイルサイズが減る事がある
出力は必要なファイルのみ選択してAssets>Export Package)
ただしファイルがすでにある場合は上書きするので、
AndroidManifest.xml等は含めない方が良いかも
プラグインはpackage形式で保持しとくと、導入が超楽になる
- 49.
Editor's Notes
- #10 Android の例 ・アプリ内課金 ・アドネットワーク ・他社サービス(ネットワークのランキング機能) ・アプリ内蔵ブラウザ ・その他 Android に出来ること ・サンプルコードの一部はコピペで使用可能
- #11 iOS の例 ・他社のアドサービス ・アプリ内課金 ・ネットワークソリューション ・データベースを使う ・システムフォントの使用 ・アプリ内蔵ブラウザ ・サンプルコードは概ねコピペで使用可能