任务单 #31897

タイミングアジャストをリアルタイムでやる

开放日期: 2013-08-18 16:01 最后更新: 2014-01-23 22:18

报告人:
(del#77780)
属主:
(无)
状态:
开启
组件:
里程碑:
优先:
5 - Medium
严重性:
2
处理结果:
文件:
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

今現在、タイミングアジャストは数値で調整するが、
プレイ画面を表示してアジャスト用のチップ(一つか二つ)を流してショットポイントに重なったらプレイヤーに叩いてもらい、
そのタイミングのズレで自動調整出来るようにする。
試し演奏も出来るようにする。(設定が合わなかったときにプレイしてミスが増えるのを防止出来る。)

任务单历史 (3/3 Histories)

2013-08-18 16:01 Updated by: (del#77780)
  • New Ticket "タイミングアジャストをリアルタイムでやる" created
2013-09-22 06:10 Updated by: yyagi
评论

コメントが遅くなり、ごめんなさい。

タイミングアジャストですが、まずユーザーさんには

  • 「目押し」でタイミングをとる人
  • 「音で」タイミングをとる人

の二通りの方がいらっしゃいます。(sf298yenさんが前者だと思います。私は後者。)

一方で、この調整は、内部的には以下の3つの調整を行うことになります。

  • 入力遅延の補正(キーボード, joypad, MIDI入力をPCが受理するまでの遅れ、を補正する)
  • 画面出力の遅延の補正 (例えば、3フレーム遅れて表示されるとかいうやつ。これを加味して、3フレーム速く表示したり、判定ラインの表示位置を調整したりする)
  • オーディオ出力の遅延の補正 (例えば20ms遅れて出力される(レイテンシー)のを加味して、BGMを20ms早く演奏し始める)

なので、単純に「プレイ画面を表示してアジャスト用のチップ(一つか二つ)を流してショットポイントに重なったらプレイヤーに叩いてもらい、 そのタイミングのズレで自動調整出来るようにする。」という機能では、これらのすべてを設定することができません。

# 3次方程式(変数が3つ)を解くのに、与えられる式が一つでは解けないですよね。

少なくとも、「目押し用」「音用」で、別々のタイミングアジャスト(リアルタイム)機能を用意しないといけないでしょうね。

# 現在、(リアルタイムでない) タイミングアジャスト機能は「入力補正」「音の補正」しかなく、「目押し用の画面出力補正」がないです。「目押し用の画面出力補正」として、#31602で判定バーの上下機能を乗せようとしたのですが・・・(後述)

ただし、仮にこれらをキチンと補正したとしても、結局「補正」できるのは「判定」だけであって、画面出力やオーディオ出力は遅れたままです。

例として極端な例を書くと、画面出力の遅延が1秒あったとして、これを仮に「1秒後に表示される画面を先行して表示する」ように補正して対応したとします。この場合、画面を見てキーを押せば判定はPerfectになりますが、チップのヒット処理の画面表示は、どうしてもキーを押してから1秒後になってしまいます。これだと、実際にプレイしていて楽しいものではないと思います。(実際、#31602で判定ラインを上下させる試作をしてみましたが、チップのヒット処理が(さすがに1秒とは言いませんが数フレーム分)遅れることから「違和感が残る」という結果になりました。)

オーディオ出力についても同じです。キーを押してから1秒後にスネアの音が出ても楽しくない。

なので、タイミングアジャスト機能を作りこむのは非常に難しいです。何か良いアイデアがあれば、ぜひ教えてください。(私はまず遅延を小さくするのが重要と考えていて、これまではどちらかというとそちらの方に注力していました。)

2014-01-23 22:18 Updated by: yyagi
评论

以下3つのアジャスト機能を設けるのがよいかな。

  • 音を出さずに、目押しだけでのアジャスト (画面出力ラグの補正) ※ キーボード入力を使う
  • 画面を出さずに、音だけでのアジャスト (サウンド出力ラグの補正) ※キーボード入力を使う
  • 画面を出さずに、音だけでのアジャスト (入力デバイスの入力ラグ補正、上2つの補正が完了している前提で)

Attachment File List

No attachments

编辑

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » 登录名