「Godot」の版間の差分
ナビゲーションに移動
検索に移動
編集の要約なし |
|||
25行目: | 25行目: | ||
# OpenCVのdllをbinフォルダに置く | # OpenCVのdllをbinフォルダに置く | ||
# gdexample.gdextensionの[libraries]にOpenCVのdllを追加 | # gdexample.gdextensionの[libraries]にOpenCVのdllを追加 | ||
cv::MatをPackedByteArray経由でRef<Image>に入れてreturnすればGDScriptから画像データを参照できる |
2023年8月12日 (土) 23:51時点における版
ネイティブのファイルダイアログを使う
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を追加
cv::MatをPackedByteArray経由でRef<Image>に入れてreturnすればGDScriptから画像データを参照できる