Skip to main content

概要

Warudoのスクリプトシステムは、あなたのVTuber活動向けに独自のアセットノードを追加するC#コードを記述することで、Warudoの機能を拡張できます。プラグインModを作成し、カスタムアセットとノードをSteamワークショップで共有することもできます。

以下は、Warudoコミュニティによって作成された素晴らしいプラグインの一部です。

ヒント

Warudoはカスタムスクリプトを念頭に置いて構築されています。 実際、Warudoのすべての機能は、カスタムノード、アセット、プラグインを作成するときに使用できるものと同じAPI (Warudo.Core名前空間) を使用して構築されています。

たとえば、WarudoのStream Deck連携は、実は組み込みプラグインです。ソースコードはこちらで公開していますので、参考にしてください。

Warudoのスクリプトシステムがどのように機能するかを体験していただくために、トリガーされたときにキャラクターにランダムな表情を再生するカスタムノードの簡単な例を紹介します。

対応するC#コード:

using UnityEngine;
using Warudo.Core.Attributes;
using Warudo.Core.Graphs;
using Warudo.Plugins.Core.Assets.Character;

// Define a custom node type that will be shown in the note palette
[NodeType(Id = "95cd88ae-bebe-4dc0-b52b-ba94799f08e9", Title = "Character Play Random Expression")]
public class CharacterPlayRandomExpressionNode : Node {

[DataInput]
public CharacterAsset Character; // Let the user select a character

[FlowInput]
public Continuation Enter() { // When the node is triggered via the "Enter" flow input
if (Character.Expressions.Length == 0) return Exit; // If the character has no expressions, exit

Character.ExitAllExpressions(); // Exit all current expressions

var randomExpression = Character.Expressions[Random.Range(0, Character.Expressions.Length)];
Character.EnterExpression(randomExpression.Name, transient: false); // Play a random expression

return Exit; // Continue the flow and trigger whatever connected to the "Exit" flow output
}

[FlowOutput]
public Continuation Exit;

}

興味をそそられましたか?続きをお読みください!

翻訳者

最終更新日 2024.07.14