Skip to main content

ブループリントの生成

Warudoでトラッキングを設定すると、トラッキング用ブループリントが生成されていることに気付くでしょう。カスタムアセットやプラグインにロジック全体をハードコードするのではなく、ユーザーがブループリントを変更できる柔軟性を残したい場合、ブループリントの生成は特に便利です。

コードによる生成​

ブループリントを生成する推奨方法はコードを使用することです。これにより生成処理を制御でき(例: 条件に応じてノードを追加・削除する)、ノード型を正しく参照していることも保証されます。欠点は、記述量が多くなることです。

次は、On UpdateとShow Toastという2つのノードを含むブループリントを生成する最小限の例です。On UpdateノードをShow Toastノードに接続し、毎フレームトーストメッセージが表示されるようにします。

var graph = new Graph {
Name = "My Awesome Blueprint",
Enabled = true // Enable the blueprint by default
};

// Add two nodes: On Update and Show Toast
var onUpdateNode = graph.AddNode<OnUpdateNode>();
var toastNode = graph.AddNode<ShowToastNode>();
toastNode.Header = "Hey!";
toastNode.Caption = "This is a toast message!";

// Connect the nodes so that the toast is shown each frame
graph.AddFlowConnection(onUpdateNode, nameof(onUpdateNode.Exit), toastNode, nameof(toastNode.Enter));

// Add the graph to the opened scene
Context.OpenedScene.AddGraph(graph);

// Send the updated scene to the editor
Context.Service.BroadcastOpenedScene();
ヒント

すべてのノードが座標(0, 0)にある場合、エディターはブループリントを自動的に整列します。そのため、ノードを正しく配置する必要はありません。ノードの位置には、引き続きnode.GraphPositionでアクセスできます。

情報

組み込みノード型のすべてがWarudo SDKに含まれているわけではありません。プラグインModを作成しており、SDKに含まれていないノード型を参照したい場合は、オーバーロードされたAddNode(string nodeTypeId)メソッドを使用して、型IDでノードを作成できます。

JSONによる生成​

より簡単な(ただし応急的な)ブループリント生成方法は、エディターに組み込まれている「Import Blueprint From JSON」機能を使うことです。エディターでブループリントを作成してJSONとしてエクスポートし、プラグインに格納できます。その後、Serviceクラスを使用してJSONファイルをブループリントとしてインポートします。

var fileContents = "..."; // Assume this is the JSON file contents
Context.Service.ImportGraph(fileContents); // Import the blueprint
Context.Service.BroadcastOpenedScene(); // Send the updated scene to the editor

その後、名前で生成されたブループリントにアクセスできます。

var graph = Context.OpenedScene.GetGraphs().Values.First(it => it.Name == "My Awesome Blueprint");

この方法はかなり応急的であり、本番コードには推奨されません。JSON形式は将来のバージョンで変更される可能性があり、コードでブループリントを生成する方法ほど柔軟ではありません。

最終更新日 2026.10.06