バーチャルキャスト公式Wiki
メニュー
VirtualCast
THE SEED ONLINE
配信
その他
リリース情報
安定版
ベータ版
Quest版
- wiki編集者用ページ
-
安定版
ベータ版
Quest版
サンプルデータ:送信側:メッセージ送信
サンプルデータ:受信側:メッセージ受信
UnityPackage:tutorial_message_send.zip
VCI v0.17より、vci.messageが実装されてVCIでメッセージの送信、受信を行うことが可能になりました。
これにより複数のVCIの間で変数のやりとりをすることができます。
今回は送信側、受信側の2つのVCIを作成してメッセージの送受信を行います。
送信側のボックスのVCIをOnUseするとメッセージが送信され、受信側の条件と一致した場合に処理が実行されます。
今回のサンプルでは受信側のシリンダーVCIに上向き方向の力がかかり飛び跳ねます。
vci.messageの詳しい仕様はこちらをご覧ください
VirtualCast1.5.4a VCI更新
function onUse(self) -- メッセージ名: MSG_NAME -- メッセージの内容: 1 vci.message.Emit("send_box_state","addforce_on") end function onUnuse(use) -- メッセージ名: MSG_NAME -- メッセージの内容: 1 vci.message.Emit("send_box_state","addforce_off") end
local sub = vci.assets.GetTransform("get") function onMessage(sender, name, message) -- senderはテーブルになっています。vci.message.Emit関数を実行したvciの情報 -- { -- type: "vci" -- name: "vciの名前" -- } -- 今後の更新で sender が違うメッセージを実装予定です for k, v in pairs(sender) do print(k .. ":" .. v) end print(name) print(message) if name=="send_box_state" and message=="addforce_on" then print("forceon") sub.AddForce (1000*sub.GetUp()) end end --シーンでvci.message.Emitが実行されたときにonMessage関数が呼び出される vci.message.On("send_box_state", onMessage)