本文へスキップ
操作感と入力設計

入力バッファとコヨーテタイム設計の基本

押したはずなのに反応しない感覚を減らすために、先行入力、猶予時間、成功時の返し方を初心者向けに整理します。

公開日: 2026-07-02#Unity#Input Buffer#Coyote Time#Action Feel#Beginner
+
*
+
ココ先生・喜ぶ
ココ先生
ゲーム開発の案内役
この記事では 入力バッファとコヨーテタイム を、読んで終わりにせず、InputGraceDemo の小さな実装イメージまでつなげて案内します。
+
*
+
はじめちゃん・笑う
はじめちゃん
ゲームエンジン学習中
入力バッファとコヨーテタイム設計の基本 を読む前に、まずUnity のどこを見ればよいかを確認したいです。
ココ先生
今日は「入力バッファとコヨーテタイム」を、まず何が変わるのか、次に画面で何を見せるのか、最後にどの値を確認するのか、という順番で読んでいきます。
はじめちゃん
大きなテーマに見えますが、今日は「InputGraceDemo」という小さな練習用の場面だけを作るのですね。何から始めればよいか分かりました。
ココ先生
早押しを保存を表示、Jump Buttonで進める、足場を離れるを確認の流れを追えば、記事の内容を自分のプロジェクトへ移しやすくなります。
入力猶予、ジャンプ軌道、足場判定を示したヒーロー画像
完成イメージ

入力バッファとコヨーテタイムの状態を分ける

早押しを保存、足場を離れる、ジャンプを許可 を別々の状態として扱い、今どの段階かを画面で確認できるようにします。

少しのズレを助けられるかをUIで伝える

Console だけではプレイヤーには見えません。TextMeshPro や Slider に bufferSeconds / coyoteSeconds / inputOffset を出して、判断材料を画面へ移します。

最小実装から広げる

まず InputGraceDemo を動かし、その後に本物の入力、通信、戦闘、保存処理などへ置き換えると、原因を見失いにくくなります。

導入

ジャンプを少し早く押しても、足場から少し離れても成功するジャンプを作ります。入力を短い間だけ預かる仕組みです。

作るもの

Player に JumpAssist と Rigidbody を付けます。

最初の実装

float buffer,coyote; // 押した直後と足場を離れた直後に残す時間
void Update(){buffer-=Time.deltaTime;coyote-=Time.deltaTime;if(Input.GetButtonDown("Jump"))buffer=.12f;if(IsGrounded())coyote=.1f;}

動きをつなぐ

if(buffer>0&&coyote>0){body.linearVelocity=new Vector3(body.linearVelocity.x,jumpPower,body.linearVelocity.z);buffer=0;coyote=0;}

完成版

using UnityEngine;public class JumpAssist:MonoBehaviour{[SerializeField]Rigidbody body;[SerializeField]float jumpPower=6;float buffer,coyote;void Update(){buffer-=Time.deltaTime;coyote-=Time.deltaTime;if(Input.GetButtonDown("Jump"))buffer=.12f;if(IsGrounded())coyote=.1f;if(buffer>0&&coyote>0){body.linearVelocity=new Vector3(body.linearVelocity.x,jumpPower,body.linearVelocity.z);buffer=coyote=0;}}bool IsGrounded()=>Physics.Raycast(transform.position,Vector3.down,1.1f);}
はじめちゃん
最後に整理すると、入力バッファとコヨーテタイムでいちばん見失いやすい所はどこですか?
ココ先生
内部処理だけを追って、画面で伝える言葉を後回しにする所です。InputGraceDemoでは、まずプレイヤーに見える変化を先に決めます。
はじめちゃん
流れは「早押しを保存を表示」から始めて、「Jump Buttonで進める」で操作を入れる、と覚えればよいですか?
ココ先生
その通りです。その後に「足場を離れるを確認」で途中状態を見て、「ジャンプを許可で結果を見る」で結果を確認します。順番を固定すると、失敗した場所も見つけやすくなります。
はじめちゃん
つまり、いきなり完成システムにせず、状態名、表示、値の変化を小さくそろえるのですね。
ココ先生
はい。最後は「入力バッファとコヨーテタイムをわかりやすく考える」の考え方で、難しい処理をプレイヤーに伝わる短い合図へ置き換えられるか確認しましょう。
この記事のまとめを案内するガイドキャラクター

この記事のまとめ

押したはずなのに反応しない感覚を減らすために、先行入力、猶予時間、成功時の返し方を初心者向けに整理します。

大きな違いを生むのは、派手な性能よりも 毎日触れる環境を無理なく整えること です。見やすい画面と使いやすい道具がそろうと、学習や次の一歩を決めやすくなります。