「Godot」の版間の差分

提供:ペチラボ書庫
ナビゲーションに移動 検索に移動
編集の要約なし
編集の要約なし
 
(同じ利用者による、間の8版が非表示)
6行目: 6行目:


== C++で書きたい ==
== C++で書きたい ==
* https://docs.godotengine.org/ja/stable/development/cpp/custom_modules_in_cpp.html
GDExtensionを使う
* Godotをソースコードからビルドする必要があります
※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に置き換わる模様

ざっくりやること

  1. godot-cppをsubmoduleとしてcloneする
  2. srcフォルダにプラグインの.cpp, .hとregister_types.cpp, register_types.h を配置する
  3. SConstructを配置する
  4. sconsでコンパイルする
  5. 生成されたバイナリファイルと同じところにexample.gdextensionを配置する

これでノードとして使えるようになる

OpenCVを使いたい

上記GDExtensionを用いてC++で書く

  1. OpenCVをインストールする(Cドライブ直下)
  2. SConstructでインクルードパスを指定 env.Append(CPPPATH=["src/", "/opencv/build/include/"])
  3. libファイルをリンク #pragma comment(lib, "/opencv/build/x64/vc15/lib/opencv_world455.lib")
  4. OpenCVのdllをbinフォルダに置く
  5. gdexample.gdextensionの[libraries]にOpenCVのdllを追加

Image::create_from_dataを使って、cv::MatをPackedByteArray経由でRef<Image>に入れてreturnすればGDScriptから画像データを参照できる