狠狠撸

狠狠撸Share a Scribd company logo
Unity ネイティブプラグイン
の作成
ユニティ?テクノロジーズ?ジャパン
エバンジェリスト
伊藤?周
Unity ネイティブプラグインとは
? C++/Cで書かれたネイティブコードのライ
ブラリを繋げる仕組み
? Windowsの場合、VSでDLLを作り、Unity
側で呼び出す
? これまで作ってきたC++/Cコード資産が再
利?可能?
実演
鲍苍颈迟测ネイティフ?フ?ラク?イン
Step by Step
Visual Studio でFile→New→Projectでプロジェクトを作る
プロジェクト名を適当に?れて「OK」を押す
上の場合は「MyPlugin」にした。
プロジェクト名がのちにプラグイン名になるので慎重に
「狈别虫迟」を押す
「DLL」選択。「Export Symbols」をON。「SDL」をOFF
プラグインのプログラミング
? 関数の前に「[プラグイン名]_API」の接頭
節を?れる
? 「CountUp」がUnity側から呼ぶ関数名
? 内部は?由に実装
プラグインのプログラミング
? ヘッダーに「extern “C”」を?れておく
? 実装部と同様に「[プラグイン名]_API」を
?れる
? Unityから参照可能にするため
「搁别濒别补蝉别」「虫64」を选択してビルド
ビルド成果物の場所にdllができているのを確認
今回の場合は「MyPlugin/x64/Release/MyPlugin.dll」が該当のdll
Unityを起動して「NEW」で新しいプロジェクトを作成
今回の場合は「PluginTest」というプロジェクト名にして、Create Projectを押す
顿尝尝を鲍苍颈迟测の笔谤辞箩别肠迟にドラッグ&补尘辫;ドロップ
PluginのImport Settingsを開く。
Windows設定「x86」をオフ
Editor設定「x86_64」「Windows」を選択。Applyをクリック。
Project ビューで右クリックしてCreate→C# Script
名前を「CubeMove」に変更
実際のファイル名はなんでも良い
「CubeMove」をダブルクリックしてファイルを開く
?動的にVisual Studioが?ち上がる
? System.Runtime.InteropS
ervices;を追加
? [DLLImport(“プラグイン
名”)] private static extern
int 関数名;を追加
? 外部のCountUp関数がUnity
内で使えるようになる。
GameObject→3D Object→Cube を選択してCubeを出す
①Cubeを選択 ②AddComponentを押す ③CubeMoveを?れる
③の「CubeMove」は作ったスクリプト名に寄る
①Cubeを選択
②↓を押す
③「CubeMove」
を入れてエンター
?を押すとCubeが離散的に上昇する
??を押すとCubeが動く
参考資料
? Windows で Unity の Native Plugin を作成する
? Unity マニュアル?ネイテイブプラグイン

More Related Content

鲍苍颈迟测ネイティフ?フ?ラク?イン