コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】音ゲーの譜面エディタ「NoteEditor」紹介

はじめに

「NoteEditor」は音ゲーの譜面エディタです

目次

クイックスタート

音声ファイルの読み込み

f:id:baba_s:20180415120043p:plain

音声ファイル(.wav)が格納されているフォルダのパスを入力し、
読み込みたい音声ファイルを選択し、読み込みボタンを押します

f:id:baba_s:20180415120207p:plain

すると、音声ファイルが読み込まれて譜面エディタと波形が表示されます

ノーツの配置

f:id:baba_s:20180415120335g:plain

グリッドをクリックすると、ノーツを配置できます

長押しノーツの配置

f:id:baba_s:20180415120633p:plain

Alt キーを押して上記のアイコンが光ると、長押しノーツ編集モードになります
もう一度 Alt キーを押すと、長押しノーツ編集モードを解除します

f:id:baba_s:20180415120812g:plain

長押しノーツ編集モードでグリッドをクリックすると、長押しノーツを配置できます

ノーツの削除

f:id:baba_s:20180415120508g:plain

Ctrl キーを押しながらドラッグしてノーツを選択し、
Delete キーを押すとノーツを削除できます

LPB の変更

f:id:baba_s:20180415123043g:plain

LPB を変更すると、ノーツの配置間隔を調整できます

BPM の変更

f:id:baba_s:20180415123152g:plain

BPM(音楽のテンポ)を調整できます

オフセットの変更

f:id:baba_s:20180415123319g:plain

譜面の開始位置を調整できます

その他の UI

f:id:baba_s:20180415123525p:plain

UI 内容
再生ボタン 音声ファイルを再生してノーツの確認ができます
ノーツが配置されている箇所にくると拍手が鳴ります
スライダー 音声ファイルの再生位置を調整できます
波形をドラッグすることでも再生位置を調整できます
ボリューム ボリュームを変更できます
波形表示 波形を表示するかどうかを変更できます
Clap ノーツが配置されている箇所で拍手を鳴らすかどうかを変更できます

保存ボタン

f:id:baba_s:20180415123949p:plain

保存ボタンを押すと譜面の情報を JSON 形式で保存できます

{
    "name": "bgm",
    "maxBlock": 5,
    "BPM": 120,
    "offset": 0,
    "notes": [
        {
            "LPB": 4,
            "num": 12,
            "block": 2,
            "type": 1,
            "notes": []
        },
        {
            "LPB": 4,
            "num": 12,
            "block": 0,
            "type": 1,
            "notes": []
        },
        {
            "LPB": 4,
            "num": 16,
            "block": 1,
            "type": 1,
            "notes": []
        },
        {
            "LPB": 4,
            "num": 16,
            "block": 3,
            "type": 1,
            "notes": []
        },
        {
            "LPB": 4,
            "num": 20,
            "block": 2,
            "type": 2,
            "notes": [
                {
                    "LPB": 4,
                    "num": 24,
                    "block": 2,
                    "type": 2,
                    "notes": []
                }
            ]
        },
        {
            "LPB": 4,
            "num": 20,
            "block": 0,
            "type": 2,
            "notes": [
                {
                    "LPB": 4,
                    "num": 24,
                    "block": 0,
                    "type": 2,
                    "notes": []
                }
            ]
        }
    ]
}

JSON は MusicDTO クラスを使用して上記のような形式で保存されます

コマンド一覧(引用)

一般的なコマンド

アクション コマンド
元に戻す Ctrl + Z
やり直し Ctrl + Y
保存する Ctrl + S

譜面の操作

アクション コマンド
拡大/縮小する 上下矢印キー / Ctrl + マウスホイール
現在位置を移動する 左右矢印キー / マウスホイール / 波形部分を左右にドラッグ
現在位置を素早く移動する Ctrl + 左右矢印キー
再生 / 停止 Space
ノーツをすべて選択する Ctrl + A
ノーツを範囲選択する Ctrl + 譜面をドラッグ
選択対象をコピーする Ctrl + C
選択対象を切り取る Ctrl + X
選択対象を削除する Delete / Back space
コピー対象を張り付ける Ctrl + V

ノーツ編集モードの操作

アクション コマンド
ノーツ編集モードを切替える Alt
ロングノーツ編集を開始する Shift + ノーツを配置
ロングノーツ編集モードを解除する 右クリック / Esc

備考

「NoteEditor」の作者の setchi さんは、
他にもすばらしいアセットを GitHub に公開されております