「Godot」の版間の差分
ナビゲーションに移動
検索に移動
編集の要約なし |
編集の要約なし |
||
(同じ利用者による、間の10版が非表示) | |||
4行目: | 4行目: | ||
* https://godotengine.org/asset-library/asset/1344 | * https://godotengine.org/asset-library/asset/1344 | ||
** 使い方: https://github.com/98teg/NativeDialogs | ** 使い方: https://github.com/98teg/NativeDialogs | ||
== 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から画像データを参照できる | |||
[[カテゴリ: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から画像データを参照できる