はじめに
サイボウズは Virtual Market 2022 Winter でkintoneのVRブースを出展しました。kintone API とVRChat*1の連携を案内したり、kintone同人誌の立ち読みコーナーを設置したり、エンジニア向けの集会イベントを開催しました。
この記事は、ブースでの取り組みや来場者の反応について報告します。
Virtual Market とは
Virtual Market (通称Vket)とは、VR法人 HIKKY がVRChat上で主催するバーチャル即売会です。VRChat上で使用出来るアバターやアイテムのVRマーケットプレイスであり、世界最大のVRイベントです。ここ数年は毎年2回開催され、Vket 2022 Winter は2022年12月3日から12月18日までの16日間に開催されました。
kintoneブースの紹介
我々サイボウズのDeveloper Pioneerチーム*2は、企業向けVRChatワールド【パラリアル札幌】にて、kintoneブースを出しました。
エンジニアの部屋を巨大なスケールで再現し、来場者には筋斗雲のギミックを次々と乗り移ってもらいながら、コンテンツを展示しているデスクの上まで登って頂きました。
デスクの上にはkintone同人誌の立ち読みコーナーがあり、来場者は手に取って内容をその場で読むことが出来ました。また、デスク上のパソコンのモニターでは可愛いキャラ*3によるkintone の紹介ビデオが流れており、kintone初心者にもわかりやすく1分で製品の説明をしてくれました。
kintone x VRChat の技術同人誌
技術同人誌コーナーでは、kintoneと技術を組み合わせたエンジニア向けの本を紹介しました。その中でも注目の技術本は「[VRChat本]OSCでWebDBを喰らうど!」。こちらはkintoneとVRChatの連携について案内している本です。
VRChatは2022年から、OSC*4経由で外部からVRChatへのデータの送受信が出来る機能を追加しました。本書籍の前半ではそのデータ送受信の方法について分かりやすく案内し、後半ではkintoneデータベースとの連携方法について案内をしています。
例えば、下記のようなpythonコードを準備し、VRChatをプレイ中にコンソールで実行したとします。
import argparse import time from pythonosc import udp_client import requests def Get_Unfinished_Todos(): URL = "https://{ サブドメイン }.cybozu.com/k/v1/records.json" APP_ID = "{ アプリ ID}" API_TOKEN = "{API トークン }" QUERY = "todo_status in (\" 未対応 \")" HEADERS = {"X-Cybozu-API-Token":API_TOKEN} REQUEST_URL = URL + "?app=" + APP_ID + "&query=" + QUERY REQUEST_URL = REQUEST_URL + "&totalCount=true" print(" リクエスト先の URL:" + REQUEST_URL) resp = requests.get(REQUEST_URL, headers=HEADERS) resp = resp.json() return resp if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("--ip", default="127.0.0.1", help="The ip of the OSC server") parser.add_argument("--port", type=int, default=9000, help="The port the OSC server is listening on") args = parser.parse_args() client = udp_client.SimpleUDPClient(args.ip, args.port) while True: tasks_not_started = Get_Unfinished_Todos() text_to_dsplay = " 未対応 " + tasks_not_started["totalCount"] + " 件 " print(text_to_display) client.send_message("/chatbox/input", [text_to_display, True]) time.sleep(5)
すると、指定したアプリの中のレコードを集計し、集計結果をアバターのチャットボックスに表示することが出来ます。
このような集計結果の活用方法や、アバターの行動のログの取り方などの連携について本書籍で解説しています。
なお、本書籍はこちらのリンクから購入することが出来ます。200円の本に84ページ詰まっています!
Vket 2022 Winterに出展してみて
数多くのVRChatのユーザにサイボウズのkintoneブースに来て頂いて、大変感謝しています。サイボウズ社員もVRブースでの接客対応をしたことで、数々のユーザと直接お話することが出来ましたし、YouTube Liveの配信でブースで楽しんで頂けた様子も多く見かけることが出来ました。
Twitter上の反応でも、ブースのアクション要素やOSCに興味を持ってくださったり
Kintoneさん。筋斗雲に乗れる。地味にアクション要素がある。
— なななな (@IHP2_77) 2022年12月11日
VRChatに連携してデータ取得ができたりOSC使ったりするやり方の同人誌だそうです。技術同人誌! pic.twitter.com/EAIPl3zvR2
ブーススタッフのVR接客について取り上げて頂いたり
まさかの頭に刺さってるフォークを使って感情表現をする可愛い🐙タコさんウインナーさんがkintoneのブースで接客していたので、VRChat関連の技術について熱く語りあって(?)きました😊
— HayaTikaze🇯🇵 #Vket Ambassador !! (@HayaTikaze) 2022年12月9日
色んなお話を聞かせて頂きありがとうございました!#Vket #Vket2022Winter #kintone https://t.co/JaojOSQoGe pic.twitter.com/sW0dof8140
色々と面白い反応を投稿して頂けたので、1つ1つの投稿を見るのがDeveloper Pioneerチームでとても楽しめました*5。
これからも我々は積極的にVRイベントにkintoneをプッシュしていきたいと思います。
最後に
私たちは、様々な技術とkintoneと組み合わせることで 「こんな可能性が生まれる!」「面白いことが創れる!」と思って頂けるような、 心を動かすコンテンツを届ける活動をしています。 一緒に働く仲間も募集しています。興味のある方はぜひご連絡ください!
企画やコラボをご希望の方は、お問い合わせフォームからご連絡をください。