~~NOTOC~~ ====== ExportVc/ExportRoom(ルーム情報) ====== このページは過去の情報となります。\\ 新しいスクリプトリファレンスは**[[https://developer.virtualcast.jp/vci-docs/api/|こちら]]**になります。 ルーム情報を取得するのに必要なクラスです。 * **UniVCI v0.35** 以降で Export される VCI で使用できます。 * **バーチャルキャスト v2.3.0** 以降で動作します。 * 現在、この API は**ルーム上でのみ動作します**。 ===== メンバ変数・関数一覧 ===== ^ ExportVc ^^ ^ 名前 ^ 説明 ^ | [[vci/script/reference/exportvc#room ]] | ExportRoomを取得 | | [[vci/script/reference/exportvc#GetSpaceType ]] | VCIが出された空間の種別( ''Studio'', ''Room'' )を取得 | | [[vci/script/reference/exportvc#spaceTypes ]] | 空間種別の静的な列挙子のテーブル| ^ ExportRoom ^^ ^ 名前 ^ 説明 ^ | [[vci/script/reference/exportvc#GetGravity ]] | ルームの重力加速度ベクトルを取得 | | [[vci/script/reference/exportvc#GetWalkSpeed ]] | ルームの移動速度を取得 | | [[vci/script/reference/exportvc#GetJumpSpeed ]] | ルームのジャンプ力の初速度を取得 | | [[vci/script/reference/exportvc#GetRoomKey ]] | ルームキーを取得 | | [[vci/script/reference/exportvc#GetAllPlayers ]] | ルームに参加中のすべてのプレイヤーを取得 | | [[vci/script/reference/exportvc#GetLocalPlayer ]] | ローカルのプレイヤーを取得 | | [[vci/script/reference/exportvc#GetPlayerById ]] | IDを指定してルームに参加中のプレイヤーを取得 | | [[vci/script/reference/exportvc#OnPlayerJoined ]] | ルームにプレイヤーが参加した時に呼ばれるコールバックを登録 | | [[vci/script/reference/exportvc#OnPlayerLeft ]] | ルームからプレイヤーが去った時に呼ばれるコールバックを登録 | ===== room ===== ExportVc.**room ExportRoom**\\ ExportRoomを取得する。 ※次項のサンプルを参照のこと。 ===== GetSpaceType ===== ExportVc.**GetSpaceType() fun(): ExportVcSpaceType**\\ VCIが出された空間の種別( ''Studio'', ''Room'' )を取得する。 ※次項のサンプルを参照のこと。 ===== spaceTypes ===== ExportVc.**spaceTypes ExportVcSpaceType**\\ 空間種別の静的な列挙子のテーブル。 === サンプル === 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] を取得する。 === サンプル === print("Gravity: "..tostring(vci.vc.room.GetGravity())) ===== GetWalkSpeed ===== ExportRoom.**GetWalkSpeed fun(): number**\\ ルームの移動速度 [m/s] を取得する。 === サンプル === print("WalkSpeed: "..vci.vc.room.GetWalkSpeed()) ===== GetJumpSpeed ===== ExportRoom.**GetJumpSpeed fun(): number**\\ ルームのジャンプ力の初速度 [m/s] を取得する。 === サンプル === print("JumpSpeed: "..vci.vc.room.GetJumpSpeed()) ===== GetRoomKey ===== ExportRoom.**GetRoomKey fun(): string**\\ ルームキーを取得する。 === サンプル === print("RoomKey: "..vci.vc.room.GetRoomKey()) ===== GetAllPlayers ===== ExportRoom.**GetAllPlayers fun(): [[https://developer.virtualcast.jp/vci-docs/api/classes/ExportRoomPlayer/index.html|ExportRoomPlayer]][]**\\ ルームに参加中のすべてのプレイヤーを取得する。\\ ※取得した配列内の ExportRoomPlayer の順番は、各プレイヤーの環境上で異なります。 === サンプル === -- プレイヤー情報の取得 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(): [[https://developer.virtualcast.jp/vci-docs/api/classes/ExportRoomPlayer/index.html|ExportRoomPlayer]]**\\ ローカルのプレイヤーを取得する。 === サンプル === -- ローカルプレイヤーの取得 local localPlayer = vci.vc.room.GetLocalPlayer() print("local player: "..localPlayer.GetName()) ===== GetPlayerById ===== ExportRoom.**GetPlayerById fun(playerId: string): [[https://developer.virtualcast.jp/vci-docs/api/classes/ExportRoomPlayer/index.html|ExportRoomPlayer]]**\\ IDを指定してルームに参加中のプレイヤーを取得する。 ※次項のサンプルを参照のこと。 ===== OnPlayerJoined ===== ExportRoom.**OnPlayerJoined fun(callback: usertype)**\\ ルームにプレイヤーが参加した時に呼ばれるコールバックを登録する。 === 引数 === ''callback:'' : ''fun(joinEvent: table{"PlayerId": string})'' === サンプル === -- 入室時コールバックの登録 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})'' === サンプル === -- 退出時コールバックの登録 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 )