Table of Contents

Getting Started

このページでは、初めてVMagicMirrorにサブキャラを自作する場合の基本的な概念と導入手順を紹介します。

概念等の説明をスキップしてサンプル導入から始める場合は、サンプルzipを導入して実行する から読み始めて下さい。

サブキャラ機能とは

サブキャラ機能とは、VMagicMirrorから読み込める C# スクリプトを記述することで、メインのアバターと別で更にキャラクターを表示して制御できる機能です。

v4.0.0時点では画像(.png)を読み込んで平面的、または空間的に表示することができます。そのほか、v4.0.0時点でサブキャラは以下の機能をサポートしています。

  • 短い音声ファイルの再生
  • メインアバターの動作の検出
    • 例: アバターがキーボードを叩く動作を行った、アバターが「Happy」表情に切り替わった

将来的には下記のような機能もサポートを検討しています。

  • VRM / GLB等の3Dモデルの読み込み
  • サブキャラに対してマウスオーバーしたことを検出できる機能
  • テキストの表示
  • ネットワークとの通信やネイティブライブラリ呼び出しなどの高度な機能

一方、サブキャラ機能では以下のような機能は導入を行わないか、または導入したとしても補助的な機能にとどまる予定です。

  • メインアバターを直接操作する機能
  • VMagicMirrorの設定をスクリプトから変更する機能

サブキャラを構成するファイル構造

サブキャラは (My Documents)\VMagicMirror_Files\Buddy\ 以下に配置したフォルダとして表現されます。

このフォルダは少なくとも、スクリプト(main.csx) およびサブキャラの基本設定ファイル(manifest.json)を含む必要があります。

つまり、最小の構成からなるサブキャラのフォルダは以下のような内訳になります。

  • (My Documents)\VMagicMirror_Files -Buddy - MyBuddy - main.csx - manifest.json

また、画像等のアセットをサブキャラとして同梱する場合、それも同じフォルダに格納します。 たとえば、1枚の画像 (myImage.png) を表示するようにプログラムしたサブキャラを作成する場合のファイル構造は次のようになります。

  • (My Documents)\VMagicMirror_Files\Buddy\
    • MyBuddy
      • main.csx
      • manifest.json
      • myImage.png

ファイルの役割

main.csx は C# スクリプトであり、サブキャラを有効化することでアプリケーションがスクリプトを読み込んで実行します。 VMagicMirrorではスクリプトから利用できる様々なAPIを提供しており、その一覧は API から確認できます。

manifest.json は JSON ファイルであり、サブキャラの表示名、バージョン、制作者名などの基本的な情報を定義します。 また、ユーザーがGUIから編集できる設定などの定義も本ファイル上で行います。以下は定義できる設定の一例です。

  • サブキャラを画像として表示するときの基本的な位置、サイズ
  • サブキャラが特定の仕草を行うか、行わないか
  • 立ち絵を変更できるようにした場合、その立ち絵のファイルパス

サンプルを導入して実行する

最小限のデータからなるサブキャラを導入する方法を紹介します。

BuddySample.zip の導入

最小限の構成からなるサブキャラのサンプルとして BuddySample.zip ファイルをダウンロードして解凍します。

zipファイルの内容は以下のようになっています。

  • main.csx
  • manifest.json
  • default.png
  • omnisharp.json
  • .vscode
    • launch.json
    • manifest.json

解凍したフォルダを適当なフォルダ名に変更し、下記のようなフォルダ構造になるように配置します。

  • `(My Documents)\VMagicMirror_Files\
    • Buddy
      • (フォルダ名)
        • main.csx
        • manifest.json
        • default.png
        • ...

配置後、VMagicMirrorを起動すると、上記のサブキャラが認識されて起動できるようになります。

この時点では、サブキャラとしては同梱された default.png 、つまり単なる青色の丸い画像が表示されます。

Note

本ページでは omnisharp.json.vscode フォルダについて説明を省いています。これらのファイルはスクリプトの編集を補助するための設定ファイルであり、サブキャラの実行時には無視されます。 これらのファイルについては Write Buddy Script ページで別途説明しています。

立ち絵を差し替えてみる

上記の方法で起動したサブキャラに対して立ち絵を差し替えます。

default.png を適当な別の画像ファイルに置き換えます。

その後、サブキャラを一旦オフにして再びオンにすると、差し替えた画像ファイルが反映されます。

より詳細な説明

ここではサブキャラの基本的な概念や導入例を説明しました。

より詳細な説明については、各ページを参照してください。

  • サブキャラの基本設定を編集する: Buddy Manifest
  • サブキャラのスクリプトを作成する: Write Buddy Script
  • サブキャラのデバッグ方法を確認する: Debug Buddy
  • スクリプトから利用できるAPI一覧を知りたい: API