コガネブログ

平日更新を目標にUnityやC#、Visual Studioなどのゲーム開発アレコレを書いていきます

【Unity】キーボードのキーを長押しした時にイベントを検知するスクリプトのサンプル

ソースコード

【Unity】Unity エディタの文字や背景を好きな色を変えてみる

はじめに wohoo! (editorscript to randomize colors and example shader https://t.co/f3BjwCn7oI ) pic.twitter.com/H2a50UiWxK— mgear (@unitycoder_com) 2018年5月30日 Twitter で Unity エディタの文字や背景を好きな色に変更する方法が紹介されていた…

【Unity】GUI.Button や GUILayout.Button で画像を表示する時に下地を非表示にする方法

概要 GUI.Button や GUILayout.Button で画像を表示する時に 下地を非表示にしたい場合は、 GUI.Button( new Rect( 128, 0, 128, 128 ), m_texture, GUIStyle.none ) GUILayout.Button( m_texture, GUIStyle.none ) このように style 引数に GUIStyle.none …

【Unity】uGUI で ScrollRect の Content のサイズを末尾の子オブジェクトに合わせる方法

概要 例えばこのように ScrollRect に大量のオブジェクトを並べた時に、 ScrollRect の縦幅を末尾の子オブジェクトに合わせたい場合、 Layout オブジェクトに「Content Size Fitter」をアタッチして 「Vertical Fit」を「Preferred Size」を設定して Content…

【Unity】uGUI で子オブジェクトをキレイに整列させる方法

概要 例えば、このように枠の中に2つのテキストを配置した際に、 左右の余白を同じ幅にしたい場合、 親オブジェクトを作成して、 「Horizontal Layout Group」と「Content Size Fitter」をアタッチして、 「Horizontal Layout Group」の「Spacing」に、オブ…

【Unity】タグの名前を変更する方法

はじめに Unity では登録したタグの名前をエディタ上では変更できない?ようなので、 エディタ外からタグの名前を変更する方法を書き残しておきます 手順 Unity プロジェクトのルートフォルダに存在する「ProjectSettings」フォルダ内の 「TagManager.asset…

【Unity】Unity Remote 5 が接続されているかどうか確認する方法

概要 Unity Remote 5Unity Technologies ApSユーティリティ無料 Unity Remote 5 が接続されているかどうかは UnityEditor.EditorApplication.isRemoteConnected このプロパティで確認できます しかし、UnityEditor 名前空間を使用する関係で、 そのまま使う…

【Unity】Unity 2017 でコルーチンの代わりに async / await を使用する

はじめに http://www.stevevermeulen.com/index.php/2017/09/using-async-await-in-unity3d-2017/ この記事は、上記のページで公開されている Unity 2017 でコルーチンの代わりに async / await を使用する方法を翻訳したものになります 目次 はじめに 目次 …

【Unity】Project ビューを右クリックした時に表示される「Extract From Prefab」とは

はじめに Project ビューを右クリックした時に表示される「Extract From Prefab」を使用すると、 FBX のようなモデルデータからマテリアルを抽出することができます 使用例 例えばこのようなモデルデータが存在する場合に、 マテリアルを右クリックして「Ext…

【Unity】ゲーム開始時に乱数のシード値を設定する方法

ソースコード using UnityEngine; public static class Initializer { [RuntimeInitializeOnLoadMethod( RuntimeInitializeLoadType.BeforeSceneLoad )] private static void Init() { Random.InitState( 42 ); } } こんな感じでゲーム開始時に乱数のシード…

【Unity】意図的に Unity を強制終了する「Application.ForceCrash」

概要 using UnityEngine; public class Example : MonoBehaviour { private void Awake() { Application.ForceCrash( 0 ); } } Application.ForceCrash を使用することで、意図的に Unity を強制終了できます

【Unity】ゲーミングマウスを使用してゲーム開発の効率を上げる

概要 Logicool ロジクール MMOゲーミングマウス G600t出版社/メーカー: ロジクール発売日: 2016/04/01メディア: Personal Computersこの商品を含むブログを見る 僕は普段、Unity でゲームを開発する時はゲーミングマウスを使用しています ゲーミングマウスに…

【Unity】【初心者向け】ParticleSystem でコマ送りのエフェクトを再生する方法

はじめに 詳しくは上記のサイト様でも公開されていますが、 こちらでも、ParticleSystem でコマ送りのエフェクトを再生する方法を 備忘録として書き残しておこうと思います 素材 この記事では、上記の「ぴぽや倉庫」様が公開されている 「エフェクトアニメ(…

【Unity】Chrome の拡張機能を使用して、古い Unity ドキュメントを開いた際に自動で最新のドキュメントに切り替える方法

はじめに テラシュールブログさんが紹介されているのですが、 ネットで Unity の情報を検索した際に、 古い Unity ドキュメントのページがヒットしてしまうことがあります この記事では、Chrome の拡張機能を使用して 古い Unity ドキュメントを開いた際に …

【Unity】Transform.SetParent の第2引数に渡す値によって何が変わるか

はじめに m_sphere.SetParent( m_cube, true ); Transform.SetParent の第2引数には bool 値を渡すことができます この bool 値に true、false を渡した時に何が変わるのか書き残しておきます 例 このようにシーンに Cube と Sphere が存在する場合に Cube …

【Unity】開きすぎたサブフォルダの階層は Alt を押しながらクリックするとすべて閉じることができる

概要 このようにサブフォルダの階層を開きすぎてしまい、すべて閉じたい時は Alt を押しながら親フォルダをクリックして閉じると 次に親フォルダを開いた時に、すべてのサブフォルダが閉じた状態になります

【Unity】ファイル名が「~」で終わるフォルダは無視される

概要 ファイル名が「~」で終わるフォルダは Unity では無視されます 他にも、下記のようなファイルやフォルダは Unity で無視されるそうです 隠しフォルダ 「.」で始まるファイルやフォルダ 「~」で終わるファイルやフォルダ 「cvs」という名前のファイルや…

【Unity】uGUI でダブルクリックできるボタンを実装できる「DoubleClickButton.cs」紹介

概要 上記のスクリプトを Unity プロジェクトに導入することで uGUI でダブルクリックできるボタンを実装できるようになります 参考ツイート All you need to add a "Double Click" event to the normal UI button, #oneimagetutorials #unitytips @unity3d …

【Unity】ショートカットキーで Inspector をロックしたりデバッグモードに切り替えたりできるエディタ拡張「LockInspector.cs」紹介

概要 上記のスクリプトを Unity プロジェクトの「Editor」フォルダに導入することで Ctrl + L で Inspector をロック、 Ctrl + K で Inspector をデバッグモードに切り替えが可能になります Unity メニューの「Tools」から実行することも可能です 参考ツイー…

【Unity】ScriptableObject のアイコンを変更する方法

概要 上記のようなコードを記述することで ScriptableObject のアイコンを変更することができます 変更前 変更後 参考ツイート How to show custom icons for your ScriptableObjects. Makes them a lot easier to find :)#UnityTips pic.twitter.com/wdotkM…

【Unity】ゲーム実行中に重力の向きを変更する方法

概要 using UnityEngine; public class Example : MonoBehaviour { private void Start() { Physics.gravity = new Vector3( 0, 9.8f, 0 ); } } 上記のようなコードを記述することで、 ゲーム実行中に重力の向きを変更することができます 参考ツイート You c…

【Unity】意外と知らない?Unity 小技集(36個)

はじめに このブログで紹介してきた、意外と知られていない気がする Unity の小技に関するオススメの記事を36件まとめました 目次 はじめに 目次 エディタ Scene ビュー Hierarchy Project ビュー Inspector サウンド アニメーション その他 エディタ エディ…

【Unity】よく使う .unitypackage をエディタのメニューからインポートできるようにする方法

検証環境 Windows 10 Unity 2017.3.0f3 概要 Unity メニューの「Assets>Import Package」を選択すると 最初は「Custom Package...」しか表示されていないですが、 C:\Program Files\Unity\Editor 上記のフォルダ内に「Standard Assets」という名前のフォルダ…

【Unity】Firefox で Unity のスクリプトドキュメントにコピーボタンを追加する方法

はじめに こちらのサイト様で、 Firefox で Unity のスクリプトドキュメントに コピーボタンを追加する方法が紹介されており 便利だったので、こちらのブログでも紹介させていただきます 使用例 導入方法 https://addons.mozilla.org/en-US/firefox/addon/gr…

【Unity】スマブラのように複数のオブジェクトが画面内に収まるようにカメラを制御する

はじめに この記事では、上記のように複数のオブジェクトが 画面内に収まるようにカメラを制御する方法を紹介していきます ソースコード 使い方 上記のスクリプトを Unity プロジェクトに追加して カメラにアタッチします そして、Targets に、画面内に収め…

【Unity】ドット絵の端に線が表示されてしまう時の対処方法

概要 Unity メニューの「Edit>Project Settings>Quality」を選択して 「Anti Aliasing」を「Disable」に変更する 関連記事

【Unity】シンプルな待機アニメーションを実装する

概要 下記のスクリプトを使用することで、 このようなシンプルな待機アニメーションを実装できます using UnityEngine; public class IdleAnim : MonoBehaviour { public float min = 0.95f; public float max = 1.05f; public float speed = 2; private flo…

【Unity】AnimationState の Speed にマイナス値を入れることで逆再生できる

概要 AnimationState の Speed にマイナス値を入れることで逆再生できます 関連記事

【Unity】Animation ウィンドウで C キーを押すと Dopesheet と Curves の表示を切り替えられる

概要 Animation ウィンドウで C キーを押すと Dopesheet と Curves の表示を切り替えられます 関連記事

【Unity】AudioSource や AudioListener にエフェクトを適用できる6つのコンポーネント

目次 目次 はじめに 参考動画 高い周波数をカット「Audio Low Pass Filter」 低い周波数をカット「Audio High Pass Filter」 エコー「Audio Echo Filter」 ノイズ「Audio Distortion Filter」 リバーブ「Audio Reverb Filter」 コーラス「Audio Chorus Filte…