Language:

サイドバー

バーチャルキャスト公式Wiki

メニュー

THE SEED ONLINE

配信

その他

リリース情報

デベロッパー向け


開発環境

VRM

VCI

GLB

vci:script:tutorial

VCIスクリプトのチュートリアル

VCIスクリプトはLua言語によって実装されています。

ここでは VCI作成 で作成したVCIを使って実際にスクリプトを書き、VCIに追加していきます。

デバックはバーチャルキャストを実行しながら行います。

スクリプトのデバッグを行う場合は、エクスポート時にVCIObject の[Script Enable Debugging]にチェックを有効にしてください。

スクリプトの作成

スクリプトの開発作業を行うフォルダ(ワークスペース)は、

C:/Users/__USER_NAME__/AppData/LocalLow/infiniteloop Co,Ltd/VirtualCast/EmbeddedScriptWorkspace

となります。

ここで作成したスクリプトをバーチャルキャスト上で実行することができます。

※AppDataフォルダが非表示になってる場合は、エクスプローラーオプション(フォルダ設定)から[表示 > 隠しファイル]にチェックを入れてください。

(1)VSCodeでフォルダを開く

ワークスペースをVSCodeで開きます。

メニューの[ファイル] > [フォルダーを開く]をクリックして、上記ファイルパスを選択してください。

VSCodeのサイドメニューにワークスペースのエクスプローラーが表示され、ソースを参照しやすくなります。

(2)対象VCIの専用フォルダ作成

バーチャルキャスト上でVCIアイテムを出すと、対象のVCIフォルダが自動生成されます。
例えばVCISampleというアイテム名であれば、[VCISample]というフォルダが作成されます。

THE SEED ONLINEからVCIを入れた場合

VCIを出した時点でフォルダが作成されます。
この中に書かれた[main.lua]を編集すればスクリプトの書き換えができます。
保存後に、自動でスクリプトがリロードされるので、SEEDに上げなおす必要はありません。

(3)main.luaを作成

上記で生成されたフォルダに[main.lua]を作成します。 [EmbeddedScriptWorkspace/template.lua]をコピーして[main.lua]にファイル名を変更するのがお勧めです

コンソールの確認方法

VCIアイテムのデバッグ設定

VirtualCastの設定画面から[VCI]のタブを選択し、[スタジオにデバッグ情報を表示する]を有効にすると、バーチャルキャスト内にコンソールが表示されます。

コンソールの機能

全コンソール共通の機能
  • バーチャルキャスト内にデバッグコンソールが生成される
  • コンソール画面は自分にだけ表示され、ほかの人からは見えない
  • 通常のアイテムと同様に、掴んで動かしたり両手で持って拡縮することは可能
SystemConsole
  • 主にVCIスクリプトのSystemメッセージが表示される
  • スレッドが停止したり、応答が無い場合など
  • グローバル同期変数を使用した場合に、内容がjsonで表示される1)
  • 現在のフレームレート、メモリ使用量が表示される
ItemConsole

  • アイテム個別のコンソール
  • アイテムの出現時に生成され、アイテムを消すと一緒に消える
  • 掴んで使うことで、以下の表示内容を見ることができる
    • Console
    • SubItem一覧
    • Material一覧
    • Animation一覧
    • Audio一覧
    • Statistics(統計情報)
Statisticsの表示項目
名前 説明 VCバージョン
ActionCountPerSec 1秒あたりの、SetPosition等の操作回数 1.9.2d
ActionCountPerSec (ALL) 1秒あたりの、SetPosition等の操作回数(_All_系関数) 1.9.2d
LuaProcessingTimePerFrame (ms) 1フレームあたりのluaコード処理時間(ミリ秒) 1.9.2d

Statisticsで表示される項目は、値が低いほど動作が軽くなるので、VCIの動作が重い場合は、こちらの情報を参考に最適化してください。

コンソールに文字列を表示する

  • VCIスクリプト内で以下のようなコード記述するとコンソールに文字列が表示されます。
main.lua
print("文字列")

その他のデバッグ機能(上級者向け)

VCIの設定画面で、[VCIスクリプトのロガーをホストするTCPポート番号]、[VCIスクリプトのデバッガーのTCPポート番号]に0より大きい値のポート番号を指定し、スタジオ内に入室した状態でWebブラウザから[localhost:ポート番号]にアクセスすることで、VCIアイテムのデバッグ情報を見ることができます。

サンプルスクリプトをバーチャルキャストで確認する

1.下記サンプルをVCIフォルダ内の[main.lua]にコピー&ペーストして保存してください。

main.lua
GrabCount = 0
function onGrab(target)
    GrabCount = GrabCount + 1
    print("Grab : "..GrabCount)
    print(target)
end

2.バーチャルキャストの中で掴んだ時に、コンソールに、掴んだ回数が表示されたら成功です。

※チュートリアルなので確認用のスクリプトとなります。

※VCIスクリプトの詳細は VCIスクリプトリファレンス を参考にしてください。

VCIスクリプトを組み込む

1.VCIを作成した時のプロジェクトを開いて、VCI作成のシーンを読み込みます。

2.[VCIObject]の[Scripts] > [Size]を1に変更してエンターを押します。

3.Inspectorが拡張するので以下のように入力します。

 [Name] > [main.lua]

 [Source] > [(完成したVCIスクリプトを張り付ける)]

文字数が多い場合(1万5000字以上)エラー表示が出ることがあります。

4.シーンを保存して、再度VCIをExportします。

 メニューバーから[VRM] > [UniVCI-x.xx] > [Export] を選択し名前をつけて保存します。

5.THE SEED ONLINEにエクスポートしたVCIを上書きすれば、VCIスクリプトが動くVCIの完成になります。

1)
1.9.2d以降、SharedVariableConsoleと統合されました。
vci/script/tutorial.txt · 最終更新: 2021/11/18 14:13 by numa

ページ用ツール