Unity Page update date : Wednesday, November 23, 2022 Page creation date : Wednesday, March 30, 2022 We've published a development tips for Unity, a game engine that many developers use to create games. In-page links introduction Editor settings Game Release system UI (user interface) User input Sprite (2D) scene sound effect BGM prefab Maps (2D) Collision Handling (2D) texture file Localization (multilingual) introduction 本 Unity Tips について 当サイトに掲載している Unity Tips の仕様、規則について説明しています。 Monday, January 17, 2022 Unity について ゲーム開発を行うことができる Unity について簡単に説明しています。 Thursday, March 24, 2022 Unity アカウントの作成 Unity で開発するにあたってアカウントを作成する必要があります。その手順について説明します。 Thursday, March 24, 2022 Unity をダウンロード・インストールする Unity をインストールして開発環境として Unity を使えるようにします。 Thursday, March 24, 2022 Unity のプロジェクトを作成する 実際にゲームを開発するためのプロジェクトを作成します。 Thursday, March 24, 2022 サンプルプロジェクトを動かしてみる (3D Sample Scene HDRP) ゲームがどのようにして動くのかをイメージするためにサンプルプロジェクトを作成して動かしてみます。 Thursday, March 24, 2022 チュートリアルのサンプルプロジェクトを動かしてみる (2D Platformer Microgame) ゲームがどのようにして動くのかをイメージするためにサンプルプロジェクトを作成して動かしてみます。 Thursday, March 24, 2022 Editor settings Unity エディターを日本語化する Unity エディターは初期状態では英語表記になっているのでこれを日本語化します。 Thursday, March 24, 2022 コードを編集するエディターを変更する Unity エディターからコードを編集しようとしたときに起動するスクリプトエディターを変更する方法について説明します。 Thursday, March 24, 2022 Game Release Windows 向けのゲームを出力する Unity で制作したゲームを Windows 上で実行できる形式に出力する手順について説明します。 Thursday, March 24, 2022 IL2CPP を使用して Windows 向けゲームを事前にコンパイルする IL2CPP を使用することにより事前にネイティブコードにコンパイルしパフォーマンスやセキュリティの向上を行います。 Thursday, March 24, 2022 Web 向け (WebGL) のゲームを出力する Unity で制作したゲームを Web ブラウザ上で実行できる形式に出力する手順について説明します。 Thursday, March 24, 2022 Unity WebGL を ASP.NET Core で動かす Unity で制作したゲームを WebGL で出力し、ASP.NET Core が動作しているサイトでゲームを動かす方法について説明します。 Thursday, March 24, 2022 system ゲーム解像度を変更する ゲーム起動時の解像度設定やゲームプレイ中の解像度変更の方法について説明します。 Sunday, May 1, 2022 ウィンドウモードとフルスクリーンモードを切り替える ゲーム実行中にウィンドウモードとフルスクリーンモードを切り替える方法について説明します。 Tuesday, June 7, 2022 ウィンドウが非アクティブでもゲームを動かす 初期状態では Unity エディターを含めウィンドウが非アクティブ状態になっているとゲームが一時停止します。これをウィンドウが非アクティブ状態でも動くようにする方法について説明します。 Monday, June 20, 2022 ゲームを終了する プログラムでゲームを終了する方法について説明します。 Monday, November 7, 2022 UI (user interface) カメラ(2D)とキャンバスを合わせる 初期状態では UI を配置するキャンバスの表示領域とゲームを表示するカメラ(2D)の表示領域が別々なのでそれを合わせます。 Thursday, January 27, 2022 Unity UI のボタンを使用する ボタンはユーザーがメニューなどで選択肢としてクリックしてもらうために使うこともできます。またデバッグやテストでも活用できます。 Thursday, March 24, 2022 Unity UI のドロップダウンを使用する ドロップダウンを使用することにより多数の選択項目を省スペースに配置して選択させることができます。 Thursday, March 24, 2022 ドロップダウンアイテムの一覧を表示したときに選択しているアイテムが先頭にくるようにスクロールする ドロップダウンアイテムの一覧を表示したとき選択アイテムの位置に関わらず一番上のアイテムが表示されます。これを選択しているアイテムが先頭にくるように表示する方法について説明します。 Thursday, March 24, 2022 UI オブジェクトからフォーカスが外れないようにする 通常 UI オブジェクト以外をクリックするとフォーカスが外れてしまいますが、疑似的にフォーカスが外れないように対応します。 Thursday, March 24, 2022 どのプラットフォームでも同じフォントを使用できるようにする 動作するプラットフォームごとに使用できるフォントは異なりますがどの環境でも同じフォントが使用できるようにする方法について説明します。 Thursday, March 24, 2022 WebGL で日本語を入力できるようにする 入力フィールドを配置したプログラムを WebGL で公開した際、直接日本語を入力することができないためその対処法を実装します。 Thursday, March 24, 2022 UI オブジェクトの選択をループさせる オブジェクトの通常配置では入力した方向にあるオブジェクトしか選択できませんが、ここでは下を入力したときに反対側にある上のオブジェクトを選択できるようにしています。 Thursday, March 24, 2022 ボタンの選択をアニメーションさせて分かりやすくする ボタンを選択したときにボタンを大きくさせて見た目的に分かりやすくします。 Thursday, March 24, 2022 User input 入力システムパッケージ (Input System Package) を導入する ユーザーからの入力を受け付けるには Unity 初期のころからある「入力マネージャー」がありますが、途中のバージョンから導入された新しい「入力システムパッケージ」を使うためのセットアップを行います。 Thursday, March 24, 2022 キーボードで操作する (入力システムパッケージ版) ゲームをキーボードで操作する方法について説明します。 Thursday, March 24, 2022 マウスで操作する (入力システムパッケージ版) ゲームをマウスで操作する方法について説明します。 Thursday, March 24, 2022 ゲームパッドで操作する (入力システムパッケージ版) ゲームをゲームパッドで操作する方法について説明します。 Thursday, March 24, 2022 複数のゲームパッドを管理する ゲームパッドは同時に複数扱うことができます。ローカルマルチプレイなど複数人で遊ぶ場面などで使用できます。 Thursday, March 24, 2022 ジョイスティックで操作する (入力システムパッケージ版) ゲームをジョイスティックで操作する方法について説明します。 Thursday, March 24, 2022 アクションマップを使用してゲーム動作に対してボタンを割り当てる アクションマップを使用すると例えば移動やジャンプなどの行動に対してコントローラーのボタンなどを割り当てることができます。 Thursday, March 24, 2022 アクションマップを動的に設定する キーコンフィグなどキーやボタンの割り当てを自由にさせたいときなどアクションマップを動的に設定できる方法について説明します。 Thursday, March 24, 2022 On-Screen Control でタッチ向けの入力コントロールを使用する 入力システムパッケージには On-Screen Control というタッチ向けデバイスでの入力操作に対応した仕組みがあります。 Thursday, March 24, 2022 On-Screen Control をカスタマイズして方向パッドを実装する On-Screen Control は独自にカスタマイズすることができます。ここではスティック入力とは異なる方向パッドを実装してみます。 Thursday, March 24, 2022 Sprite (2D) スプライト(画像)を表示する スプライト(画像)をゲーム画面に表示させる方法について説明します。画像の表示ぐらいであれば Unity エディター上のみで完結できるので簡単です。 Thursday, March 24, 2022 スプライトの移動、回転、拡大縮小を行う ゲームでキャラクターを動かすようなイメージでスプライトをキーボードで動かしてみます。 Thursday, March 24, 2022 スプライトシートアニメーションを実装する 複数の画像を連続で切り替えて表示させ、絵が動いているかのように見せることができるスプライトアニメーションを作成してみます。 Thursday, March 24, 2022 ゲーム実行中にスプライトの画像を変更する ゲームを遊んでいるとスプライトの画像が頻繁に変わっているのを見かけると思います。ここではゲーム実行中にスプライトの画像を変更する方法について説明します。 Sunday, May 1, 2022 4方向スプライトキャラクターの歩行アニメーションを実装する RPG などによくある俯瞰視点フィールドでキャラクターを4方向に移動しながら歩くアニメーションを実装してみます。 Thursday, July 7, 2022 8方向スプライトキャラクターの歩行アニメーションを実装する RPG などによくある俯瞰視点フィールドでキャラクターを8方向に移動しながら歩くアニメーションを実装してみます。 Sunday, July 10, 2022 scene シーンを切り替える ゲームでよくあるスタートのシーンからゲームプレイのシーンに遷移ようなシーンの切り替えを実装します。 Sunday, May 1, 2022 シーンを追加する 現在のシーンに別なシーンを追加して同時に表示させる方法について説明します。 Sunday, May 1, 2022 シーンの背景色を変更する シーンの背景色を変更する方法について説明します。 Sunday, May 1, 2022 sound effect 単一の効果音の再生・一時停止・停止を行う 任意のタイミングで効果音の再生・一時停止・停止を行う方法について説明します。 Monday, May 30, 2022 一つの音声を同時に複数再生する AudioSource のみでは単一の音しか再生できませんでしたが AudioClip を使用してひとつの音声データで複数同時に再生することができます。 Saturday, June 4, 2022 効果音の同時再生数を制御する PlayOneShot を使用すると音の重ね掛けができますが、上限がないため音量が大きくなりがちです。今回は同時再生数を制御して音量が大きくなり過ぎないようにしてみます。 Saturday, June 4, 2022 BGM BGM の再生・一時停止・停止・ループを行う BGM の再生・一時停止・停止・ループを行う方法について説明します。 Tuesday, June 14, 2022 イントロ付きの BGM をループ再生する BGM のループ再生の中にはイントロ部分を1回だけ再生しループは途中から開始するものがあります。今回はそれを Unity で実現してみます。 Tuesday, June 7, 2022 prefab プレハブを作成し大量のオブジェクトを管理する オブジェクトは複製して配置することができますが、設定を変える場合複製した数だけ変更する必要があります。プレハブを使うとコピー元設定として一括管理できるようになります。 Monday, June 27, 2022 スクリプトからプレハブを元にオブジェクトを生成する 初期配置でプレハブからオブジェクトを配置できることが出来ましたがゲーム中に追加で配置したい場合もあると思います。ここではスクリプトによってプレハブからオブジェクトを配置してみたいと思います。 Friday, July 1, 2022 Maps (2D) Unity 標準のタイルマップを使用して見下ろし型2Dマップを作成する 2D の RPG によるあるような見下ろし型2Dマップを Unity の標準機能であるタイルマップで作成してみます。 Friday, July 22, 2022 2D Tilemap Extras を使用してオートタイルでマップを作成する 上下左右に繋がるマップチップを配置する際に毎回組み合わせを探して配置するのは面倒です。ここではオートタイルを使用して自動的にマップチップが接続されるようにしてみます。 Thursday, August 25, 2022 2D Tilemap Extras を使用してアニメーションタイルを作成する RPG のタイルマップでは滝の流れや波の動きなどマップチップの切り替えで動きを見せる表現が使われていることがあります。ここではそのアニメーションを実現させてみます。 Friday, August 26, 2022 2D Tilemap Extras を使用してアニメーション付きオートタイルでマップを作成する オートタイルとアニメーションタイルを組み合わせてアニメーション付きオートタイルでマップを作成してみます。 Saturday, August 27, 2022 タイルマップとの当たり判定を実装する オブジェクトを動かしたときにタイルマップに衝突して重ならないようにする処理を実装します。 Tuesday, October 4, 2022 マップチップの種類ごとに当たり判定を実装する 敷き詰められたマップチップの中から指定したマップチップの種類に対して当たり判定を行います。 Friday, October 7, 2022 Collision Handling (2D) オブジェクト同士が衝突しているかどうかを判定する (2D) ゲームなどでよくある弾がキャラクターにあたる、キャラクター同士があたる、などに必要な衝突判定を実装する方法について説明します。 Wednesday, September 28, 2022 衝突処理を標準機能の物理演算で行う (2D) 例えばプレイヤーキャラが他のキャラクターに当たったときに相手を押していくなどの処理を Unity 標準機能の物理演算に任せます。 Sunday, October 2, 2022 texture レンダーテクスチャーを使用して別のシーンの内容をテクスチャーとして表示させる 例えばゲーム内にあるディスプレイなどに別のシーンを表示させたい場合、レンダーテクスチャーを使用すると実現可能です。 Tuesday, November 1, 2022 file PlayerPrefs を使用してデータを読み書きする プレイデータや設定などを PlayerPrefs を使用して保存、読み込みします。 Thursday, November 3, 2022 persistentDataPath で指定された Unity 推奨のフォルダパスにデータを書き込む ゲームの設定データは任意の場所に保存できますが、ここでは persistentDataPath を使用して Unity 推奨のフォルダパスに保存します。 Saturday, November 5, 2022 Localization (multilingual) テキストを多言語対応し実行している環境に合わせてテキストオブジェクトのテキストを切り換える 作ったゲームを国内のみならず国外の人にも遊んでもらうにはその国の人たちが遊ぶことができるようにゲーム全体をローカライズする必要があります。ここではその一つとして配置したテキストオブジェクトを多言語対応します。 Wednesday, November 9, 2022 国や言語に合わせて画像オブジェクトの画像を切り換える ローカライズはテキストだけではなく画像に対しても行えます。国や文化によって違う画像であったりテキストを画像化している場合にこの切り替え機能が便利です。 Friday, November 11, 2022 任意のタイミングでロケールを変更する Unity 公式パッケージの Localization ではゲーム起動時にパラメータや環境に応じてロケールを自動設定していますが、ゲーム中に表示言語を変えたい場合など任意のタイミングでロケールを変更する方法について説明します。 Sunday, November 13, 2022 作成したロケールの一覧を取得する Localization パッケージで作成したロケールの一覧を取得する方法について説明します。ユーザーに一覧から選択させたい場合に便利です。 Saturday, November 19, 2022 任意のタイミングでローカライズしたテキストやアセットを取得する ローカライズされたテキストなどを UI 等で自動切換えするのではなくプログラムで任意のタイミングで取得する方法について説明します。 Wednesday, November 23, 2022
サンプルプロジェクトを動かしてみる (3D Sample Scene HDRP) ゲームがどのようにして動くのかをイメージするためにサンプルプロジェクトを作成して動かしてみます。 Thursday, March 24, 2022
チュートリアルのサンプルプロジェクトを動かしてみる (2D Platformer Microgame) ゲームがどのようにして動くのかをイメージするためにサンプルプロジェクトを作成して動かしてみます。 Thursday, March 24, 2022
コードを編集するエディターを変更する Unity エディターからコードを編集しようとしたときに起動するスクリプトエディターを変更する方法について説明します。 Thursday, March 24, 2022
IL2CPP を使用して Windows 向けゲームを事前にコンパイルする IL2CPP を使用することにより事前にネイティブコードにコンパイルしパフォーマンスやセキュリティの向上を行います。 Thursday, March 24, 2022
Unity WebGL を ASP.NET Core で動かす Unity で制作したゲームを WebGL で出力し、ASP.NET Core が動作しているサイトでゲームを動かす方法について説明します。 Thursday, March 24, 2022
ウィンドウが非アクティブでもゲームを動かす 初期状態では Unity エディターを含めウィンドウが非アクティブ状態になっているとゲームが一時停止します。これをウィンドウが非アクティブ状態でも動くようにする方法について説明します。 Monday, June 20, 2022
カメラ(2D)とキャンバスを合わせる 初期状態では UI を配置するキャンバスの表示領域とゲームを表示するカメラ(2D)の表示領域が別々なのでそれを合わせます。 Thursday, January 27, 2022
Unity UI のボタンを使用する ボタンはユーザーがメニューなどで選択肢としてクリックしてもらうために使うこともできます。またデバッグやテストでも活用できます。 Thursday, March 24, 2022
ドロップダウンアイテムの一覧を表示したときに選択しているアイテムが先頭にくるようにスクロールする ドロップダウンアイテムの一覧を表示したとき選択アイテムの位置に関わらず一番上のアイテムが表示されます。これを選択しているアイテムが先頭にくるように表示する方法について説明します。 Thursday, March 24, 2022
UI オブジェクトからフォーカスが外れないようにする 通常 UI オブジェクト以外をクリックするとフォーカスが外れてしまいますが、疑似的にフォーカスが外れないように対応します。 Thursday, March 24, 2022
どのプラットフォームでも同じフォントを使用できるようにする 動作するプラットフォームごとに使用できるフォントは異なりますがどの環境でも同じフォントが使用できるようにする方法について説明します。 Thursday, March 24, 2022
WebGL で日本語を入力できるようにする 入力フィールドを配置したプログラムを WebGL で公開した際、直接日本語を入力することができないためその対処法を実装します。 Thursday, March 24, 2022
UI オブジェクトの選択をループさせる オブジェクトの通常配置では入力した方向にあるオブジェクトしか選択できませんが、ここでは下を入力したときに反対側にある上のオブジェクトを選択できるようにしています。 Thursday, March 24, 2022
入力システムパッケージ (Input System Package) を導入する ユーザーからの入力を受け付けるには Unity 初期のころからある「入力マネージャー」がありますが、途中のバージョンから導入された新しい「入力システムパッケージ」を使うためのセットアップを行います。 Thursday, March 24, 2022
アクションマップを使用してゲーム動作に対してボタンを割り当てる アクションマップを使用すると例えば移動やジャンプなどの行動に対してコントローラーのボタンなどを割り当てることができます。 Thursday, March 24, 2022
アクションマップを動的に設定する キーコンフィグなどキーやボタンの割り当てを自由にさせたいときなどアクションマップを動的に設定できる方法について説明します。 Thursday, March 24, 2022
On-Screen Control でタッチ向けの入力コントロールを使用する 入力システムパッケージには On-Screen Control というタッチ向けデバイスでの入力操作に対応した仕組みがあります。 Thursday, March 24, 2022
On-Screen Control をカスタマイズして方向パッドを実装する On-Screen Control は独自にカスタマイズすることができます。ここではスティック入力とは異なる方向パッドを実装してみます。 Thursday, March 24, 2022
スプライト(画像)を表示する スプライト(画像)をゲーム画面に表示させる方法について説明します。画像の表示ぐらいであれば Unity エディター上のみで完結できるので簡単です。 Thursday, March 24, 2022
スプライトシートアニメーションを実装する 複数の画像を連続で切り替えて表示させ、絵が動いているかのように見せることができるスプライトアニメーションを作成してみます。 Thursday, March 24, 2022
ゲーム実行中にスプライトの画像を変更する ゲームを遊んでいるとスプライトの画像が頻繁に変わっているのを見かけると思います。ここではゲーム実行中にスプライトの画像を変更する方法について説明します。 Sunday, May 1, 2022
4方向スプライトキャラクターの歩行アニメーションを実装する RPG などによくある俯瞰視点フィールドでキャラクターを4方向に移動しながら歩くアニメーションを実装してみます。 Thursday, July 7, 2022
8方向スプライトキャラクターの歩行アニメーションを実装する RPG などによくある俯瞰視点フィールドでキャラクターを8方向に移動しながら歩くアニメーションを実装してみます。 Sunday, July 10, 2022
一つの音声を同時に複数再生する AudioSource のみでは単一の音しか再生できませんでしたが AudioClip を使用してひとつの音声データで複数同時に再生することができます。 Saturday, June 4, 2022
効果音の同時再生数を制御する PlayOneShot を使用すると音の重ね掛けができますが、上限がないため音量が大きくなりがちです。今回は同時再生数を制御して音量が大きくなり過ぎないようにしてみます。 Saturday, June 4, 2022
イントロ付きの BGM をループ再生する BGM のループ再生の中にはイントロ部分を1回だけ再生しループは途中から開始するものがあります。今回はそれを Unity で実現してみます。 Tuesday, June 7, 2022
プレハブを作成し大量のオブジェクトを管理する オブジェクトは複製して配置することができますが、設定を変える場合複製した数だけ変更する必要があります。プレハブを使うとコピー元設定として一括管理できるようになります。 Monday, June 27, 2022
スクリプトからプレハブを元にオブジェクトを生成する 初期配置でプレハブからオブジェクトを配置できることが出来ましたがゲーム中に追加で配置したい場合もあると思います。ここではスクリプトによってプレハブからオブジェクトを配置してみたいと思います。 Friday, July 1, 2022
Unity 標準のタイルマップを使用して見下ろし型2Dマップを作成する 2D の RPG によるあるような見下ろし型2Dマップを Unity の標準機能であるタイルマップで作成してみます。 Friday, July 22, 2022
2D Tilemap Extras を使用してオートタイルでマップを作成する 上下左右に繋がるマップチップを配置する際に毎回組み合わせを探して配置するのは面倒です。ここではオートタイルを使用して自動的にマップチップが接続されるようにしてみます。 Thursday, August 25, 2022
2D Tilemap Extras を使用してアニメーションタイルを作成する RPG のタイルマップでは滝の流れや波の動きなどマップチップの切り替えで動きを見せる表現が使われていることがあります。ここではそのアニメーションを実現させてみます。 Friday, August 26, 2022
2D Tilemap Extras を使用してアニメーション付きオートタイルでマップを作成する オートタイルとアニメーションタイルを組み合わせてアニメーション付きオートタイルでマップを作成してみます。 Saturday, August 27, 2022
オブジェクト同士が衝突しているかどうかを判定する (2D) ゲームなどでよくある弾がキャラクターにあたる、キャラクター同士があたる、などに必要な衝突判定を実装する方法について説明します。 Wednesday, September 28, 2022
衝突処理を標準機能の物理演算で行う (2D) 例えばプレイヤーキャラが他のキャラクターに当たったときに相手を押していくなどの処理を Unity 標準機能の物理演算に任せます。 Sunday, October 2, 2022
レンダーテクスチャーを使用して別のシーンの内容をテクスチャーとして表示させる 例えばゲーム内にあるディスプレイなどに別のシーンを表示させたい場合、レンダーテクスチャーを使用すると実現可能です。 Tuesday, November 1, 2022
persistentDataPath で指定された Unity 推奨のフォルダパスにデータを書き込む ゲームの設定データは任意の場所に保存できますが、ここでは persistentDataPath を使用して Unity 推奨のフォルダパスに保存します。 Saturday, November 5, 2022
テキストを多言語対応し実行している環境に合わせてテキストオブジェクトのテキストを切り換える 作ったゲームを国内のみならず国外の人にも遊んでもらうにはその国の人たちが遊ぶことができるようにゲーム全体をローカライズする必要があります。ここではその一つとして配置したテキストオブジェクトを多言語対応します。 Wednesday, November 9, 2022
国や言語に合わせて画像オブジェクトの画像を切り換える ローカライズはテキストだけではなく画像に対しても行えます。国や文化によって違う画像であったりテキストを画像化している場合にこの切り替え機能が便利です。 Friday, November 11, 2022
任意のタイミングでロケールを変更する Unity 公式パッケージの Localization ではゲーム起動時にパラメータや環境に応じてロケールを自動設定していますが、ゲーム中に表示言語を変えたい場合など任意のタイミングでロケールを変更する方法について説明します。 Sunday, November 13, 2022
作成したロケールの一覧を取得する Localization パッケージで作成したロケールの一覧を取得する方法について説明します。ユーザーに一覧から選択させたい場合に便利です。 Saturday, November 19, 2022
任意のタイミングでローカライズしたテキストやアセットを取得する ローカライズされたテキストなどを UI 等で自動切換えするのではなくプログラムで任意のタイミングで取得する方法について説明します。 Wednesday, November 23, 2022