「Godot」の版間の差分
ナビゲーションに移動
検索に移動
編集の要約なし |
|||
26行目: | 26行目: | ||
# gdexample.gdextensionの[libraries]にOpenCVのdllを追加 | # gdexample.gdextensionの[libraries]にOpenCVのdllを追加 | ||
Image::create_from_dataを使って、cv::MatをPackedByteArray経由でRef<Image>に入れてreturnすればGDScriptから画像データを参照できる | Image::create_from_dataを使って、cv::MatをPackedByteArray経由でRef<Image>に入れてreturnすればGDScriptから画像データを参照できる | ||
[[カテゴリ:Godot]] |
2024年9月22日 (日) 10:42時点における最新版
ネイティブのファイルダイアログを使う
C++で書きたい
GDExtensionを使う ※GDNativeはGodot4以降GDExtensionに置き換わる模様
- https://docs.godotengine.org/en/stable/tutorials/scripting/gdextension/index.html
- https://godotengine.org/article/introducing-gd-extensions/
ざっくりやること
- godot-cppをsubmoduleとしてcloneする
- srcフォルダにプラグインの.cpp, .hとregister_types.cpp, register_types.h を配置する
- SConstructを配置する
- sconsでコンパイルする
- 生成されたバイナリファイルと同じところにexample.gdextensionを配置する
これでノードとして使えるようになる
OpenCVを使いたい
上記GDExtensionを用いてC++で書く
- OpenCVをインストールする(Cドライブ直下)
- SConstructでインクルードパスを指定 env.Append(CPPPATH=["src/", "/opencv/build/include/"])
- libファイルをリンク #pragma comment(lib, "/opencv/build/x64/vc15/lib/opencv_world455.lib")
- OpenCVのdllをbinフォルダに置く
- gdexample.gdextensionの[libraries]にOpenCVのdllを追加
Image::create_from_dataを使って、cv::MatをPackedByteArray経由でRef<Image>に入れてreturnすればGDScriptから画像データを参照できる