コガネブログ

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

2018-01-01から1ヶ月間の記事一覧

【Unity】六角形のタイルを生成できる「UnityHexGrid」紹介

はじめに 「UnityHexGrid」を Unity プロジェクトに導入することで 六角形のタイルを生成できるようになります 使用例 使い方 空のゲームオブジェクトに「Grid」をアタッチして 各種パラメータを設定してから「Generate Hex Grid」ボタンを押します 関連記事

【Unity】オーディオのビートとスペクトラムを検知できる「Unity-Beat-Detection」紹介

はじめに 「Unity-Beat-Detection」を Unity プロジェクトに導入することで オーディオのビートとスペクトラムを検知できるようになります 使い方 using UnityEngine; public class Example : MonoBehaviour { public AudioProcessor processor; private voi…

【Unity】色の設定ウィンドウのプリセットに Web セーフカラーを追加するエディタ拡張

はじめに この記事では上記のように、色の設定ウィンドウのプリセットに Web セーフカラーを追加するエディタ拡張を紹介していきます ソースコード 使い方 上記のソースコードを Unity プロジェクトの「Editor」フォルダに追加して Unity メニューの「Tools>…

【おすすめスライド】「初心者向けゲームジャム攻略法」

【Visual Studio】オススメの操作や設定まとめ(27個)

はじめに このブログで紹介してきた Visual Studio のオススメの操作や設定を27個まとめました オススメ よく使うショートカットキー(ホットキー)まとめ 操作方法 Ctrl + G で指定した行に移動できる ウィンドウを縦に分割して表示する 必要な using の定…

【Unity】マリオオデッセイで冷たい水に入った時のような画面演出「Frost Effect」紹介(無料)

概要 2012/11/16 に「Frost Effect」がリリースされました 「Frost Effect」はマリオオデッセイで冷たい水に入った時のような画面演出です 検証環境 Unity 2017.3.0f3 Frost Effect 1.1 スクリーンショット クイックスタート シーンに配置されているカメラを…

【Unity】関数を連結して実行できる「ChainedWorks」紹介

はじめに https://bitbucket.org/snippets/Lordinarius/8rnLn/chainedworks 上記のサイト様が公開されている「ChainedWorks」を使用することで 関数を連結して実行できるようになります 使用例 using UnityEngine; public class Example : MonoBehaviour { p…

【Unity】カメラの cullingMask を設定できる拡張メソッド「CameraExtensions.cs」紹介

ソースコード 使用例 // 指定したレイヤーを表示 camera.LayerCullingShow( "UI" ); // 指定したレイヤーを非表示 camera.LayerCullingHide( "UI" ); // 指定したレイヤーの表示/非表示を反転 camera.LayerCullingToggle( "UI" ); // 指定したレイヤーを表示…

【Unity】SceneAsset の Inspector にシーンのプレビュー画像を表示するエディタ拡張「ScenePreview」紹介

はじめに 上記のサイト様が公開されているスクリプトを Unity プロジェクトの「Editor」フォルダに導入することで SceneAsset の Inspector にシーンのプレビュー画像を表示できるようになります ソースコード(転載) 使用例 使い方 Unity プロジェクトに「…

【Unity】Unity 2018.1.0b2 新機能「Show Timestamp」

概要 Unity 2018.1.0b2 から、Console ウィンドウで ログが出力された時間を表示できるようになりました 使用例 デフォルトではこのような表示ですが、 Console ウィンドウ右上の三本線のアイコンをクリックして、 「Show Timestamp」を選択すると、 ログが…

【Visual Studio】Shift + Alt + ↑ や Shift + Alt + ↓ を押すとコードを矩形選択できる

概要 Shift + Alt + ↑ や Shift + Alt + ↓ を押すとコードを矩形選択できます コードを矩形選択すると、コードの位置を調整しやすくなります 関連記事

【Visual Studio】Alt + ↑ や Alt + ↓ で行を移動できるようにする

はじめに Visual Studio 2017 では Alt + ↑ や Alt + ↓ で 行を移動できなくなった?みたいなので、 できるようにする方法を書き残しておきます 方法 Visual Studio メニューの「ツール>オプション」を選択します 左のメニューで「キーボード」を選択して 入…

【Unity】シンプルなアセットバンドルマネージャ「XAsset」紹介

はじめに 「XAsset」はシンプルなアセットバンドルマネージャです サンプルシーン 「XAsset」フォルダ内の「test」シーンを開いてゲームを再生すると アセットバンドルの読み込みのサンプルを確認できます アセットバンドルの作成 Unity メニューの「Assets>…

【おすすめスライド】「ゲームジャムに使える! いろんな素材サイトとライセンスに関するご注意」

【雑記】Unity の技術ブログを始めて5年目になったのでアクセス数とか振り返りとか

振り返り 2013/12/6 にこのブログを始めてから、5年と1ヶ月半が経過しました 最近では、平日のアクセス数が4,000~6,000と 多くの方が見に来てくださっていて嬉しい限りです その内の90%の方は、検索エンジンから来ているみたいなので、 Unity や C# でわか…

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

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

【Unity】3D や 2D のフリーのアセットがセットになった「superpowers-asset-packs」紹介

はじめに 「superpowers-asset-packs」をダウンロードすると 3D や 2D のフリーのアセットが使用できるようになります ダウンロード 下記のページにアクセスします https://sparklinlabs.itch.io/superpowers 「Download Now」ボタンを押します 「No thanks,…

【Unity】水、氷、溶解、草などのシェーダの作り方が紹介されているサイト様

はじめに https://lindseyreidblog.wordpress.com/all-tutorials/ 上記のサイト様で水、氷、溶解、雪、草などのシェーダの作り方が紹介されています また、シェーダの完成品は下記の GitHub で公開されています ページ一覧 水:https://lindseyreidblog.word…

【Unity】5つのシェーダがセットになった「Shaders」紹介

はじめに 「Shaders」を Unity プロジェクトに導入することで 5つのシェーダが使用できるようになります BetterTransparentDiffuse.shader 半透明なオブジェクトを綺麗に表示するシェーダ Silhouette.shader 他のオブジェクトに隠れている時にシルエットを表…

【Unity】半透明オブジェクトのアウトラインシェーダ「Unity-Outline」紹介

はじめに 「Unity-Outline」は半透明オブジェクトのアウトラインシェーダです 使用例 使い方 マテリアルの Shader に「ModelEffect/VerticsOutline」を設定します 関連記事

【Unity】2D の水面シェーダ「2D Water surface in Unity3D」紹介

はじめに 「2D Water surface in Unity3D」は 2D の水面シェーダです 使用例 使い方 「Water2D Surface」プレハブをシーンに配置します 関連記事

【Unity】色相彩度調整シェーダ「HSV Shader for Unity」紹介

はじめに 「HSV Shader for Unity」は色相彩度調整シェーダです 使用例 1つのテクスチャから様々な色合いのスプライトを描画できます 使い方 マテリアルの Shader を「Custom/HSLRangeShader」に設定します 関連記事

【Unity】Inspector でパラメータを右クリックして GetComponent 系の関数を実行できるエディタ拡張

ソースコード 使用例 using UnityEngine; public class Example : MonoBehaviour { public Transform transform; public SphereCollider sphereCollider; public BoxCollider[] boxColliders; } 「ContextualPropertyMenuManager.cs」を Unity プロジェクト…

【Unity】SceneAsset の Inspector でシーン情報を表す文字列をコピーできるようにするエディタ拡張

ソースコード 使用例 「SceneAssetEditor.cs」を Unity プロジェクトの「Editor」フォルダに導入することで SceneAsset の Inspector に「Copy」ボタンが追加され、 シーン情報を表す文字列をコピーできるようになります また、テキストエリア内を選択するこ…

【Unity】TextAsset の Inspector でテキストをコピーできるようにするエディタ拡張

ソースコード 使用例 変更前 変更後 「TextAssetEditor.cs」を Unity プロジェクトの「Editor」フォルダに導入することで TextAsset の Inspector に「Copy」ボタンが追加され、 テキストをコピーできるようになります また、テキストエリア内を選択すること…

【Unity】Inspector のパラメータの欄に GetComponentInChildren ボタンを追加する Attribute

ソースコード 使い方 using UnityEngine; public class Example : MonoBehaviour { [GetComponentInChildren] public BoxCollider collider; [GetComponentInChildren] public Rigidbody rigidbody; } スポイトボタンを押すと、 子オブジェクトから対象のコ…

【Unity】Inspector のパラメータの欄に GetComponent ボタンを追加する Attribute

ソースコード 使い方 using UnityEngine; public class Example : MonoBehaviour { [GetComponent] public Transform transform; [GetComponent] public Example example; } スポイトボタンを押すと、 ゲームオブジェクトから対象のコンポーネントを GetComp…

【Unity】SerializedProperty の型名を取得する関数

ソースコード using System.Text.RegularExpressions; using UnityEditor; public static class MyEditorUtils { public static string GetPropertyType( SerializedProperty property ) { var type = property.type; var match = Regex.Match( type, @"PPtr…

【Unity】GetComponentsInChildren で引数の型情報を文字列で渡せるようにする拡張メソッド

ソースコード using UnityEngine; public static class GameObjectExt { public static Component[] GetComponentsInChildren( this GameObject self, string type, bool includeInactive ) { return self .GetComponentsInChildren<Transform>( includeInactive ) .Sel</transform>…

【Unity】GetComponentInChildren で引数の型情報を文字列で渡せるようにする拡張メソッド

ソースコード using UnityEngine; public static class GameObjectExt { public static Component GetComponentInChildren( this GameObject self, string type, bool includeInactive ) { var com = self.GetComponent( type ); if ( com != null ) return …