Aizu-Progressive xr Lab blog

会津大学のVR部であるA-PxLの部員が持ち回りで投稿していくブログです。部員がそれぞれVRに関する出来事やVRにちなんだことについて学んだことを書いていきます。

連絡はサークルTwitterのDMへお願いします。
「面白法人カヤックVR分室」としても活動しています。詳細はこちら

Unityで音楽ゲーム!

こんにちは!学部3年の蓮沼です! 最近自分はVTuberにハマりかなりの数のVTuberを見てます。その中でおめがシスターズさんという双子VTuberが「Beat Saber」というVR音楽ゲームをやっていました。
それを見て自分は「あ、Unityで音楽ゲーム作ってみよう」と思い作り始めました。
今回はその中で苦労した「ノーツの流れ方」について書いていこうと思います!
(ちなみに今回はVRでの音楽ゲームではないです…)

ノーツの移動

音楽ゲームのノーツは上から下に流れてくるものがほとんどです。しかし、今回自分が作ったものはある一点を中心に左右に回りながら流れてくるパターンのものを作りました。
このパターンのノーツの流れ方は自分が大好きな音楽ゲームアプリ「Tokyo 7th シスターズ」というゲームで使われていたものです。(現在は上から下に流れるものに変更されてしまっています…残念…)
動きはこんな感じです。f:id:aizu-vr:20180806160521g:plain

実装したコード

一般的な上から下に流れるパターンのものはpositionのx軸、y軸、z軸について考えながら値を足したり引いたりすることで実装できます。
しかし、この回るパターンのものは軸については深く考えなくていいもののsin、cosなどの三角関数について考えて実装しなければなりません。
コードはこんな感じです。
f:id:aizu-vr:20180806163509p:plain
1行目はフレームごとに何度進むかを指定。
2行目は計算した度をラジアンに変換。
3、4行目でsin、cosを指定し回転させる。
これらをpositionのx、y、zに入れることで上の動画のような動きができます。

最後に

これを作るにあたって久しぶりに数学というものに触れて3Dのゲームを作るのならばその辺りも覚えておかなければなぁとしみじみ思いました…

会津大学VR部の部員が持ち回りで投稿していくブログです。特にテーマに縛りを設けずに書いていきます!