カワリモノ息子の技術メモ的な~

カワリモノ息子とその母の技術メモ的な〜

学校が苦手な息子くんの作品とその母の作品、はたまた日常などいろいろを在宅エンジニア母が綴る

中1息子くんRobloxでVRゲームを作ってみた

ROBLOXでVRゲーム遊んでみた

息子くんの大好きロブロックスの話です。
以前からROBLOXにVRゲームが存在してたみたいなのですが、最近遊べるVRゲームがいくつか増えてきたとのこと。

家にあるVRヘッドセットはOculus Quest(オキュラスクエスト)というものです。

本来RobloxではOculus Questには対応していないのですが、

siroitori.hatenablog.com

↑ このときのブログに書いたように、Oculus Quest が Oculus Rift として使えるようになったので、今ではROBLOXのVRゲームも遊べるようになっています!

それで最近「これおもしろい!」っていって見せてくれた、他の方が公開されているRobloxのVRのゲーム。人気のゲームのようですね!

www.roblox.com

空中に大きく浮いている怪獣のような顔は、息子くんのアバター
VR対応のユーザ(VRヘッドセットを持っている人)は、孫悟空でいうところのお釈迦様のような存在となり、非VR環境のユーザーを手に乗せて高いところに乗せたり放り出したりして遊ぶことができます!

f:id:toriko0413:20200517210420g:plain

ちょっと上記GIF動画わかりにくいですが、息子くん皆を手に乗せては放り投げています。
これぞ、神々の遊び!
みんなも神に投げられたくてたまらなくてたくさんのユーザーが神の手のひらに寄って行っています。
その遊びを見て呆然と立ち尽くす私、という構図。

「私はここよー!」と言っても神にとっては大勢の愚かな民の中の一人。
神に見つけてもらうことは困難です。

・・・うけるw

f:id:toriko0413:20200517212556j:plain

↑ 実際はこうやって操作しています。両手に持っているVRコントローラーがゲーム上の大きな手となります。

ROBLOXでVRゲーム作ってみた!

ということでVRゲームを作ってみたい!となった息子くん。
ブロックスでのVRの実装について英語で調べてもなかなか情報はないらしくかなりいろいろ試行錯誤したとのこと。

今回はVRのコントローラーがゲーム内で拳銃となって表示されボタンを押すと発砲する、というプログラムを作っていました。

実装方法

「なかなか情報が無いから、情報を公開したい」と言われました。
その心意気大したもんだ!
将来は自分でブログなりGitHubなりで公開できるようになったらいいんだけどね。なにせ文章書けない(というか書きたくないのか?書けばいいのに)

下記部分が重要だから載せてほしいと言われたので抜粋しました。

local uis = game:GetService("UserInputService")

--~~省略~~

	uis.InputBegan:Connect(function(input, processed)
		if input.KeyCode == Enum.KeyCode.ButtonR2 then
			Shot()
		end
	end)
--	UserInputService.InputChanged:Connect(function(input, processed)
--		if input.KeyCode == Enum.KeyCode.Thumbstick1 then
--	        print("Thumbstick 1 :",input.Position.X,":",input.Position.Y)
--	    elseif input.KeyCode == Enum.KeyCode.Thumbstick2 then
--	        print("Thumbstick 2 :",input.Position.X,":",input.Position.Y)
--	    end
--	end)

この部分の解説をすると、入力されたVR機器のButtonR2が押されたとき、Shot()という関数を呼んでいます。Shot()は息子くんの作った関数でこの中で銃の発砲処理なんかを行っています。

また下の方のコメント部分。
Thumbstick1やThumbstick2(ジョイスティック)が操作された場合はこのようにしてX, Yを取得できるそうです。

では、ButtonR2とかThumbstick1ってどこのこと?って話です。

RobloxはOculus Riftには対応していてうちのOculus QuestではOculus LinkでOculus Riftのように動作することが出来ているものの、Oculus Rift とOculus Questでは明らかにコントローラーが違うらしく、ボタンの割り当てがわからなかったため調べたそうです。

その結果がこちら ↓

f:id:toriko0413:20200518101229p:plain

Thumbstick1と2は左と右どっちかのジョイスティックでした!ごめんなさい、メモるの忘れました!(;'∀')
動かして試してみたらすぐわかると思います。

f:id:toriko0413:20200518100354j:plain

さいごに

最近はいっとき充電期間で開発もゆっくりだった息子くんですが、またプログラミング熱が加速してきた模様。
常に2~3個同時進行で頑張っています。

Twitterでは地味につぶやいてましたが、息子くんかの有名な『未踏ジュニア』に1次通過して2次面接(リモート)をうけ、さらに追加面接をうけました。

結果発表は今月末。これがもし採択されたらとても嬉しいです。なぜなら今回の息子くんの出した提案書の内容は「息子くん的にめっちゃやってみたい開発の内容なんだけどお金がかかるもの」だから。もし採択されたら50万まで支援が出るんですよね。

まぁーとはいえ採択されたらされたでコミュ障かつ自分中心で動きたい息子くんがちゃんとやりとりしながら最後までやり遂げることができるのか?(Zoom面接を一回やるだけで「もうきつくて体力の限界だ」とめちゃくちゃぐったりしてるし・・・)不安は大きくなりますが、されてもされなくても『学び』、得るものは大きいと思っています^^

採択されたら嬉しいけど、そうでなくてもお金なるべく節約してできる範囲で形を残せるようバックアップしていけたらなぁと思います!

関連記事

ブロックス

siroitori.hatenablog.com
siroitori.hatenablog.com
siroitori.hatenablog.com
このほかにもいろいろ書いてます(記事一覧) ↓
siroitori.hatenablog.com



スター・はてブ有難うございます^^