<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ジャンプ | 怪獣の2Dアクションゲーム制作開発記</title>
	<atom:link href="https://naiterukaiju.com/tag/%E3%82%B8%E3%83%A3%E3%83%B3%E3%83%97/feed/" rel="self" type="application/rss+xml" />
	<link>https://naiterukaiju.com</link>
	<description>👾Unityでゲームを作ったり、実装に役立ちそうな情報を記録👾</description>
	<lastBuildDate>Fri, 26 Jun 2026 13:47:19 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://naiterukaiju.com/wp-content/uploads/2026/05/cropped-kaiju-1-32x32.png</url>
	<title>ジャンプ | 怪獣の2Dアクションゲーム制作開発記</title>
	<link>https://naiterukaiju.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【Unity2D】効果音（SE）を鳴らしてみよう｜PlayOneShotの使い方とPrefab方式との違いも解説【初心者向け】</title>
		<link>https://naiterukaiju.com/unity-2d-sound-effects-playoneshot/</link>
					<comments>https://naiterukaiju.com/unity-2d-sound-effects-playoneshot/#respond</comments>
		
		<dc:creator><![CDATA[怪獣]]></dc:creator>
		<pubDate>Wed, 29 Apr 2026 06:45:05 +0000</pubDate>
				<category><![CDATA[Unity2D実装解説]]></category>
		<category><![CDATA[2Dゲーム]]></category>
		<category><![CDATA[SE]]></category>
		<category><![CDATA[Unity]]></category>
		<category><![CDATA[Unity初心者]]></category>
		<category><![CDATA[アクションゲーム]]></category>
		<category><![CDATA[ゲーム制作]]></category>
		<category><![CDATA[ジャンプ]]></category>
		<category><![CDATA[効果音]]></category>
		<category><![CDATA[敵]]></category>
		<guid isPermaLink="false">https://naiterukaiju.com/?p=1272</guid>

					<description><![CDATA[Unityでゲームを作っていると、ジャンプなどのアクションを起こした際に効果音を鳴らしたくなることがありますよね🤔 この記事では、 などの方に向けた記事となっています！ Unity2Dで効果音（SE）を鳴らし方はPlay [&#8230;]]]></description>
										<content:encoded><![CDATA[
<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-10 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://naiterukaiju.com/wp-content/uploads/2026/04/9327DB85-EFD6-4A95-A63A-1FA1F0A35E85.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p class="wp-block-paragraph">こんにちは！Unityで2dゲームを制作中の怪獣です🦖</p>
</div></div>



<p class="wp-block-paragraph">Unityでゲームを作っていると、ジャンプなどのアクションを起こした際に<br>効果音を鳴らしたくなることがありますよね🤔</p>



<p class="wp-block-paragraph">この記事では、</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-9 sbs-think sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://naiterukaiju.com/wp-content/uploads/2026/06/kaisya_komaru_man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<ul class="wp-block-list">
<li><strong><span class="marker-under-red">効果音の鳴らせるようになりたい！</span></strong></li>



<li><strong><span class="marker-under-red">効果音ってどうやったら慣らせるの？</span></strong></li>



<li><strong><span class="marker-under-red">PlayOneShotってどう使うの？</span></strong></li>



<li><strong><span class="marker-under-red">Prefab方式との違いは？</span></strong></li>



<li><strong><span class="marker-under-red">どの方法を使えばいいの？</span></strong></li>
</ul>
</div></div>



<p class="wp-block-paragraph">などの方に向けた記事となっています！</p>



<p class="wp-block-paragraph"><strong>Unity2Dで効果音（SE）を鳴らし方はPlayOneShot（音を鳴らす関数）を使う方法が一般的かと思います。</strong><br>この記事では<strong>PlayOneShotでの使い方</strong>を解説しつつ、後半では<strong>Prefab化（音を鳴らす専用オブジェクトを生成するテンプレート）を行った鳴らし方との違い</strong>も紹介します！<br></p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-10 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://naiterukaiju.com/wp-content/uploads/2026/04/9327DB85-EFD6-4A95-A63A-1FA1F0A35E85.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p class="wp-block-paragraph">実際に自分が制作中の2Dアクションゲームでは<strong>Prefab化</strong>を行ってSEを鳴らしています。<br><strong>どちらでの方法でもSEを鳴らすことは可能ですが、<span class="marker-under-red">小規模なゲームならPlayOneShotだけでもOKです◎</span></strong></p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">この記事で出来ること</a></li><li><a href="#toc2" tabindex="0">通常のSEはPlayOneShotがおすすめ</a></li><li><a href="#toc3" tabindex="0">事前準備</a></li><li><a href="#toc4" tabindex="0">① AudioSourceを追加する</a></li><li><a href="#toc5" tabindex="0">② PlayOneShotで効果音を鳴らす基本コード（全文）</a><ol><li><a href="#toc6" tabindex="0">何をしているか1行ずつ解説すると・・</a></li></ol></li><li><a href="#toc7" tabindex="0">③ AudioSource、音声ファイルをアタッチする</a><ol><li><a href="#toc8" tabindex="0">ジャンプ処理などの特定のアクション直後に組み込む例</a></li><li><a href="#toc9" tabindex="0">よくあるエラー・つまずきポイント</a></li></ol></li><li><a href="#toc10" tabindex="0">④ Prefab方式での作り方（任意）</a><ol><li><a href="#toc11" tabindex="0">Prefab方式での作り方手順</a></li><li><a href="#toc12" tabindex="0">Prefab化した効果音を呼び出す処理を書く</a></li><li><a href="#toc13" tabindex="0">Prefab化したものを紐づける</a></li><li><a href="#toc14" tabindex="0">効果音プレハブを自動で削除させる</a></li></ol></li><li><a href="#toc15" tabindex="0">PlayOneShotとPrefab方式の違い</a><ol><li><a href="#toc16" tabindex="0">どっちを使うべき？</a></li></ol></li><li><a href="#toc17" tabindex="0">制作中のゲームで作った例</a></li><li><a href="#toc18" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">この記事で出来ること</span></h2>



<ul class="wp-block-list">
<li>PlayOneShot で基本的な効果音の鳴らし方が分かる</li>



<li>音が鳴らないときの確認ポイントも解説</li>



<li>Prefab方式との違いも後半で解説あり</li>



<li>どの方法を選べばいいかが分かる<br>（動画では、「ジャンプ」、「ダメージ」音を実装しています）</li>
</ul>



<p class="wp-block-paragraph"><br><video controls="" src="https://naiterukaiju.com/wp-content/uploads/2025/11/無題のビデオ-‐-Clipchampで作成-9-1.mp4"></video><br></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc2">通常のSEはPlayOneShotがおすすめ</span></h2>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-10 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://naiterukaiju.com/wp-content/uploads/2026/04/9327DB85-EFD6-4A95-A63A-1FA1F0A35E85.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p class="wp-block-paragraph">まず結論として、<strong>通常のSE（<strong><span class="marker-under-blue"><span class="marker-under-red">ジャンプ音、ダメージ音、ボタン音</span></span></strong><span class="marker-under-red">など</span>）なら PlayOneShot が最もシンプルでおすすめ</strong>です！</p>
</div></div>



<p class="wp-block-paragraph">理由は次の通りで、一番シンプルで扱いやすいからです。</p>



<ul class="wp-block-list">
<li><strong>実装がシンプル</strong></li>



<li><strong>1回だけ鳴らす処理に向いている</strong></li>



<li><strong>同じ AudioSource で複数の効果音を扱いやすい</strong></li>



<li><strong>初心者でも詰まりにくい</strong></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc3">事前準備</span></h2>



<p class="wp-block-paragraph">まずは、<strong>効果音ファイル（.wavや.mp3）を用意</strong>しておきます。<br>→ <code>Assets/Audio/</code> フォルダなどに保存する。（当記事では、ジャンプ、ダメージ効果音を用意）</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="512" height="584" src="https://naiterukaiju.com/wp-content/uploads/2025/11/image.png" alt="効果音ファイルの用意" class="wp-image-423" srcset="https://naiterukaiju.com/wp-content/uploads/2025/11/image.png 512w, https://naiterukaiju.com/wp-content/uploads/2025/11/image-263x300.png 263w" sizes="(max-width: 512px) 100vw, 512px" /></figure>



<h2 class="wp-block-heading"><span id="toc4">① AudioSourceを追加する</span></h2>



<p class="wp-block-paragraph"><strong><span class="marker-under-blue"><span class="marker-under-red">PlayOneShot </span></span></strong>を使った実装を行っていきます！<br>まずは<strong>AudioSourceコンポーネント</strong>を追加します！<br>手順は以下の通りです↓</p>



<p class="wp-block-paragraph">１．Hierarchyでプレイヤーオブジェクトを選択する。<br>２．Inspector の <strong>Add Component</strong> をクリック</p>



<figure class="wp-block-image size-full"><img decoding="async" width="710" height="420" src="https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー.png" alt="Add Componentを押す" class="wp-image-1258" srcset="https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー.png 710w, https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー-300x177.png 300w, https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー-376x222.png 376w" sizes="(max-width: 710px) 100vw, 710px" /></figure>



<p class="wp-block-paragraph">３．<strong>AudioSource</strong> を追加する</p>



<figure class="wp-block-image size-full"><img decoding="async" width="710" height="420" src="https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー-1.png" alt="AudioSource の追加" class="wp-image-1259" srcset="https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー-1.png 710w, https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー-1-300x177.png 300w, https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー-1-376x222.png 376w" sizes="(max-width: 710px) 100vw, 710px" /></figure>



<p class="wp-block-paragraph">勝手にSEが再生されないように、まずはこの2つを設定値をOFFにしておくのがおすすめです！</p>



<ul class="wp-block-list">
<li><strong>Play On Awake</strong>：OFF</li>



<li><strong>Loop</strong>：OFF</li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="536" height="301" src="https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー-2.png" alt="AudioSource の設定値" class="wp-image-1260" srcset="https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー-2.png 536w, https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー-2-300x168.png 300w, https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー-2-120x68.png 120w, https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー-2-160x90.png 160w, https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー-2-320x180.png 320w, https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー-2-376x211.png 376w" sizes="(max-width: 536px) 100vw, 536px" /></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc5">② PlayOneShotで効果音を鳴らす基本コード（全文）</span></h2>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>using UnityEngine;

public class PlayerSE : MonoBehaviour
{
    &#91;SerializeField&#93; private AudioSource _audioSource;
    &#91;SerializeField&#93; private AudioClip _jumpSE;

    public void PlayJumpSE()
    {
        _audioSource.PlayOneShot(_jumpSE);
    }
}</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">using</span><span style="color: #D4D4D4"> </span><span style="color: #4FC1FF">UnityEngine</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #9CDCFE">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">PlayerSE</span><span style="color: #D4D4D4"> : </span><span style="color: #4EC9B0">MonoBehaviour</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    &#91;</span><span style="color: #9CDCFE">SerializeField</span><span style="color: #D4D4D4">&#93; </span><span style="color: #569CD6">private</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">AudioSource</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">_audioSource</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    &#91;</span><span style="color: #9CDCFE">SerializeField</span><span style="color: #D4D4D4">&#93; </span><span style="color: #569CD6">private</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">AudioClip</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">_jumpSE</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">PlayJumpSE</span><span style="color: #D4D4D4">()</span></span>
<span class="line"><span style="color: #D4D4D4">    {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">_audioSource</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">PlayOneShot</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">_jumpSE</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span></code></pre></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc6">何をしているか1行ずつ解説すると・・</span></h3>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>&#91;SerializeField&#93; private AudioSource _audioSource;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #D4D4D4">&#91;</span><span style="color: #9CDCFE">SerializeField</span><span style="color: #D4D4D4">&#93; </span><span style="color: #9CDCFE">private</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">AudioSource</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">_audioSource</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p class="wp-block-paragraph">Inspector で AudioSource を設定するための変数です。</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>&#91;SerializeField&#93; private AudioClip _jumpSE;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #D4D4D4">&#91;</span><span style="color: #9CDCFE">SerializeField</span><span style="color: #D4D4D4">&#93; </span><span style="color: #9CDCFE">private</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">AudioClip</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">_jumpSE</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p class="wp-block-paragraph">再生したい音声ファイルを入れておく変数です。</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>_audioSource.PlayOneShot(_jumpSE);</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #9CDCFE">_audioSource</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">PlayOneShot</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">_jumpSE</span><span style="color: #D4D4D4">);</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>指定した AudioClip を1回だけ再生しています。</strong><br>SEのように「必要な瞬間だけ鳴らしたい音」と相性がいいです🙆</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc7">③ AudioSource、音声ファイルをアタッチする</span></h2>



<p class="wp-block-paragraph">このままだと音声ファイルとプログラム上が紐づいていないので、アタッチしていきます！</p>



<p class="wp-block-paragraph">１．AudioSourceを追加済みのプレイヤーオブジェクトを選択する<br>２．Inspectorの <code>_audioSource</code> 欄に<strong>AudioSourceコンポーネントをドラッグ</strong>する</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="710" height="420" src="https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー-4.png" alt="AudioSourceコンポーネントをドラッグ" class="wp-image-1267" srcset="https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー-4.png 710w, https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー-4-300x177.png 300w, https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー-4-376x222.png 376w" sizes="(max-width: 710px) 100vw, 710px" /></figure>



<p class="wp-block-paragraph">３．ソース上で定義した「JumpSE」、に、音声ファイルをそれぞれドラッグします（※ダメージSEにもドラッグしていますが、ジャンプだけでOKです）</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="710" height="420" src="https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー-5.png" alt="音声ファイルをドラッグ" class="wp-image-1268" srcset="https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー-5.png 710w, https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー-5-300x177.png 300w, https://naiterukaiju.com/wp-content/uploads/2025/11/Unityで2Dアクションゲームを作ろう！のコピーのコピー-5-376x222.png 376w" sizes="(max-width: 710px) 100vw, 710px" /></figure>



<h3 class="wp-block-heading"><span id="toc8">ジャンプ処理などの特定のアクション直後に組み込む例</span></h3>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>if (_bJump)
{
    _rigid.AddForce(Vector2.up * _jumpPower, ForceMode2D.Impulse);
    _audioSource.PlayOneShot(_jumpSE);
}</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">_bJump</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">_rigid</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">AddForce</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">Vector2</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">up</span><span style="color: #D4D4D4"> * </span><span style="color: #9CDCFE">_jumpPower</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">ForceMode2D</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Impulse</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">_audioSource</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">PlayOneShot</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">_jumpSE</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span></code></pre></div>



<p class="wp-block-paragraph">例えば、ジャンプさせた直後に効果音を鳴らしたい場合は、<br>ジャンプ処理の直後に書くことでジャンプしたタイミングで音を鳴らせます！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc9">よくあるエラー・つまずきポイント</span></h3>



<p class="wp-block-paragraph">効果音が上手くならない・・・<br>そんな時は、以下あたりを確認してみてください！</p>



<h4 class="wp-block-heading">音が鳴らない</h4>



<p class="wp-block-paragraph"><strong><span class="marker-under-blue">AudioSource の音量がVolume が 0、Mute になっていないか確認してみてください。</span></strong></p>



<h4 class="wp-block-heading">NullReferenceException が出る</h4>



<ul class="wp-block-list">
<li><code>_audioSource</code></li>



<li><code>_jumpSE</code></li>
</ul>



<p class="wp-block-paragraph"><strong><span class="marker-under-blue">このどちらかが Inspector で設定されていない可能性があります。<br>③の手順が適用されているか確認してみてください</span></strong><span class="marker-under-blue"><strong>。</strong></span><br></p>



<h4 class="wp-block-heading">音が重ならない・変になる</h4>



<p class="wp-block-paragraph"><code>Play()</code> で AudioClip を再生する方法もありますが、SE用途では <code>Play()</code> より <strong>PlayOneShot()</strong> の方が扱いやすいです。<strong>（<code>Play()</code>はBGMやループ再生向きとなっているため）</strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc10">④ Prefab方式での作り方（任意）</span></h2>



<h4 class="wp-block-heading">Prefabとは？</h4>



<p class="wp-block-paragraph">Prefab方式は、一度作成したオブジェクトをテンプレートとして保存させておく方式です。<br>今回でいうと、<strong><span class="marker-under-red">音を鳴らす専用オブジェクトを生成して再生させておくテンプレート</span></strong>です。<br>Prefab化すると一括管理ができるので、<strong>一つのテンプレートだけ修正すればシーン上に配置したすべてのインスタンスに一括反映</strong>させることができます！</p>



<p class="wp-block-paragraph">たとえば、</p>



<ul class="wp-block-list">
<li>エフェクトと一緒に音を出したい</li>



<li>再生位置も含めて管理したい</li>



<li>オブジェクト単位でまとめたい</li>
</ul>



<p class="wp-block-paragraph">という、<strong>SE以外のイベントと合わせて同時に行いたい場合や、オブジェクト単位でまとめておきたい場合</strong>にはPrefab化しておくのがおススメです！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc11">Prefab方式での作り方手順</span></h3>



<ul class="wp-block-list">
<li>まずは通常の方法と同様に、<strong>効果音ファイル（.wavや.mp3）を用意</strong>します<br>→ <code>Assets/Audio/</code> フォルダなどに保存する</li>
</ul>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="512" height="584" src="https://naiterukaiju.com/wp-content/uploads/2025/11/image.png" alt="効果音ファイルの用意" class="wp-image-423" srcset="https://naiterukaiju.com/wp-content/uploads/2025/11/image.png 512w, https://naiterukaiju.com/wp-content/uploads/2025/11/image-263x300.png 263w" sizes="(max-width: 512px) 100vw, 512px" /></figure>



<ul class="wp-block-list">
<li>効果音用の<strong>空のGameObject（Create Empty）を作成</strong>する（名前はSEなど）</li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="710" height="420" src="https://naiterukaiju.com/wp-content/uploads/2026/04/Unityで2Dアクションゲームを作ろう！のコピーのコピー-6.png" alt="" class="wp-image-1279" srcset="https://naiterukaiju.com/wp-content/uploads/2026/04/Unityで2Dアクションゲームを作ろう！のコピーのコピー-6.png 710w, https://naiterukaiju.com/wp-content/uploads/2026/04/Unityで2Dアクションゲームを作ろう！のコピーのコピー-6-300x177.png 300w, https://naiterukaiju.com/wp-content/uploads/2026/04/Unityで2Dアクションゲームを作ろう！のコピーのコピー-6-376x222.png 376w" sizes="(max-width: 710px) 100vw, 710px" /></figure>



<ul class="wp-block-list">
<li>SEオブジェクトに対して以下を設定します
<ul class="wp-block-list">
<li><code>Add Component &gt; AudioSource</code> を追加</li>



<li><code>AudioClip</code> に音声ファイルをドラッグして設定する</li>



<li><strong>Play On Awake</strong>：ON（自動再生）</li>



<li><strong>Loop</strong>：OFF</li>
</ul>
</li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="676" height="332" src="https://naiterukaiju.com/wp-content/uploads/2026/04/Unityで2Dアクションゲームを作ろう！のコピーのコピー-7-1.png" alt="" class="wp-image-1281" srcset="https://naiterukaiju.com/wp-content/uploads/2026/04/Unityで2Dアクションゲームを作ろう！のコピーのコピー-7-1.png 676w, https://naiterukaiju.com/wp-content/uploads/2026/04/Unityで2Dアクションゲームを作ろう！のコピーのコピー-7-1-300x147.png 300w, https://naiterukaiju.com/wp-content/uploads/2026/04/Unityで2Dアクションゲームを作ろう！のコピーのコピー-7-1-376x185.png 376w" sizes="(max-width: 676px) 100vw, 676px" /></figure>



<ul class="wp-block-list">
<li><strong>このオブジェクトをPrefab化</strong>する
<ul class="wp-block-list">
<li><code>Assets/Prefabs/SEフォルダを作成</code>しておく</li>



<li>Hierarchyから、SEオブジェクトを上記フォルダへドラッグする（青い箱状のものが出てきたらＯＫ！）</li>
</ul>
</li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="710" height="420" src="https://naiterukaiju.com/wp-content/uploads/2026/04/Unityで2Dアクションゲームを作ろう！のコピーのコピー-8.png" alt="" class="wp-image-1282" srcset="https://naiterukaiju.com/wp-content/uploads/2026/04/Unityで2Dアクションゲームを作ろう！のコピーのコピー-8.png 710w, https://naiterukaiju.com/wp-content/uploads/2026/04/Unityで2Dアクションゲームを作ろう！のコピーのコピー-8-300x177.png 300w, https://naiterukaiju.com/wp-content/uploads/2026/04/Unityで2Dアクションゲームを作ろう！のコピーのコピー-8-376x222.png 376w" sizes="(max-width: 710px) 100vw, 710px" /></figure>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-10 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://naiterukaiju.com/wp-content/uploads/2026/04/9327DB85-EFD6-4A95-A63A-1FA1F0A35E85.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p class="wp-block-paragraph">ここまで出来たら<strong>Prefab化</strong>は成功です！<br><strong>Prefab化</strong>されたので、元のHierarchy上のオブジェクトは不要なので<strong><span class="marker-under-blue">削除してＯＫです。</span></strong></p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc12">Prefab化した効果音を呼び出す処理を書く</span></h3>



<p class="wp-block-paragraph"><strong>Prefab</strong>化したものは、以下の一行で使用することができます！</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>&#91;SerializeField&#93; private GameObject _sePrefab;

public void PlaySE()
{
    Instantiate(_sePrefab, transform.position, Quaternion.identity);
}</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #D4D4D4">&#91;</span><span style="color: #9CDCFE">SerializeField</span><span style="color: #D4D4D4">&#93; </span><span style="color: #9CDCFE">private</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">GameObject</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">_sePrefab</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #9CDCFE">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">PlaySE</span><span style="color: #D4D4D4">()</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #DCDCAA">Instantiate</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">_sePrefab</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">transform</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">position</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">Quaternion</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">identity</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span></code></pre></div>



<p class="wp-block-paragraph"><code><strong>Instantiate()</strong></code> はオブジェクトを<strong>「複製して生成する」</strong>関数です。<br>この1行で、<strong>「_sePrefabをプレイヤーの位置に生成」</strong>します。<br>AudioSource付きのオブジェクトにしているので、<strong>生成＝音が鳴る、ということになります💡</strong></p>



<h3 class="wp-block-heading"><span id="toc13">Prefab化したものを紐づける</span></h3>



<p class="wp-block-paragraph"><strong><span class="marker-under-blue">Unity上の設定からPrefab化したSEを<strong><span class="marker-under-blue"><strong><span class="marker-under-blue">_sePrefabに</span></strong></span></strong>ドラッグします。</span></strong></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="710" height="420" src="https://naiterukaiju.com/wp-content/uploads/2026/04/Unityで2Dアクションゲームを作ろう！のコピーのコピー-10.png" alt="" class="wp-image-1285" srcset="https://naiterukaiju.com/wp-content/uploads/2026/04/Unityで2Dアクションゲームを作ろう！のコピーのコピー-10.png 710w, https://naiterukaiju.com/wp-content/uploads/2026/04/Unityで2Dアクションゲームを作ろう！のコピーのコピー-10-300x177.png 300w, https://naiterukaiju.com/wp-content/uploads/2026/04/Unityで2Dアクションゲームを作ろう！のコピーのコピー-10-376x222.png 376w" sizes="(max-width: 710px) 100vw, 710px" /></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc14">効果音プレハブを自動で削除させる</span></h3>



<p class="wp-block-paragraph">音が鳴り終わった後もオブジェクトが残ってしまうと、ヒエラルキー上がSEだらけになってしまいます。<br><strong><span class="marker-under-blue"><span class="marker-under-red">音が鳴り終わったら、自動的にDestroyされるようにしておくのがベストです。</span></span></strong><br>以下のようなスクリプトをつけましょう⬇️</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>using UnityEngine;

public class SE : MonoBehaviour
{
    private AudioSource _audioSource;

    void Start()
    {
        _audioSource = GetComponent&lt;AudioSource>();
        Destroy(gameObject, _audioSource.clip.length);
    }
}</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">using</span><span style="color: #D4D4D4"> </span><span style="color: #4FC1FF">UnityEngine</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #9CDCFE">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">SE</span><span style="color: #D4D4D4"> : </span><span style="color: #4EC9B0">MonoBehaviour</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">private</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">AudioSource</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">_audioSource</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Start</span><span style="color: #D4D4D4">()</span></span>
<span class="line"><span style="color: #D4D4D4">    {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">_audioSource</span><span style="color: #D4D4D4"> = </span><span style="color: #DCDCAA">GetComponent</span><span style="color: #D4D4D4">&lt;</span><span style="color: #4EC9B0">AudioSource</span><span style="color: #D4D4D4">&gt;();</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #DCDCAA">Destroy</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">gameObject</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">_audioSource</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">clip</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">length</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span></code></pre></div>



<p class="wp-block-paragraph">このスクリプトを<strong>効果音プレハブ</strong>（SE）に追加することで、<br>音が終わると自動的に消えるようになります！</p>



<h2 class="wp-block-heading"><span id="toc15">PlayOneShotとPrefab方式の違い</span></h2>



<p class="wp-block-paragraph">PlayOneShotで実装する方法とPrefab方式で実装する方法は、向いている用途が異なります。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>方法</th><th>向いている用途</th><th>特徴</th></tr></thead><tbody><tr><td>PlayOneShot</td><td>ジャンプ音、ダメージ音、UI音、軽いSE音全般</td><td>シンプルでおすすめ</td></tr><tr><td>Prefab方式</td><td>爆発音、ヒット演出、エフェクトを一緒にSEを鳴らす</td><td>一度作れば拡張しやすい</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc16">どっちを使うべき？</span></h3>



<p class="wp-block-paragraph">まずは動かせるようにしたい場合はPlayOneShotがおススメです！</p>



<ul class="wp-block-list">
<li>まずは簡単に実装したい</li>



<li>通常のSEを鳴らしたい</li>



<li>初心者向けにわかりやすく作りたい</li>
</ul>



<p class="wp-block-paragraph">他のイベントとセットで扱いたいなど、機能を拡張したい場合はPrefab方式がおススメです！</p>



<ul class="wp-block-list">
<li>エフェクトとセットで扱いたい</li>



<li>位置情報込みで管理したい</li>



<li>演出を強くしたい</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc17">制作中のゲームで作った例</span></h2>



<figure class="wp-block-video"><video height="948" style="aspect-ratio: 1904 / 948;" width="1904" controls src="https://naiterukaiju.com/wp-content/uploads/2026/04/ナイトウォーク-1-2-Windows-Mac-Linux-Unity-2021.3.6f1-Personal-_DX11_-2026-05-10-14-52-08-Trim.mp4"></video></figure>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-7387b849 wp-block-group-is-layout-flex">
<p class="wp-block-paragraph">今回解説した効果音実装は、自作の制作中ゲームでも取り入れています。<br>（動画は「ジャンプしたとき」「敵に触れた」場合にSEを発動）<br><br>最初はゲームを作るので精一杯だったので効果音は後回ししていましたが、<br>ジャンプやパンチが成功したか分かりづらく操作していて少し物足りなく感じ、<br>ジャンプ時には軽い<strong>ジャンプ音</strong>、パンチ時には<strong>打撃音</strong>を再生するようにしました。<br>結果、プレイヤーの操作に対する反応が分かりやすくなりゲームの爽快感も向上したと思います🦖<br><br>やはり、ゲームにおいて効果音は必須ですね。。</p>
</div>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-10 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://naiterukaiju.com/wp-content/uploads/2026/04/9327DB85-EFD6-4A95-A63A-1FA1F0A35E85.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p class="wp-block-paragraph">実際に自分が制作中の2Dアクションゲームでは<strong>Prefab化</strong>を行ってSEを鳴らしています。<br>最初のうちはPlayOneShotだけでも十分ですが、ゲームの規模が大きくなってきたらPrefab化も検討すると管理しやすくなるかと思います✨</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc18">まとめ</span></h2>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-10 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://naiterukaiju.com/wp-content/uploads/2026/04/9327DB85-EFD6-4A95-A63A-1FA1F0A35E85.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p class="wp-block-paragraph">最後まで読んでいただきありがとうございました！</p>
</div></div>



<p class="wp-block-paragraph">Unityで効果音を鳴らすなら、まずは <strong>PlayOneShot</strong> を使うのがおすすめです。</p>



<p class="wp-block-paragraph">特に、ジャンプ音・ダメージ音・ボタン音のような一般的なSEなら、<br><strong>AudioSourceを追加して PlayOneShot で鳴らす方法がシンプルで扱いやすい</strong>です🦖</p>



<p class="wp-block-paragraph">一方で、爆発演出やヒットエフェクトのように、演出と一緒に管理したい場合は Prefab方式も選択肢になりますね🤔</p>



<p class="wp-block-paragraph">まずは PlayOneShot を基準に覚えて、必要になったら Prefab方式を使い分けるのいいかもしれません！</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-related">

<a href="https://naiterukaiju.com/%e3%80%90unity%e5%85%a5%e9%96%80%e3%80%91%e6%ad%a9%e8%a1%8c%e6%99%82%e3%82%a2%e3%83%8b%e3%83%a1%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3%e3%81%ae%e4%bd%9c%e3%82%8a%e6%96%b9%ef%bc%882d%ef%bc%89%ef%bd%9canim/" title="【Unity2D】歩行アニメーションの作り方｜Animatorで「待機⇔歩く」を切り替えよう" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://naiterukaiju.com/wp-content/uploads/cocoon-resources/blog-card-cache/26bd1bed9aae0178a08aae993751ecbe.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="320" height="180" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【Unity2D】歩行アニメーションの作り方｜Animatorで「待機⇔歩く」を切り替えよう</div><div class="blogcard-snippet external-blogcard-snippet">こんにちは！夜の街2Dアクションゲームを制作中の怪獣です🦖今回は 2Dキャラの「歩行」時のアニメーションを を Unity で作る方法を解説します！手順としては、待機、歩行用の画像を用意するAnimation Clip（歩くアニメ）を作成す...</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://naiterukaiju.com/%e3%80%90unity%e5%85%a5%e9%96%80%e3%80%91%e6%ad%a9%e8%a1%8c%e6%99%82%e3%82%a2%e3%83%8b%e3%83%a1%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3%e3%81%ae%e4%bd%9c%e3%82%8a%e6%96%b9%ef%bc%882d%ef%bc%89%ef%bd%9canim/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">naiterukaiju.com</div></div></div></div></a>
</div>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-related">

<a href="https://naiterukaiju.com/%e3%80%90unity2d%e3%80%91%e6%95%b5%e3%81%ab%e8%a7%a6%e3%82%8c%e3%81%9f%e3%82%89%e3%83%80%e3%83%a1%e3%83%bc%e3%82%b8%e3%82%92%e5%8f%97%e3%81%91%e3%82%8b%e4%bb%95%e7%b5%84%e3%81%bf%e3%81%ae%e4%bd%9c/" title="【Unity2D】敵に触れたらダメージを受ける仕組みの作り方｜（コード全文・解説付き）" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://naiterukaiju.com/wp-content/uploads/cocoon-resources/blog-card-cache/fbecb8916904332f5709b4ef3ca8c91b.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="320" height="180" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【Unity2D】敵に触れたらダメージを受ける仕組みの作り方｜（コード全文・解説付き）</div><div class="blogcard-snippet external-blogcard-snippet">Unity2Dでアクションゲームを作っていると、敵に触れたらHPを減らしたいダメージ処理を入れたいと思うことがありますよね。この記事では、敵に触れたらプレイヤーがダメージを受ける仕組みの作り方を、初心者向けにわかりやすく解説します！今回は ...</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://naiterukaiju.com/%e3%80%90unity2d%e3%80%91%e6%95%b5%e3%81%ab%e8%a7%a6%e3%82%8c%e3%81%9f%e3%82%89%e3%83%80%e3%83%a1%e3%83%bc%e3%82%b8%e3%82%92%e5%8f%97%e3%81%91%e3%82%8b%e4%bb%95%e7%b5%84%e3%81%bf%e3%81%ae%e4%bd%9c/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">naiterukaiju.com</div></div></div></div></a>
</div>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://naiterukaiju.com/unity-2d-sound-effects-playoneshot/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://naiterukaiju.com/wp-content/uploads/2026/04/ナイトウォーク-1-2-Windows-Mac-Linux-Unity-2021.3.6f1-Personal-_DX11_-2026-05-10-14-52-08-Trim.mp4" length="4967916" type="video/mp4" />

			</item>
		<item>
		<title>【Unity2D】プレイヤーをジャンプさせる方法｜AddForce以外の方法も比較（コード全文・解説付き）</title>
		<link>https://naiterukaiju.com/unity-2d-jump-script/</link>
					<comments>https://naiterukaiju.com/unity-2d-jump-script/#respond</comments>
		
		<dc:creator><![CDATA[怪獣]]></dc:creator>
		<pubDate>Sun, 01 Mar 2026 13:45:11 +0000</pubDate>
				<category><![CDATA[Unity2D実装解説]]></category>
		<category><![CDATA[2Dゲーム]]></category>
		<category><![CDATA[Unity]]></category>
		<category><![CDATA[Unity初心者]]></category>
		<category><![CDATA[アクションゲーム]]></category>
		<category><![CDATA[ゲーム制作]]></category>
		<category><![CDATA[ジャンプ]]></category>
		<category><![CDATA[ジャンプ処理]]></category>
		<category><![CDATA[地面判定]]></category>
		<guid isPermaLink="false">https://naiterukaiju.com/?p=779</guid>

					<description><![CDATA[Unityで2Dアクションゲームを次第に作っていると、プレイヤーをピョンってジャンプさせたくなりますよね。特に横スクロール型の2Dゲームではジャンプ処理は必要不可欠ではないでしょうか🤔 この記事では、 といった方に向けた [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-10 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://naiterukaiju.com/wp-content/uploads/2026/04/9327DB85-EFD6-4A95-A63A-1FA1F0A35E85.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p class="wp-block-paragraph">こんにちは！夜の街2Dアクションゲームを制作中の怪獣です🦖</p>
</div></div>



<p class="wp-block-paragraph">Unityで2Dアクションゲームを次第に作っていると、プレイヤーをピョンってジャンプさせたくなりますよね。<br>特に横スクロール型の2Dゲームではジャンプ処理は必要不可欠ではないでしょうか🤔</p>



<p class="wp-block-paragraph">この記事では、</p>



<ul class="wp-block-list">
<li><strong>ジャンプのさせる方法を知りたい</strong></li>



<li><strong>ジャンプが高くなりすぎる</strong></li>



<li><strong>連続ジャンプしてしまう</strong></li>



<li><strong>地面判定がうまくいかない</strong></li>
</ul>



<p class="wp-block-paragraph">といった方に向けた解説記事となっております！<br><br>また、ただ実装しただけだとジャンプが空中中に無限に出来てしまうので、<br><span class="marker-under-red"><strong>二重ジャンプ防止対策</strong></span>も含めて解説をします！</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Unityの移動処理には<strong>「AddForce・velocity・transform」</strong>の3種類の実装方法がありますが、<br>今回は<strong>重力を活かして自然なジャンプ</strong>にしたいので、<strong>AddForce</strong>を使った実装方法を解説しています。<br>（自作の横スクロール型のアクションゲームでは、<strong>AddForce</strong>で実装するのが一番自然に感じました。）</p>
</blockquote>



<p class="wp-block-paragraph">他の実装方法の解説、比較もしていますので、よければご参照ください！<br></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">今回の完成イメージ</a></li><li><a href="#toc2" tabindex="0">事前準備しておくこと</a></li><li><a href="#toc3" tabindex="0">① ジャンプ処理の基本コード（全コード）</a></li><li><a href="#toc4" tabindex="0">② 各処理の解説（初心者向け）</a><ol><li><a href="#toc5" tabindex="0">フィールド変数の追加</a></li><li><a href="#toc6" tabindex="0">Start（必要コンポーネントを取得）</a></li><li><a href="#toc7" tabindex="0">Update（接地状態を更新）</a></li><li><a href="#toc8" tabindex="0">_HitFloor (BoxCastで接地判定する)</a></li><li><a href="#toc9" tabindex="0">_OnJump</a></li></ol></li><li><a href="#toc10" tabindex="0">③ Floor レイヤーの作成</a><ol><li><a href="#toc11" tabindex="0">新しいレイヤーを作る</a></li><li><a href="#toc12" tabindex="0">床オブジェクトに Floor レイヤーを割り当てる</a></li><li><a href="#toc13" tabindex="0">Ground MaskにFloorレイヤーを割り当てる</a></li></ol></li><li><a href="#toc14" tabindex="0">④ よくあるエラーと対処法</a><ol><li><a href="#toc15" tabindex="0">❌ 地面にいるのにジャンプできない</a></li><li><a href="#toc16" tabindex="0">❌ 空中で連続ジャンプできる（多段になってしまう）</a></li><li><a href="#toc17" tabindex="0">❌ 斜面や段差で接地判定がガタつく</a></li></ol></li><li><a href="#toc18" tabindex="0">⑤旧Input版（Input.GetKeyDown）での書き方</a></li><li><a href="#toc19" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">今回の完成イメージ</span></h2>



<ul class="wp-block-list">
<li>Input System を使ってジャンプ操作をさせる</li>



<li><strong>地面にいる時だけジャンプ可能（空中連打で多段ジャンプしない）</strong></li>



<li>Rigidbody2D を使用</li>



<li>接地判定は BoxCast で足元をチェックを行います</li>
</ul>



<video
  src="https://naiterukaiju.com/wp-content/uploads/2026/03/サンプルゲーム-SampleScene-Windows-Mac-Linux-Unity-2021.3.6f1-Personal-_DX11_-2026-03-01-19-13-41-Trim.mp4"
  autoplay
  loop
  muted
  playsinline
  width="640"
  height="360">
</video



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc2">事前準備しておくこと</span></h2>



<ul class="wp-block-list">
<li>Unity 2021.3以降推奨</li>



<li>Input Systemパッケージが導入済みであること</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Input Systemでボタン操作を設定している前提で進めています。<br>Input Systemの導入がまだ出来ていない場合は、<strong><span class="marker-under-red">⑤での旧Input版の実装方法でも実装が可能です。</span></strong></p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc3">① ジャンプ処理の基本コード（全コード）</span></h2>



<p class="wp-block-paragraph"><code>Input System</code> の Jump を呼ぶ前提で <code>_OnJump()</code> を用意しています。<br>（※旧Input（Input.GetKeyDown）版も⑤で紹介しています。）</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>public class Player : MonoBehaviour
{   
    &#91;SerializeField, Header("ジャンプ速度")&#93;
    private float _jumpSpeed;
    
    &#91;SerializeField, Header("接地判定用レイヤー(Floorなど)")&#93;
    private LayerMask _groundMask;   // インスペクターでFloorを指定

    private bool _bJump;
    private Collider2D _col;         // 実寸取得用
    
    void Start()
    {
        _col = GetComponent&lt;Collider2D>();
        _bJump = false;
    }
    
    void Update()
    {
        _HitFloor();
    }
    
    // 今床に触れているか、空中状態か判定する
    private void _HitFloor()
    {
        // もしプレイヤーのColliderが存在しなければ処理しない
        if (_col == null) return;

        // 接地判定のためのBoxCast（四角形の当たり判定を下に飛ばす）を準備する

        // プレイヤーのコライダーの範囲を取得
        Bounds b = _col.bounds;
        // 判定を出す位置（プレイヤーの足元より少し下に設定）
        Vector2 center = new Vector2(b.center.x, b.min.y - 0.05f);
        // 判定の大きさ（横幅はキャラより少し小さめ、高さはごく薄い矩形）
        Vector2 size = new Vector2(b.size.x * 0.9f, 0.12f);

        // BoxCastを実行
        // ・center：判定の中心位置
        // ・size  ：判定の大きさ
        // ・0f    ：角度は回転なし
        // ・Vector2.down：真下に向けて判定
        // ・0.05f ：判定を飛ばす長さ（わずかに下へ伸ばす）
        // ・_groundMask：Floorなど「地面」とするレイヤーにだけ反応させる
        RaycastHit2D hit = Physics2D.BoxCast(center, size, 0f, Vector2.down, 0.05f, _groundMask);

        // 当たり判定の情報取得
        bool grounded = (hit.collider != null);

        // 地面と触れたか確認
        if (grounded)
        {
            // 地面にいる → ジャンプ可能
            _bJump = false;
        }
        else
        {
            // 空中にいる → ジャンプ不可
            _bJump = true;
        }
    }
    // ジャンプ処理
    public void _OnJump(InputAction.CallbackContext context)
    {
        // 押下(performed)でなければ無視 / 空中なら無視
        if (!context.performed || _bJump) return;

        // Impulse:初速が早く徐々に減速、Force:初速が遅く、徐々に加速
        _rigid.AddForce(Vector2.up * _jumpSpeed, ForceMode2D.Impulse);

        // 連打での多段を防ぐために即座に空中扱い
        _bJump = true;
    }
}</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #9CDCFE">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Player</span><span style="color: #D4D4D4"> : </span><span style="color: #4EC9B0">MonoBehaviour</span></span>
<span class="line"><span style="color: #D4D4D4">{   </span></span>
<span class="line"><span style="color: #D4D4D4">    &#91;</span><span style="color: #9CDCFE">SerializeField</span><span style="color: #D4D4D4">, </span><span style="color: #DCDCAA">Header</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;ジャンプ速度&quot;</span><span style="color: #D4D4D4">)&#93;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">private</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">float</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">_jumpSpeed</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span></span>
<span class="line"><span style="color: #D4D4D4">    &#91;</span><span style="color: #9CDCFE">SerializeField</span><span style="color: #D4D4D4">, </span><span style="color: #DCDCAA">Header</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;接地判定用レイヤー(Floorなど)&quot;</span><span style="color: #D4D4D4">)&#93;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">private</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">LayerMask</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">_groundMask</span><span style="color: #D4D4D4">;   </span><span style="color: #6A9955">// インスペクターでFloorを指定</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">private</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">bool</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">_bJump</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">private</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">Collider2D</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">_col</span><span style="color: #D4D4D4">;         </span><span style="color: #6A9955">// 実寸取得用</span></span>
<span class="line"><span style="color: #D4D4D4">    </span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Start</span><span style="color: #D4D4D4">()</span></span>
<span class="line"><span style="color: #D4D4D4">    {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">_col</span><span style="color: #D4D4D4"> = </span><span style="color: #DCDCAA">GetComponent</span><span style="color: #D4D4D4">&lt;</span><span style="color: #4EC9B0">Collider2D</span><span style="color: #D4D4D4">&gt;();</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">_bJump</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">false</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">    </span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Update</span><span style="color: #D4D4D4">()</span></span>
<span class="line"><span style="color: #D4D4D4">    {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #DCDCAA">_HitFloor</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">    </span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #6A9955">// 今床に触れているか、空中状態か判定する</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">private</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">_HitFloor</span><span style="color: #D4D4D4">()</span></span>
<span class="line"><span style="color: #D4D4D4">    {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #6A9955">// もしプレイヤーのColliderが存在しなければ処理しない</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">_col</span><span style="color: #D4D4D4"> == </span><span style="color: #569CD6">null</span><span style="color: #D4D4D4">) </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #6A9955">// 接地判定のためのBoxCast（四角形の当たり判定を下に飛ばす）を準備する</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #6A9955">// プレイヤーのコライダーの範囲を取得</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">Bounds</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">b</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">_col</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">bounds</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #6A9955">// 判定を出す位置（プレイヤーの足元より少し下に設定）</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">Vector2</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">center</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Vector2</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">b</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">center</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">x</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">b</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">min</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">y</span><span style="color: #D4D4D4"> - 0.05</span><span style="color: #9CDCFE">f</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #6A9955">// 判定の大きさ（横幅はキャラより少し小さめ、高さはごく薄い矩形）</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">Vector2</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">size</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Vector2</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">b</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">size</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">x</span><span style="color: #D4D4D4"> * 0.9</span><span style="color: #9CDCFE">f</span><span style="color: #D4D4D4">, 0.12</span><span style="color: #9CDCFE">f</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #6A9955">// BoxCastを実行</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #6A9955">// ・center：判定の中心位置</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #6A9955">// ・size  ：判定の大きさ</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #6A9955">// ・0f    ：角度は回転なし</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #6A9955">// ・Vector2.down：真下に向けて判定</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #6A9955">// ・0.05f ：判定を飛ばす長さ（わずかに下へ伸ばす）</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #6A9955">// ・_groundMask：Floorなど「地面」とするレイヤーにだけ反応させる</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">RaycastHit2D</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">hit</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">Physics2D</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">BoxCast</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">center</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">size</span><span style="color: #D4D4D4">, 0</span><span style="color: #9CDCFE">f</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">Vector2</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">down</span><span style="color: #D4D4D4">, 0.05</span><span style="color: #9CDCFE">f</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">_groundMask</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #6A9955">// 当たり判定の情報取得</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">bool</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">grounded</span><span style="color: #D4D4D4"> = (</span><span style="color: #9CDCFE">hit</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">collider</span><span style="color: #D4D4D4"> != </span><span style="color: #569CD6">null</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #6A9955">// 地面と触れたか確認</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">grounded</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">        {</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #6A9955">// 地面にいる → ジャンプ可能</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #9CDCFE">_bJump</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">false</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        }</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">else</span></span>
<span class="line"><span style="color: #D4D4D4">        {</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #6A9955">// 空中にいる → ジャンプ不可</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #9CDCFE">_bJump</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">true</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        }</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #6A9955">// ジャンプ処理</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">_OnJump</span><span style="color: #D4D4D4">(InputAction.CallbackContext </span><span style="color: #9CDCFE">context</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">    {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #6A9955">// 押下(performed)でなければ無視 / 空中なら無視</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (!</span><span style="color: #9CDCFE">context</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">performed</span><span style="color: #D4D4D4"> || </span><span style="color: #9CDCFE">_bJump</span><span style="color: #D4D4D4">) </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #6A9955">// Impulse:初速が早く徐々に減速、Force:初速が遅く、徐々に加速</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">_rigid</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">AddForce</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">Vector2</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">up</span><span style="color: #D4D4D4"> * </span><span style="color: #9CDCFE">_jumpSpeed</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">ForceMode2D</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Impulse</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #6A9955">// 連打での多段を防ぐために即座に空中扱い</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">_bJump</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">true</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span></code></pre></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc4">② 各処理の解説（初心者向け）</span></h2>



<p class="wp-block-paragraph">↓※以下は各処理の説明です。わかってるよという方は③まで読み飛ばしてください！</p>



<h3 class="wp-block-heading"><span id="toc5">フィールド変数の追加</span></h3>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>    &#91;SerializeField, Header("ジャンプ速度")&#93;
    private float _jumpSpeed;
    
    &#91;SerializeField, Header("接地判定用レイヤー(Floorなど)")&#93;
    private LayerMask _groundMask;   // インスペクターでFloorを指定

    private bool _bJump;
    private Collider2D _col;         // 実寸取得用
</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #D4D4D4">    &#91;</span><span style="color: #9CDCFE">SerializeField</span><span style="color: #D4D4D4">, </span><span style="color: #DCDCAA">Header</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;ジャンプ速度&quot;</span><span style="color: #D4D4D4">)&#93;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">private</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">float</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">_jumpSpeed</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span></span>
<span class="line"><span style="color: #D4D4D4">    &#91;</span><span style="color: #9CDCFE">SerializeField</span><span style="color: #D4D4D4">, </span><span style="color: #DCDCAA">Header</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;接地判定用レイヤー(Floorなど)&quot;</span><span style="color: #D4D4D4">)&#93;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">private</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">LayerMask</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">_groundMask</span><span style="color: #D4D4D4">;   </span><span style="color: #6A9955">// インスペクターでFloorを指定</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">private</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">bool</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">_bJump</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">private</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">Collider2D</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">_col</span><span style="color: #D4D4D4">;         </span><span style="color: #6A9955">// 実寸取得用</span></span>
<span class="line"></span></code></pre></div>



<p class="wp-block-paragraph"><code>_jumpSpeed</code>：ジャンプの強さ（大きいほど高く跳ぶ）。<strong>インスペクターで強さを調整します。</strong>（15くらいがおすすめ）<br><code>_groundMask</code>：<strong>「床」と判定するレイヤー</strong>を指定します。（Floorなど）<strong>インスペクターで <code>Floor</code> レイヤーを選びます。</strong></p>



<p class="wp-block-paragraph">✅ Tag判定でも同じことが出来ますが、今回はLayerMaskで進めています。<br>LayerMaskは<strong>「物理判定の対象を限定するための仕組み」</strong>で今回のような<strong>地面だけ判定</strong>するような接地判定に向いています。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc6">Start（必要コンポーネントを取得）</span></h3>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>void Start()
{
    _col   = GetComponent&lt;Collider2D>();
    _bJump = false;
}
</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Start</span><span style="color: #D4D4D4">()</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">_col</span><span style="color: #D4D4D4">   = </span><span style="color: #DCDCAA">GetComponent</span><span style="color: #D4D4D4">&lt;</span><span style="color: #4EC9B0">Collider2D</span><span style="color: #D4D4D4">&gt;();</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">_bJump</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">false</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<ul class="wp-block-list">
<li><strong><code>Collider2D</code> （プレイヤー自身に付いている当たり判定情報）を取得</strong>して変数に保存。</li>



<li><code>_bJump</code> は「今ジャンプ中かどうか」を管理するフラグです。初期値は <code>false</code>（ジャンプ可能）。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc7">Update（接地状態を更新）</span></h3>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>void Update()
{
    _HitFloor();       // 接地状態をチェック
}
</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Update</span><span style="color: #D4D4D4">()</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #DCDCAA">_HitFloor</span><span style="color: #D4D4D4">();       </span><span style="color: #6A9955">// 接地状態をチェック</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p class="wp-block-paragraph">Updateは毎フレーム呼び出されるUnityの共通機能です。<br>ここで <code>_HitFloor()</code> を呼び出して、接地中かどうかを更新します。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc8">_HitFloor (BoxCastで接地判定する)</span></h3>



<h5 class="wp-block-heading">Colliderが存在するか確認</h5>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>if (_col == null) return;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">_col</span><span style="color: #D4D4D4"> == </span><span style="color: #569CD6">null</span><span style="color: #D4D4D4">) </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p class="wp-block-paragraph">ここでは<br><strong>プレイヤーのColliderが取得できているか</strong>を確認しています。</p>



<p class="wp-block-paragraph">もしColliderが存在しない状態で処理を続けると<br>エラーが発生してしまうため、Colliderが無い場合 処理を中断するという安全対策です。</p>



<h5 class="wp-block-heading">プレイヤーの当たり判定サイズを取得</h5>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>Bounds b = _col.bounds;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #9CDCFE">Bounds</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">b</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">_col</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">bounds</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p class="wp-block-paragraph">ここでは<br>**プレイヤーのコライダーの範囲（サイズ・位置）**を取得しています。</p>



<p class="wp-block-paragraph"><code>Bounds</code>には次のような情報が入っています。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>情報</th><th>内容</th></tr></thead><tbody><tr><td>center</td><td>コライダーの中心</td></tr><tr><td>min</td><td>コライダーの一番下</td></tr><tr><td>size</td><td>コライダーのサイズ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">つまりプレイヤーの大きさ、プレイヤーの位置を取得しています。</p>



<h5 class="wp-block-heading">接地判定の中心位置を決める</h5>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>Vector2 center = new Vector2(b.center.x, b.min.y - 0.05f);</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #9CDCFE">Vector2</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">center</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Vector2</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">b</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">center</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">x</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">b</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">min</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">y</span><span style="color: #D4D4D4"> - 0.05</span><span style="color: #9CDCFE">f</span><span style="color: #D4D4D4">);</span></span></code></pre></div>



<p class="wp-block-paragraph">ここでは<br><strong>地面を判定する位置</strong>を決めています。</p>



<p class="wp-block-paragraph">ポイントはここです。<br><strong>b.min.y</strong></p>



<p class="wp-block-paragraph">これは、<strong><span class="marker-under-red">プレイヤーコライダーの一番下の位置</span></strong>です。<br>さらに<strong>-0.05</strong>fをしている理由は<strong><span class="marker-under-red">プレイヤーの足元より少し下で判定するため</span></strong>です。</p>



<pre class="wp-block-preformatted">   プレイヤー<br>   ┌─────┐<br>   │     │<br>   │     │<br>   └─────┘ ←ここがb.min.y   □ ←この少し下で接地判定<br>────────── 地面</pre>



<p class="wp-block-paragraph">こうすることで<br><strong>足元に地面があるかを正確に判定できます</strong>！</p>



<h5 class="wp-block-heading">判定する矩形サイズを決める</h5>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>Vector2 size = new Vector2(b.size.x * 0.9f, 0.12f);</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #9CDCFE">Vector2</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">size</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Vector2</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">b</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">size</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">x</span><span style="color: #D4D4D4"> * 0.9</span><span style="color: #9CDCFE">f</span><span style="color: #D4D4D4">, 0.12</span><span style="color: #9CDCFE">f</span><span style="color: #D4D4D4">);</span></span></code></pre></div>



<p class="wp-block-paragraph">ここでは<strong>BoxCastのサイズ</strong>を設定しています。<br><strong>b.size.x * 0.9f（横幅）</strong>で、プレイヤーの幅より<strong>少しだけ小さくしています。</strong><br>理由は、<strong>壁に触れたときに地面と誤判定しないようにするため</strong>です。</p>



<p class="wp-block-paragraph"><strong>0.12f（高さ）</strong>は<strong>かなり薄くしています。</strong><br>これは、<strong>足元のわずかな範囲だけを判定するためです。</strong></p>



<h5 class="wp-block-heading"> BoxCastで地面をチェック</h5>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>RaycastHit2D hit = Physics2D.BoxCast(
    center,
    size,
    0f,
    Vector2.down,
    0.05f,
    _groundMask
);</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #9CDCFE">RaycastHit2D</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">hit</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">Physics2D</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">BoxCast</span><span style="color: #D4D4D4">(</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">center</span><span style="color: #D4D4D4">,</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">size</span><span style="color: #D4D4D4">,</span></span>
<span class="line"><span style="color: #D4D4D4">    0</span><span style="color: #9CDCFE">f</span><span style="color: #D4D4D4">,</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Vector2</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">down</span><span style="color: #D4D4D4">,</span></span>
<span class="line"><span style="color: #D4D4D4">    0.05</span><span style="color: #9CDCFE">f</span><span style="color: #D4D4D4">,</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">_groundMask</span></span>
<span class="line"><span style="color: #D4D4D4">);</span></span></code></pre></div>



<p class="wp-block-paragraph">ここが <strong>この処理の一番重要な部分</strong>です。<br>BoxCastとは<strong><span class="marker-under-red">四角形を飛ばして当たり判定をチェックする機能</span></strong>です。</p>



<p class="wp-block-paragraph">【<strong>イメージ</strong>】</p>



<pre class="wp-block-preformatted">プレイヤー<br>  │<br>  ▼[ □ ] ←判定ボックス<br>  │<br>  ▼<br>地面</pre>



<p class="wp-block-paragraph">各引数の意味はこちら。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>引数</th><th>意味</th></tr></thead><tbody><tr><td>center</td><td>判定の中心</td></tr><tr><td>size</td><td>判定の大きさ</td></tr><tr><td>0f</td><td>回転なし</td></tr><tr><td>Vector2.down</td><td>下方向に判定</td></tr><tr><td>0.05f</td><td>飛ばす距離</td></tr><tr><td>_groundMask</td><td>地面レイヤーだけ判定</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>BoxCast</strong>の他にも<strong>、</strong>Unityにはいくつかの判定方法があります。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>方法</th><th>形</th><th>用途</th></tr></thead><tbody><tr><td>Raycast</td><td>線</td><td>足元・視線判定</td></tr><tr><td>CircleCast</td><td>円</td><td>丸いキャラ向き</td></tr><tr><td><strong>BoxCast</strong></td><td>四角形</td><td>2Dキャラの接地判定に最適</td></tr></tbody></table></figure>



<h5 class="wp-block-heading">なぜジャンプ判定でBoxCastを使うのか？</h5>



<p class="wp-block-paragraph">プレイヤーは四角いことが多いですよね。</p>



<pre class="wp-block-preformatted">  □ ← プレイヤー<br>￣￣￣￣ ← 床</pre>



<p class="wp-block-paragraph">Raycast（線）だと、</p>



<pre class="wp-block-preformatted">  □<br>　 |<br>   |<br> <br>￣￣￣￣</pre>



<p class="wp-block-paragraph">→ ちょっとズレると判定ミスします。</p>



<p class="wp-block-paragraph">でも BoxCast なら：</p>



<pre class="wp-block-preformatted"> □<br> ███ ← 薄い箱<br>￣￣￣￣</pre>



<p class="wp-block-paragraph">足元全体をチェックできるので安定しやすくなります🚶</p>



<h5 class="wp-block-heading">地面に当たったか確認</h5>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>bool grounded = (hit.collider != null);</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #9CDCFE">bool</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">grounded</span><span style="color: #D4D4D4"> = (</span><span style="color: #9CDCFE">hit</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">collider</span><span style="color: #D4D4D4"> != </span><span style="color: #569CD6">null</span><span style="color: #D4D4D4">);</span></span></code></pre></div>



<p class="wp-block-paragraph">BoxCastが</p>



<ul class="wp-block-list">
<li>地面に当たった → colliderが存在</li>



<li>当たってない → null</li>
</ul>



<p class="wp-block-paragraph">になります。<br>つまり <strong>hit.collider != null</strong>は、<strong>地面に触れているかどうか</strong>を意味しています。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h5 class="wp-block-heading">ジャンプ可能かどうかを設定</h5>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>if (grounded)
{
    _bJump = false;
}
else
{
    _bJump = true;
}

bool grounded = (hit.collider != null);bool grounded = (hit.collider != null);</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">grounded</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">_bJump</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">false</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"><span style="color: #C586C0">else</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">_bJump</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">true</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #9CDCFE">bool</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">grounded</span><span style="color: #D4D4D4"> = (</span><span style="color: #9CDCFE">hit</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">collider</span><span style="color: #D4D4D4"> != </span><span style="color: #569CD6">null</span><span style="color: #D4D4D4">);</span><span style="color: #9CDCFE">bool</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">grounded</span><span style="color: #D4D4D4"> = (</span><span style="color: #9CDCFE">hit</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">collider</span><span style="color: #D4D4D4"> != </span><span style="color: #569CD6">null</span><span style="color: #D4D4D4">);</span></span></code></pre></div>



<p class="wp-block-paragraph">ここでは、</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>状態</th><th>処理</th></tr></thead><tbody><tr><td>地面にいる</td><td>ジャンプ可能</td></tr><tr><td>空中</td><td>ジャンプ不可</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">という状態を設定しています。</p>



<p class="wp-block-paragraph">この <code>_bJump</code> をジャンプ処理で使います。</p>



<h3 class="wp-block-heading"><span id="toc9">_OnJump</span></h3>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>public void _OnJump(InputAction.CallbackContext context)
{
    // 入力が押された瞬間以外は無視 / 空中中は無視
    if (!context.performed || _bJump) return;

    // Rigidbodyに上方向の力を加える
    _rigid.AddForce(Vector2.up * _jumpSpeed, ForceMode2D.Impulse);

    // ジャンプ直後は空中扱いにして多段ジャンプを防ぐ
    _bJump = true;
}
</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #9CDCFE">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">_OnJump</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">InputAction</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">CallbackContext</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">context</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #6A9955">// 入力が押された瞬間以外は無視 / 空中中は無視</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (!</span><span style="color: #9CDCFE">context</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">performed</span><span style="color: #D4D4D4"> || </span><span style="color: #9CDCFE">_bJump</span><span style="color: #D4D4D4">) </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #6A9955">// Rigidbodyに上方向の力を加える</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">_rigid</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">AddForce</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">Vector2</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">up</span><span style="color: #D4D4D4"> * </span><span style="color: #9CDCFE">_jumpSpeed</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">ForceMode2D</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Impulse</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #6A9955">// ジャンプ直後は空中扱いにして多段ジャンプを防ぐ</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">_bJump</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">true</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<ul class="wp-block-list">
<li><code>context.performed</code> … 入力が「押された瞬間」だけ反応します。</li>



<li><code>_bJump</code> が <code>true</code> のとき（空中）は処理をスキップ。</li>



<li>ジャンプ処理にはいくつかの実装方法がありますが、<code><strong>AddForce</strong></code>（Rigidbodyに力を加える関数）を使う理由は<strong>物理挙動を活かして自然なジャンプ</strong>にするためです。<br>上方向（Y軸プラス方向）に対しジャンプの強さ（高さ）を図り、<strong>ForceMode2D.Impulse</strong>を引数で渡すことで、<strong>一瞬だけ強い力を加える</strong>ことができます。<br>こうすることで、<strong>初速を一気に与えて自然なジャンプ挙動になります。</strong></li>
</ul>



<p class="wp-block-paragraph"><strong>AddForce</strong>は重力と組み合わさることで、<br>上昇→減速→落下の自然なカーブを描きます。<br>そのため、より気持ちのいいジャンプになります！<br><strong><span class="marker-under-red">今回のようなアクションゲームならAddForceがおすすめです！</span></strong></p>



<p class="wp-block-paragraph">⬇️他にも、AddForce以外には以下のような方法があります。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>方法</th><th>特徴</th><th>物理挙動</th><th>主な用途</th></tr></thead><tbody><tr><td>_rigid.AddForce</td><td>力を加える</td><td>◎（自然）</td><td>ジャンプ・吹っ飛び</td></tr><tr><td>_rigid.velocity</td><td>速度を直接指定</td><td>○（やや物理）</td><td>移動、定速移動</td></tr><tr><td>transform</td><td>位置を直接変更</td><td>✕（物理なし）</td><td>UI・演出・単純移動</td></tr></tbody></table></figure>



<h4 class="wp-block-heading">velocityでジャンプさせる方法（速度を直接指定）</h4>



<p class="wp-block-paragraph">速度を直接指定でき、瞬時に移動させることが出来るのが特徴です。</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>_rigid.velocity = new Vector2(_rigid.velocity.x, _jumpSpeed);</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #9CDCFE">_rigid</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">velocity</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Vector2</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">_rigid</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">velocity</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">x</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">_jumpSpeed</span><span style="color: #D4D4D4">);</span></span></code></pre></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>メリット</strong>・・・操作が安定する（毎回同じ動き）、細かい制御がしやすい横移動との相性が良い<br><strong>デメリット</strong>・・・物理感は少し薄れる、慣性が消える（急に止まる）</p>



<p class="wp-block-paragraph">向いている用途は、<strong>プレイヤーの左右移動、シンプルなジャンプ制御、アクションゲーム全般</strong>です。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h4 class="wp-block-heading"> transformでジャンプさせる方法（位置を直接変更）</h4>



<p class="wp-block-paragraph">Rigidbodyを使用せず、位置を直接変更する方法です。</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>transform.position += Vector3.up * 5f;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #9CDCFE">transform</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">position</span><span style="color: #D4D4D4"> += </span><span style="color: #9CDCFE">Vector3</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">up</span><span style="color: #D4D4D4"> * 5</span><span style="color: #9CDCFE">f</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p class="wp-block-paragraph"><strong>メリット</strong>・・・シンプルで分かりやすい、Rigidbody不要、軽い<br><strong>デメリット</strong>・・・当たり判定が壊れやすい、物理エンジン無視、壁すり抜けなどが起きる</p>



<p class="wp-block-paragraph">向いている用途は、<strong>UI、カメラ移動、背景スクロール</strong>、<strong>演出効果</strong>などです。</p>



<h2 class="wp-block-heading"><span id="toc10">③ Floor レイヤーの作成</span></h2>



<p class="wp-block-paragraph"><strong>「床」</strong>と判定する<code>Floor</code> レイヤーを追加します。</p>



<h3 class="wp-block-heading"><span id="toc11">新しいレイヤーを作る</span></h3>



<p class="wp-block-paragraph">１．どのオブジェクトでもいいのでクリックし、「Inspector」ウィンドウを確認<br>２．「Layer」の右端にあるプルダウンをクリック<br>３．  一番下の 「Add Layer…」 を選びます。<br>　（インスペクターが Tags &amp; Layers の設定画面に切り替わります。）</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="764" src="https://naiterukaiju.com/wp-content/uploads/2025/09/スクリーンショット-2025-09-27-113346-1024x764.png" alt="レイヤーの設定方法" class="wp-image-218" srcset="https://naiterukaiju.com/wp-content/uploads/2025/09/スクリーンショット-2025-09-27-113346-1024x764.png 1024w, https://naiterukaiju.com/wp-content/uploads/2025/09/スクリーンショット-2025-09-27-113346-300x224.png 300w, https://naiterukaiju.com/wp-content/uploads/2025/09/スクリーンショット-2025-09-27-113346-768x573.png 768w, https://naiterukaiju.com/wp-content/uploads/2025/09/スクリーンショット-2025-09-27-113346.png 1240w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">４．その空欄に <strong><code>Floor</code></strong> と入力してください！<br>（大文字・小文字は区別されないですが、コードと統一した方が安全です）</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="830" height="617" src="https://naiterukaiju.com/wp-content/uploads/2026/03/image-15-edited.png" alt="レイヤーの追加方法" class="wp-image-991" srcset="https://naiterukaiju.com/wp-content/uploads/2026/03/image-15-edited.png 830w, https://naiterukaiju.com/wp-content/uploads/2026/03/image-15-edited-300x223.png 300w, https://naiterukaiju.com/wp-content/uploads/2026/03/image-15-edited-768x571.png 768w" sizes="(max-width: 830px) 100vw, 830px" /></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc12">床オブジェクトに Floor レイヤーを割り当てる</span></h3>



<ul class="wp-block-list">
<li>Hierarchy 上で「床」となるオブジェクトを選択。</li>



<li>Inspector の <strong>Layer</strong> プルダウンから、先ほど作成した <strong>Floor</strong> を選びます。</li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="470" height="223" src="https://naiterukaiju.com/wp-content/uploads/2025/09/スクリーンショット-2025-09-27-113604.png" alt="Floor レイヤーを割り当てている様子" class="wp-image-220" srcset="https://naiterukaiju.com/wp-content/uploads/2025/09/スクリーンショット-2025-09-27-113604.png 470w, https://naiterukaiju.com/wp-content/uploads/2025/09/スクリーンショット-2025-09-27-113604-300x142.png 300w" sizes="(max-width: 470px) 100vw, 470px" /></figure>



<h3 class="wp-block-heading"><span id="toc13">Ground MaskにFloorレイヤーを割り当てる</span></h3>



<ul class="wp-block-list">
<li>Playerオブジェクトを選択</li>



<li>Ground Maskに今作成した <strong>Floor</strong> を選びます。</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="762" src="https://naiterukaiju.com/wp-content/uploads/2025/09/スクリーンショット-2025-09-27-113446-1-1024x762.png" alt="Ground MaskにFloorレイヤーを割り当てている様子" class="wp-image-221" srcset="https://naiterukaiju.com/wp-content/uploads/2025/09/スクリーンショット-2025-09-27-113446-1-1024x762.png 1024w, https://naiterukaiju.com/wp-content/uploads/2025/09/スクリーンショット-2025-09-27-113446-1-300x223.png 300w, https://naiterukaiju.com/wp-content/uploads/2025/09/スクリーンショット-2025-09-27-113446-1-768x572.png 768w, https://naiterukaiju.com/wp-content/uploads/2025/09/スクリーンショット-2025-09-27-113446-1.png 1241w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-10 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://naiterukaiju.com/wp-content/uploads/2026/04/9327DB85-EFD6-4A95-A63A-1FA1F0A35E85.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p class="wp-block-paragraph">ここまで設定したらジャンプ処理の完成です！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc14">④ よくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">↓ジャンプが動かない、挙動が変な場合は以下を確認してみてください！</p>



<h3 class="wp-block-heading"><span id="toc15">❌ 地面にいるのにジャンプできない</span></h3>



<ul class="wp-block-list">
<li>床オブジェクトのLayerMaskが設定されていない
<ul class="wp-block-list">
<li>✅Layer：「Floor」を設定する</li>
</ul>
</li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="710" height="107" src="https://naiterukaiju.com/wp-content/uploads/2026/03/Unityで2Dアクションゲームを作ろう！のコピーのコピー-1.png" alt="「Floor」を設定する方法" class="wp-image-987" srcset="https://naiterukaiju.com/wp-content/uploads/2026/03/Unityで2Dアクションゲームを作ろう！のコピーのコピー-1.png 710w, https://naiterukaiju.com/wp-content/uploads/2026/03/Unityで2Dアクションゲームを作ろう！のコピーのコピー-1-300x45.png 300w" sizes="(max-width: 710px) 100vw, 710px" /></figure>



<ul class="wp-block-list">
<li>プレイヤー側の「床」と判定するレイヤー（<code>_groundMask</code> ）の指定がされていない
<ul class="wp-block-list">
<li>✅GroundMask：「Floor」を設定する</li>
</ul>
</li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="710" height="252" src="https://naiterukaiju.com/wp-content/uploads/2026/03/Unityで2Dアクションゲームを作ろう！のコピーのコピー-1-1.png" alt="GroundMask：「Floor」を設定する方法" class="wp-image-988" srcset="https://naiterukaiju.com/wp-content/uploads/2026/03/Unityで2Dアクションゲームを作ろう！のコピーのコピー-1-1.png 710w, https://naiterukaiju.com/wp-content/uploads/2026/03/Unityで2Dアクションゲームを作ろう！のコピーのコピー-1-1-300x106.png 300w" sizes="(max-width: 710px) 100vw, 710px" /></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc16">❌ 空中で連続ジャンプできる（多段になってしまう）</span></h3>



<ul class="wp-block-list">
<li><code>_HitFloor()</code> が呼ばれていない/判定が機能していない</li>



<li>ジャンプ後 <code>_bJump = true;</code> を入れていない</li>
</ul>



<p class="wp-block-paragraph">✅ 対処：<code>_OnJump</code> の最後で <code>_bJump = true;</code> を必ず入れる</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc17">❌ 斜面や段差で接地判定がガタつく</span></h3>



<ul class="wp-block-list">
<li>sizeが薄すぎる/小さすぎる</li>



<li>distanceが短すぎる</li>
</ul>



<p class="wp-block-paragraph">✅ 対処：<code>size.y</code> や <code>0.05f</code> を少し増やす（例：0.08f、0.1f）</p>



<h2 class="wp-block-heading"><span id="toc18">⑤旧Input版（Input.GetKeyDown）での書き方</span></h2>



<p class="wp-block-paragraph">Input Systemを使っていない場合は、Updateでこう書けばOKです🙆<br>これだけで、スペースキーが押されたらジャンプするようなります！</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>if (Input.GetKeyDown(KeyCode.Space) &amp;&amp; !_bJump)
{
    _rigid.AddForce(Vector2.up * _jumpSpeed, ForceMode2D.Impulse);
    _bJump = true;
}</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">Input</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">GetKeyDown</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">KeyCode</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Space</span><span style="color: #D4D4D4">) &amp;&amp; !</span><span style="color: #9CDCFE">_bJump</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">_rigid</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">AddForce</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">Vector2</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">up</span><span style="color: #D4D4D4"> * </span><span style="color: #9CDCFE">_jumpSpeed</span><span style="color: #D4D4D4">, </span><span style="color: #9CDCFE">ForceMode2D</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Impulse</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">_bJump</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">true</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span></code></pre></div>



<h2 class="wp-block-heading"><span id="toc19">まとめ</span></h2>



<p class="wp-block-paragraph">今回の処理は次の流れになっています。</p>



<p class="wp-block-paragraph">① プレイヤーのコライダー情報を取得<br>② 足元の位置を計算<br>③ 小さい矩形を作る<br>④ BoxCastで下方向に判定<br>⑤ 地面に当たったか確認<br>⑥ ジャンプ可能か設定</p>



<p class="wp-block-paragraph">この処理によって</p>



<ul class="wp-block-list">
<li>空中ジャンプ防止</li>



<li>正確な接地判定</li>
</ul>



<p class="wp-block-paragraph">が実現できます！！</p>



<p class="wp-block-paragraph">今回は、Unity2Dでのジャンプ実装方法を解説しました。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-10 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://naiterukaiju.com/wp-content/uploads/2026/04/9327DB85-EFD6-4A95-A63A-1FA1F0A35E85.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p class="wp-block-paragraph">最後まで読んでいただきありがとうございました！</p>
</div></div>



<p class="wp-block-paragraph">他にも、<br><strong>「プレイヤーを追従させるカメラワークを作りたい」<br>「歩行やジャンプ時にアニメーションをつけたい」</strong><br>という実装したい人は、こちらの記事もご興味あれば覗いてみてください👾</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-related">

<a href="https://naiterukaiju.com/%e3%80%90unity2d%e3%80%91%e3%83%97%e3%83%ac%e3%82%a4%e3%83%a4%e3%83%bc%e3%82%92%e8%bf%bd%e5%be%93%e3%81%95%e3%81%9b%e3%82%8b%e3%82%ab%e3%83%a1%e3%83%a9%e3%81%ae%e5%ae%9f%e8%a3%85%e6%96%b9%e6%b3%95/" title="【Unity2D】プレイヤーを追従させるカメラを作るには？｜実装方法（コード全文・解説付き）" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://naiterukaiju.com/wp-content/uploads/cocoon-resources/blog-card-cache/3ef8e13d029d5d61f7eb937fbb1399e7.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="320" height="180" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【Unity2D】プレイヤーを追従させるカメラを作るには？｜実装方法（コード全文・解説付き）</div><div class="blogcard-snippet external-blogcard-snippet">Unityで2Dアクションゲームを作っていると、「プレイヤーの歩行に合わせてカメラも追従させたい」「プレイヤーを歩かせてもカメラが追従しない」「カメラ追従させたが画面がガタつく・・・」「横だけ追従したい」といったことありますよね🤔この記事で...</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://naiterukaiju.com/%e3%80%90unity2d%e3%80%91%e3%83%97%e3%83%ac%e3%82%a4%e3%83%a4%e3%83%bc%e3%82%92%e8%bf%bd%e5%be%93%e3%81%95%e3%81%9b%e3%82%8b%e3%82%ab%e3%83%a1%e3%83%a9%e3%81%ae%e5%ae%9f%e8%a3%85%e6%96%b9%e6%b3%95/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">naiterukaiju.com</div></div></div></div></a>
</div>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-related">

<a href="https://naiterukaiju.com/%e3%80%90unity%e5%85%a5%e9%96%80%e3%80%91%e6%ad%a9%e8%a1%8c%e6%99%82%e3%82%a2%e3%83%8b%e3%83%a1%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3%e3%81%ae%e4%bd%9c%e3%82%8a%e6%96%b9%ef%bc%882d%ef%bc%89%ef%bd%9canim/" title="【Unity2D】歩行アニメーションの作り方｜Animatorで「待機⇔歩く」を切り替えよう" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://naiterukaiju.com/wp-content/uploads/cocoon-resources/blog-card-cache/26bd1bed9aae0178a08aae993751ecbe.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="320" height="180" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【Unity2D】歩行アニメーションの作り方｜Animatorで「待機⇔歩く」を切り替えよう</div><div class="blogcard-snippet external-blogcard-snippet">こんにちは！夜の街2Dアクションゲームを制作中の怪獣です🦖今回は 2Dキャラの「歩行」時のアニメーションを を Unity で作る方法を解説します！手順としては、待機、歩行用の画像を用意するAnimation Clip（歩くアニメ）を作成す...</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://naiterukaiju.com/%e3%80%90unity%e5%85%a5%e9%96%80%e3%80%91%e6%ad%a9%e8%a1%8c%e6%99%82%e3%82%a2%e3%83%8b%e3%83%a1%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3%e3%81%ae%e4%bd%9c%e3%82%8a%e6%96%b9%ef%bc%882d%ef%bc%89%ef%bd%9canim/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">naiterukaiju.com</div></div></div></div></a>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://naiterukaiju.com/unity-2d-jump-script/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://naiterukaiju.com/wp-content/uploads/2026/03/サンプルゲーム-SampleScene-Windows-Mac-Linux-Unity-2021.3.6f1-Personal-_DX11_-2026-03-01-19-13-41-Trim.mp4" length="10172130" type="video/mp4" />

			</item>
	</channel>
</rss>
