ノーツ描画の仕様【うみぐりゃーずアドベントカレンダー 2022】
うみぐりゃーずアドベントカレンダー 2022 3 日目の記事です。
はじめに
こんにちは、UMIGURI の開発者の いののて です。趣味でソフトウェアを開発したりゲーセンで某スライダーを擦る音ゲーをしたりしています。弾幕 STG な音ゲーもぼちぼちしてます。ところで聖女アンナちゃん、可愛いですよね。もちろん今開催中のグッズキャンペーンで新規立ち絵入手するつもりです。アンナちゃんが貰える期間の最終日が 1 月 11 日、僕の誕生日は 1 月 15 日。近い。まるで誕生日プレゼントのようですね。
今回、嬉しいことに主催の ひとみとせ さんに うみぐりゃーずアドベントカレンダー 書きませんか!?と誘われて参加することになりました。
アドベントカレンダーは今まで専ら読むだけだったのですがこうして初めての記事、ということで結構緊張しますね。
ノーツ描画の仕様
設定したテーマ 開発者として ということで、この記事では本家や UMIGURI のノーツ描画の仕様について 3 つ解説します。ギミックや AIR-TRACE などで装飾を施す際などに参考になれば幸いです。
地面ノーツの描画順
地面ノーツ (TAP、ExTAP、SLIDE、HOLD、FLICK、DAMAGE) はその種類とフィールド上の奥行き方向の位置によって描画順が決まります。(最背面から順に描画されます。)
注意: UMIGURI は奥行き順ではなく時間順で描画するようになっているので (不具合です) 追い越しノーツの描画順が設計と異なる挙動になっています。また、本来は SLIDE の中継点と終点ノーツにもこれらの規則が適用されるのですが UMIGURI は無視して始点の描画順に依存して描画します。
AIR 系ノーツの描画順
AIR 系ノーツ (AIR、AIR-HOLD、AIR-SLIDE、AIR-CRUSH、AIR-TRACE) は一部を除いて、その種類とフィールド上の奥行き方向の位置によって描画順が決まります。(最背面から順に描画されます。)
譜面に装飾を施しても意図した見た目にならない場合は描画順を考慮すると解決できることがあります。
AIR 系ノーツの描画順について
AIR 系ノーツは立体的なオブジェクトなので、現実世界のように視点から見て手前に位置する物体は手前に、奥に位置する物体は奥になるよう描画したいですよね (開発者目線)。それを実現するためにゲームなどのリアルタイムレンダリング*1 用途の 3DCG では Z バッファ法 という技術があります。
この技術を使えば描画順を気にせず奥行きを考慮した描画ができるのですが、万能ではなく、テクスチャ (オブジェクトの表面に貼り付ける画像) に半透明で後ろが透けて見える部分があるとうまくいかないことがあります。
UMIGURI (や本家) では、AIR-CRUSH の箱の枠や始点の箱の紫の部分、AIR-ACTION は完全不透明なためこの技術を使って順番を気にせずに描画することができます。しかしそれ以外の AIR 系ノーツはテクスチャに半透明要素があるため、それらに描画順を設定し前後関係が擬似的に極力自然に見えるよう描画しています。
ノーツが中央判定タイミングを超えたときの挙動
ノーツが中央判定タイミング (ガイド音が鳴るタイミング) を超えたとき、流れる速度が等倍になります。
例えば -1.0 倍速にして手前からノーツが流れるようにした場合は、判定線に重なった瞬間に反射したような挙動になります。
ロングノーツの背景部分は判定線跨いだとき、これを境に手前側は等速で流したときと同じ形状になります。
おまけ
UMIGURI NEW (仮)
UMIGURI v1 に潜在する様々な問題点を解決するために「UMIGURI NEW (仮)」としてほぼ一から開発している新バージョンです。
重かった UI 描画も独自のエンジンで軽量化し、表現力も向上させています。 開発進捗は Twitter @inonote で流しています。
※キャプチャ画像は開発中で未完成状態なので完成版は大きく変わっているかもしれません。
※プレイ画面の背景が新しくなっていますが、従来の背景に切り替えることも可能です。
UMIGURI ㊙情報
(ゲームディレクトリ)/data/music のサブディレクトリに .umgrignore
の名前で空のファイルを配置すると、起動時の楽曲を収集する際そのディレクトリの存在が無視されます。
楽曲数が多くなるとその分起動時間も長くなりますが、この機能を使うことで起動時間を短縮することができます。
デバッグ機能として実装していたのですが消し忘れました。
例: EXAMPLE ディレクトリを無視したい場合
UMIGURI ┗ data ┗ music ┗ EXAMPLE ┣ 3dBackgroundTest ┣ 3dFieldTest ┣ ⋮ ┣ Tutorial ┗ .umgrignore ←こう配置する
好きな配置
一応作譜人 (さくふんちゅ) でもあるので好きな配置を置いておきます。
SLIDE 中継点を等間隔でカチャカチャ鳴らす配置
チャッチャッチャッチャ...って軽快な音が鳴るの好き。
例:
Bad Apple!! feat.nomico (MAS)
太陽曰く燃えよカオス (MAS)
staple stable (MAS)
何とは言わないけど星 PLUS から始めた民なので残念ながら一番上以外は遊んだことないです... (復活してくれ)
ノーツの効果音を巧みに使っている配置
- Rendezvous (MAS)
楽曲のメロディーの音の高さが上がるのに合わせて AIR-HOLD を配置して高音の効果音を鳴らすようにしています。
また、効果音の高さは TAP → SLIDE 終点 → AIR-HOLD の順で高くなることが知られていますが、この配置は 1 拍目で TAP を鳴らし、 2 拍目で SLIDE 終点 を鳴らし、 3 拍目で AIR-HOLD を鳴らすことで段階的に音が高くなるようになっており、プレイが盛り上がるようになっています。(同時に鳴る効果音の種類も 1 → 2 → 4 と増えてますね。)
最後に
ここまで読んでいただきありがとうございます。
これからチ...ニズムで遊ぶ時はノーツ描画の仕様の知識を活かして、このノーツは描画順があのノーツよりも上だからこんな見た目になってるんだなーとか意識して譜面を見るとより面白くなるかも知れません。僕はしてます。
ImageMagick のメモ
基本
convert
元の画像を保持- 引数の頭に入力画像ファイル名、末尾に出力画像ファイル名。
mogrify
上書き- 引数の末尾に加工対象の画像ファイル名。
解像度変更
-resize 横x縦
横縦のどちらかを省略すると比率を保持したまま変更。
キャンバスの大きさを変更 (余白を変更)
-gravity 位置 -extent 横x縦
-gravity に指定する方位
northwest north northeast \ | / west ---- center ---- east / | \ southwest south southeast
画像の透明度を保持して加工する
-background transparent
ひなこのーと のくじ引き
ひなこのーと のくじ引き堂でゲットした商品が届いた。
ウワァァァァァァァァァァァァァァァァァァァ(歓喜)
— いののて (@inonote) 2021年8月1日
すこ.........ウッ……死…
あぁ…すこ…………………… pic.twitter.com/RBNhvhg7GE
— いののて (@inonote) 2021年8月1日
財力があればコンプしたかったんですけどね!!!!
(無念)
ウワァァァァァァァァァァァァァァァァァァァ(歓喜)
— いののて (@inonote) 2021年6月5日
次は絶対S賞とA賞狙う pic.twitter.com/P6pArrGFZU
一瞬で一万溶かした怖っ pic.twitter.com/xKM6WDbLvM
— いののて (@inonote) 2021年6月5日
まとめ
くじ引き堂での売り上げでフィギュア化してくれんかな。受注生産でもいいので
【PC版 原神】スクリーンショットの保存先の変え方
1. 新たなスクショ保存先に ScreenShot フォルダを移動する
GenshinImpact.exe
があるインストール先フォルダ (デフォルトで C:\Program Files\Genshin Impact\Genshin Impact game
) 内の ScreenShot
フォルダを好きな場所に移動します。
※この時フォルダ名が ScreenShot
で紛れるかもしれないので、分かりやすく名前変更しても構いません。
2. 管理者権限でコマンドプロンプトを起動する
Winキー
+ R
で「ファイル名を指定して実行」を起動し、「cmd」と打ち込んでから Ctrl
+ Shift
+ Enter
を押して管理者権限としてコマンドプロンプトを起動します。
3. コマンドを実行する
以下のコマンドをメモ帳などにコピペし、<>内を書き換えてからコマンドプロンプトにコピペし、最後に Enterキー
を押します。
pushd "<GenshinImpact.exeがあるインストール先フォルダパス>" mklink /d "<GenshinImpact.exeがあるインストール先フォルダパス>\ScreenShot" "<新たなスクショ保存先のフォルダパス>"
※フォルダパスは、フォルダを開いた状態でアドレスバーを右クリックし「アドレスのコピー」をクリックすることで簡単にコピペできます。
インストール先フォルダに矢印マークがついたアイコンのScreenShotフォルダが出現したら成功です。原神のカメラ機能でスクショしたら新たなスクショ保存先に保存されるはずです。
※あるフォルダへの入り口を別の場所にも設置するような方法で保存先を変えたので、元のScreenShotフォルダを開いても新たなスクショ保存先と同じ中身なのは正常です。
変更した保存先を元に戻す方法
インストール先フォルダにある、矢印マークがついたアイコンのScreenShotフォルダを削除するだけです。
よく使うコマンドのメモ (ffmpeg / youtube-dl)
iOSショートカットAppの「音楽クイズ」が面白かった
適当に遊んでたら見つけました。
*ショートカットAppを開き、「ギャラリー」の「スターターショートカット」内から入手できます。
遊んでみた
早速やってみます。
Siriに「音楽クイズ」と話しかけるとゲームが始まります。
ここでiPhone内の楽曲がランダムに選ばれ、曲の真ん中あたりから再生されます。
しばらくすると選択肢が出てくるので、流れていた曲だと思うものを押します。
簡単ですね。
また曲が流れます。
・
・
・
私は、Siriショートカットのゲーム“音楽クイズ”をプレイして、5ラウンド中、5回勝ちました 🎶
今回はここまで