(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]



Unity

Unityエディタを再生していない時(エディタ拡張時)に音を鳴らす【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2019.4.15f1 はじめに 今回はUnityエディタを再生していない時、つまりエディタ拡張時に音を鳴らす方法の紹介です! ちなみにビープ音を鳴らす方法は以前紹介していたりします。 using UnityEditor; //Editor…

Unityエディターがクラッシュ(強制終了)した時にログから原因を見つける方法と、保存していないシーン情報の復旧方法【Unity】【トラブルシューティング】

この記事でのバージョン Unity 2019.4.14f1 はじめに 今回はタイトル通り、Unityエディターがクラッシュ(強制終了)した時にログから原因を見つける方法と、保存していないシーン情報の復旧方法の解説記事です! ログを見て原因を見つける方法

GameObjectのシーンの移動方法とDontDestroyOnLoadの解除方法【Unity】

この記事でのバージョン Unity 2019.4.14f1 はじめに 今回はタイトル通りGameObjectのシーンの移動方法と、それに併せて、DontDestroyOnLoadの解除方法の解説です! MoveGameObjectToScene

年末年始セールで6000以上のアセットが最大50%オフ!(+全アセット5%割引クーポン)なので、セール対象のオススメアセット紹介記事19個をまとめてみた【Unity】【アセット】

はじめに 現在Unity Asset Storeでは「年末年始セール」と題して、6000以上のアセットが最大50%オフで買えるセールが実施中です。 さらに「年末年始セール特別クーポン」と題して、全アセット5%オフで変えるクーポン「GOODBYE2020」も発行されています……! …

UnityでOculus Quest(やQuest2)のコントローラーを振動させる方法【Unity】【VR】【Oculus Quest】【Oculus Quest2】

この記事でのバージョン Unity 2019.4.14f1 Oculus Integration 20.1 はじめに 今回はUnityでOculus Quest(やQuest2)のコントローラーを振動させる方法の解説記事です! なお、Oculus Integrationのインストールや、 Oculus Integration | Integration | Uni…

SteamVR Pluginを使った超簡単なカメラのフェードの実装【Unity】【Steam】【VR】

この記事でのバージョン Unity 2019.4.14f1 Steam VR Plugin 2.6.1 (sdk 1.13.10) はじめに UnityでSteam向けのVRゲームを開発する際は、SteamVR Pluginというアセットを使うのが一般的ですが、 SteamVR Plugin | Integration | Unity Asset Store 今回はそ…

GameObjectがどのシーンに属しているかを取得する方法と、シーンを跨いでも破棄されない(DontDestroyOnLoad)かの判定【Unity】

この記事でのバージョン Unity 2019.4.14f1 はじめに 今回はタイトル通りGameObjectがどのシーンに属しているかを取得する方法と、それに併せて、シーンを跨いでも破棄されないオブジェクトかの判定方法の解説です! gameObject.scene

UnityでOculus Quest(やQuest2)からコントローラーの入力を受け取る方法【Unity】【VR】【Oculus Quest】【Oculus Quest2】

この記事でのバージョン Unity 2019.4.14f1 Oculus Integration 20.1 はじめに 今回はUnityでOculus Quest(やQuest2)からコントローラーの入力を受け取る方法の解説記事です! なお、以下の記事にあるOculus Integrationのインストールや、 Oculus Integrati…

Oculus Quest等のAndroid端末で実機のログを確認したい時はPackageManagerのLogcatが簡単便利【Unity】【Android】

PackageManagerとは この記事でのバージョン Unity 2019.4.14f1 はじめに Unityエディタ上のConsoleでログを確認出来るように、実機で動かしてる時でもログを確認したいというのはよくあります。 アセットを使って実機上でもConsoleを表示するという手もあり…

UnityでJSONデータを操作(JSONとクラスを変換)するために使えるJsonUtilityとは【Unity】

qqこの記事でのバージョン Unity 2019.2.21f1 はじめに Unityには簡単にJSONを扱える便利クラスJsonUtilityというものがあります。 JSON データを操作するためのユーティリティ関数 本ブログにも度々登場しているのですが、そう言えば単体で記事にした事は…

Animatorで再生中のアニメを最初から再生し直す(リプレイする)方法【Unity】

この記事でのバージョン Unity 2019.4.9f1 はじめに 今回はタイトル通り、Animatorで再生中のアニメを最初から再生し直す方法の解説記事です! なお、記事中では以下のアセットを使っています。 Animals - Simon the Raccoon | Characters | Unity Asset Sto…

ファイルやフォルダを開いたり保存したりするためのダイアログの表示【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2019.4.9f1 はじめに 今回はファイルやフォルダを開いたり保存したりする時のダイアログをUnityから表示する方法の紹介です! なお、あくまでUnityエディタだけで使える方法であり、ビルドした実際のゲーム中…

縦笛なめなめVRをSteamVR用からOculus Quest用に移植した話と、Side Questに公開出来なかった話【Unity】【VR】【SideQuest】【Oculus Quest2】

はじめに 以前、SteamVR用(パソコンVR用)に「縦笛なめなめVR」というゲームをリリースしたのですが、 これをOculus Quest及びQuest2で遊べるように移植作業を行い、itch.ioで公開しました!(ただいま2020年ハロウィンセールで11%Offセール中!) Chupa Chupa …

オブジェクトやPrefabが依存する(使っている)全てのアセットを取得する EditorUtility.CollectDependencies【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2019.4.9f1 はじめに 今回はオブジェクトやPrefabが依存する全てのアセットを取得するEditorUtility.CollectDependenciesというメソッドの紹介記事です。 roots に依存するすべてのアセットを計算し、取得し…

Color、Gradient、AnimationCurveの値を保存、再利用、共有出来るSwatch libraries(旧Preset Libraries)の使い方【Unity】

この記事でのバージョン Unity 2019.4.9f1 はじめに UnityのImageなどには色を扱うためのColorという設定項目(クラス)がありますが、 実はこの色の設定値はSwatch libraries(スワッチライブラリ)という物で保存する事が出来ます。ちなみに以前はPreset Libra…

Gradientクラスを使って色のグラデーションをプログラムで扱う【Unity】

この記事でのバージョン Unity 2019.4.9f1 はじめに Untyには色を扱うためのColorというクラスがありますが、 [SerializeField] private Color _privateColor = default; 色のグラデーションを扱うためのGradientというクラスもあります。 [SerializeField] …

EditorWindowのOnGUIでマウスの位置を取得したい時はwantsMouseMoveを有効にする【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2019.4.9f1 はじめに Unityのエディタ拡張には簡単にウィンドウを作る事が出来るEditorWindowがあります。 using UnityEditor; /// <summary> /// EditorWindowのサンプル /// </summary> public class EditorWindowSample : Edi…

プロジェクトの更新(アセットのインポート)にかかる時間を最大90%短縮し高速化できるUnity Acceleratorの導入と使い方 【Unity】

この記事でのバージョン Unity 2019.4.9f1 はじめに Unityにはキャッシュサーバーという同じアセットのインポート時間を短縮するための仕組みがあります。 このキャッシュサーバー、個人で使う分には特に何もしなくても良かったのですが、Unity 2019.3からは…

Steamworksの初期化がSteamAPI_Init() failed. Refer to Valve's documentation or the comment above this line for more information.というエラーで失敗する時の対処法【Unity】【Steam】【トラブルシューティング】

この記事でのバージョン Unity 2019.4.9f1 はじめに UnityでSteam向けのゲームを作る際はSteamworks.NETを使うと楽にSteam対応が出来ます。 そのSteamworks.NETを使う際、最初に初期化が必要なのですが、 //SteamManager等を使うのに必要 using Steamworks; …

VRモードと非VRモード両対応のSteam向けゲームをUnityで作る方法とモードの切り替え方【Unity】【Steam】【VR】

この記事でのバージョン Unity 2019.4.9f1 SteamVR Unity Plugin - v2.3.2 (sdk 1.4.18) はじめに 今回はVRと非VRの両方に対応したSteam用のゲームをUnityで開発する方法です。 なお、両対応や切り替えをどうやるかという話で、簡単に両方に対応したゲームが…

「Unityエディタを再生しているか」と「ビルド設定されているか」を気にせずにシーンをロード出来る拡張機能【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2019.4.9f1 はじめに UnityはSceneManager.LoadSceneやEditorSceneManager.OpenScene等、シーンを開く処理がいくつもありますがエディタを再生しているかや、ビルドに設定しているかによって使える物が変わり…

Unityのエディタ拡張時に非同期タスクの進捗状況を表示する Progress【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.4.6f1 はじめに Unityにはエディタ拡張時に進捗を表示するためのEditorUtility.Display(Cancelable)ProgressBarという物が用意されています。 そしてUnity 2020.1から、これに似た機能であるエディタ拡…

エディタ拡張でUnityを再生していない時でもコルーチンを使い非同期処理が行える EditorCoroutineUtility【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2019.4.5f1 はじめに UnityはMonoBehaviourのStartCoroutineを使うことで、簡単にコルーチンを実行し、非同期処理を行う事が可能ですが、 private void Start () { //StartCoroutineを使ってコルーチンを実行…

Odinで拡張されたエディタウィンドウ OdinEditorWindow【Unity】【アセット】【Odin】【エディタ拡張】

エディタ拡張とは 属性とは この記事でのバージョン Unity 2019.4.5f1 Odin 2.1.13 はじめに 色々な属性を追加して、Inspectorを使いやすくしたり、 シーン内を検証し、Inspectorでの設定に問題のあるオブジェクトを見つけたりも出来るOdinですが、 なんとエ…

ボタンなどのレイキャストの当たり判定(タッチ範囲)だけを変えられるRaycastPadding【Unity】【uGUI】

この記事でのバージョン Unity 2020.1.0f1 はじめに UIを作っていて、ボタンの当たり判定を見た目より大きくしたいなんて事はよくあります。 しかし、uGUIのボタン(というよりRaycast Target)は当たり判定==画像となっているため、当たり判定だけを大きくす…

メニューをプログラムから実行する EditorApplication.ExecuteMenuItem【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2019.4.2f1 UnityはMenuItemを使うことで簡単に独自の処理をするメニューを追加出来ます。 //ただログを出す [MenuItem("Tools/ShowLog")] private static void ShowLog() { Debug.Log("ログ"); } そしてこの…

Unityで開発しているSteam向けゲームのDLCの設定と実装方法【Unity】【Steam】

この記事でのバージョン Unity 2019.4.1f1 はじめに 今回はUnityで開発しているSteam向けゲームのDLCの設定と実装方法です! ただし、「DLCのビルドは別で購入したら追加でダウンロードする」という方式ではなく、「DLCの内容も本体に含まれていて、購入した…

Unityで開発しているSteam向けVRゲームでコントローラーを振動させる方法【Unity】【Steam】【VR】

この記事でのバージョン Unity 2019.4.1f1 はじめに 今回はUnityで開発しているSteam向けVRゲームでコントローラーを振動させる方法です! Steamworks.NETの導入

EditorWindowの最小最大サイズや現在のサイズの取得と設定の方法【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2019.4.3f1 はじめに 今回はUnityのエディタ拡張でウィンドウを作成する際に使うEditorWindowの最大最小サイズや現在のサイズを取得したり設定したりする方法の紹介です! イメージとしては以下のような感じ。…

Steamの言語をUnityで取得する【Unity】【Steam】

この記事でのバージョン Unity 2019.4.1f1 はじめに 今回はUnityで作ったゲームから、Steamで設定されている言語を取得する方法です!イメージとしては以下のような感じ。 Steamworks.NETの導入