概要
Warudoのスクリプトシステムは、あなたのVTuber活動向けに独自のアセットとノードを追加するC#コードを記述することで、Warudoの機能を拡張できます。プラグインModを作成し、カスタムアセットとノードをSteamワークショップで共有することもできます。
以下は、Warudoコミュニティによって作成された素晴らしいプラグインの一部です。
- Feline's Headpat Node
- Input Receiver and Tools for Mouse/Pen/Gamepad
- Emotes From Twitch Message + Emote Dropper
- Rainbow Color Node
- Streamer.bot integration
ヒント
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;
}
興味をそそられましたか?続きをお読みください!