Language:

サイドバー

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

メニュー

Steam版

デバイス

アセット

配信

その他

リリース情報

デベロッパー向け


開発環境

GLB

vci:script:reference:exportvc

ExportVc/ExportRoom(ルーム情報)

このページは過去の情報となります。
新しいスクリプトリファレンスはこちらになります。

ルーム情報を取得するのに必要なクラスです。

  • UniVCI v0.35 以降で Export される VCI で使用できます。
  • バーチャルキャスト v2.3.0 以降で動作します。
  • 現在、この APIルーム上でのみ動作します

メンバ変数・関数一覧

ExportVc
名前 説明
room ExportRoomを取得
GetSpaceType VCIが出された空間の種別( Studio, Room )を取得
spaceTypes 空間種別の静的な列挙子のテーブル
ExportRoom
名前 説明
GetGravity ルームの重力加速度ベクトルを取得
GetWalkSpeed ルームの移動速度を取得
GetJumpSpeed ルームのジャンプ力の初速度を取得
GetRoomKey ルームキーを取得
GetAllPlayers ルームに参加中のすべてのプレイヤーを取得
GetLocalPlayer ローカルのプレイヤーを取得
GetPlayerById IDを指定してルームに参加中のプレイヤーを取得
OnPlayerJoined ルームにプレイヤーが参加した時に呼ばれるコールバックを登録
OnPlayerLeft ルームからプレイヤーが去った時に呼ばれるコールバックを登録

room

ExportVc.room ExportRoom
ExportRoomを取得する。

※次項のサンプルを参照のこと。

GetSpaceType

ExportVc.GetSpaceType() fun(): ExportVcSpaceType
VCIが出された空間の種別( Studio, Room )を取得する。

※次項のサンプルを参照のこと。

spaceTypes

ExportVc.spaceTypes ExportVcSpaceType
空間種別の静的な列挙子のテーブル。

サンプル

main.lua
local spaceType = vci.vc.GetSpaceType()
print(spaceType == vci.vc.spaceTypes.room) -- Room: true, Studio: false
print(spaceType == vci.vc.spaceTypes.studio) -- Room: false, Studio: true
print(spaceType == vci.vc.spaceTypes.unknown) -- Room: false, Studio: false

GetGravity

ExportRoom.GetGravity fun(): Vector3
ルームの重力加速度ベクトル [m/s2] を取得する。

サンプル

main.lua
print("Gravity: "..tostring(vci.vc.room.GetGravity()))

GetWalkSpeed

ExportRoom.GetWalkSpeed fun(): number
ルームの移動速度 [m/s] を取得する。

サンプル

main.lua
print("WalkSpeed: "..vci.vc.room.GetWalkSpeed())

GetJumpSpeed

ExportRoom.GetJumpSpeed fun(): number
ルームのジャンプ力の初速度 [m/s] を取得する。

サンプル

main.lua
print("JumpSpeed: "..vci.vc.room.GetJumpSpeed())

GetRoomKey

ExportRoom.GetRoomKey fun(): string
ルームキーを取得する。

サンプル

main.lua
print("RoomKey: "..vci.vc.room.GetRoomKey())

GetAllPlayers

ExportRoom.GetAllPlayers fun(): ExportRoomPlayer[]
ルームに参加中のすべてのプレイヤーを取得する。
※取得した配列内の ExportRoomPlayer の順番は、各プレイヤーの環境上で異なります。

サンプル

main.lua
-- プレイヤー情報の取得
local players = vci.vc.room.GetAllPlayers()
local currentPlayersString = "Current Players: "
local idToNameMap = {}
for k, v in pairs(players) do
    local name = v.GetName()
    idToNameMap[v.GetId()] = name
    currentPlayersString = currentPlayersString..name..", "
end
print(string.sub(currentPlayersString, 1, -3))

GetLocalPlayer

ExportRoom.GetLocalPlayer fun(): ExportRoomPlayer
ローカルのプレイヤーを取得する。

サンプル

main.lua
-- ローカルプレイヤーの取得
local localPlayer = vci.vc.room.GetLocalPlayer()
print("local player: "..localPlayer.GetName())

GetPlayerById

ExportRoom.GetPlayerById fun(playerId: string): ExportRoomPlayer
IDを指定してルームに参加中のプレイヤーを取得する。

※次項のサンプルを参照のこと。

OnPlayerJoined

ExportRoom.OnPlayerJoined fun(callback: usertype)
ルームにプレイヤーが参加した時に呼ばれるコールバックを登録する。

引数

callback: : fun(joinEvent: table{“PlayerId”: string})

サンプル

main.lua
-- 入室時コールバックの登録
vci.vc.room.OnPlayerJoined(
    function (joinEvent)  -- {"PlayerId": string}
        local id = joinEvent["PlayerId"]
        local name = vci.vc.room.GetPlayerById(id).GetName()
        if name ~= nil then print(name.." joined.") end
        idToNameMap[id] = name
    end
)

OnPlayerLeft

ExportRoom.OnPlayerLeft fun(callback: usertype)
ルームからプレイヤーが去った時に呼ばれるコールバックを登録する。

引数

callback: : fun(joinEvent: table{“PlayerId”: string})

サンプル

main.lua
-- 退出時コールバックの登録
vci.vc.room.OnPlayerLeft(
    function (leftEvent)  -- {"PlayerId": string}        
        local id = leftEvent["PlayerId"]
        local name = idToNameMap[id]
        if name ~= nil then print(name.." has left.") end
        idToNameMap[id] = nil
    end
)
vci/script/reference/exportvc.txt · 最終更新: 2023/07/28 14:57 by Ramen

ページ用ツール