こんにちは!学部3年の蓮沼です!
最近自分はVTuberにハマりかなりの数のVTuberを見てます。その中でおめがシスターズさんという双子VTuberが「Beat Saber」というVRの音楽ゲームをやっていました。
それを見て自分は「あ、Unityで音楽ゲーム作ってみよう」と思い作り始めました。
今回はその中で苦労した「ノーツの流れ方」について書いていこうと思います!
(ちなみに今回はVRでの音楽ゲームではないです…)
ノーツの移動
音楽ゲームのノーツは上から下に流れてくるものがほとんどです。しかし、今回自分が作ったものはある一点を中心に左右に回りながら流れてくるパターンのものを作りました。
このパターンのノーツの流れ方は自分が大好きな音楽ゲームアプリ「Tokyo 7th シスターズ」というゲームで使われていたものです。(現在は上から下に流れるものに変更されてしまっています…残念…)
動きはこんな感じです。
実装したコード
一般的な上から下に流れるパターンのものはpositionのx軸、y軸、z軸について考えながら値を足したり引いたりすることで実装できます。
しかし、この回るパターンのものは軸については深く考えなくていいもののsin、cosなどの三角関数について考えて実装しなければなりません。
コードはこんな感じです。
1行目はフレームごとに何度進むかを指定。
2行目は計算した度をラジアンに変換。
3、4行目でsin、cosを指定し回転させる。
これらをpositionのx、y、zに入れることで上の動画のような動きができます。
最後に
これを作るにあたって久しぶりに数学というものに触れて3Dのゲームを作るのならばその辺りも覚えておかなければなぁとしみじみ思いました…