コガネブログ

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

【Mac】シェルスクリプトでファイルサーバにファイルをコピーする方法

概要 cp -v XXXX /Volumes/YYYY マウントしているファイルサーバにファイルをコピーしたい場合は /Volumes/YYYY でコピー先のパスを指定すれば良い Finder でコピー先にしたいファイルサーバのフォルダを右クリックして 「"YYYY"のパス名をコピー」を選択す…

【Unity】LineRender と同じメッシュを持つゲームオブジェクトを作成するサンプル

ソースコード public static GameObject Clone( LineRenderer lineRenderer ) { var clone = new GameObject(); var cloneTransform = clone.transform; var lineRendererTransform = lineRenderer.transform; cloneTransform.position = lineRendererTransf…

【Unity】LineRender の頂点のワールド座標を取得する方法

ソースコード public static IEnumerable<Vector3> GetPositionInWorldSpace( LineRenderer lineRenderer ) { var transform = lineRenderer.transform; for ( var i = 0; i < lineRenderer.positionCount; i++ ) { yield return transform.TransformPoint( lineRende</vector3>…

【C#】glob によるパターンマッチングを行う方法

はじめに GitHub で公開されている上記のライブラリを使用すると C# で glob によるパターンマッチングができるようになる 使用例 static クラスを使用する方法 var isMatch = Glob.IsMatch ( input: "Assets/Textures/example.png", pattern: "Assets/Textu…

【C#】glob のパターンマッチングを正規表現で使用する例

C#

概要 var globPattern = "Assets/Textures/*.png"; var pattern = Regex .Escape( globPattern ) .Replace( @"\*", ".*" ) .Replace( @"\?", "." ) ; var isMatch = Regex.IsMatch ( input: "Assets/Textures/example.png", pattern: pattern ); Console.Wri…

【Unity】UnityYAMLMerge でシーンやプレハブのコンフリクトを解消する方法

はじめに UnityYAMLMerge はシーンやプレハブのコンフリクトを 良い感じにマージできる公式のツールです Fork や SourceTree などの Git クライアントのマージツールに UnityYAMLMerge を指定しておくことで、シーンやプレハブが コンフリクトした時のマージ…

【Unity】FastEnum の ToName を使用する時にエラーが出る場合の対応方法

はじめに using FastEnumUtility; using UnityEngine; public class Example : MonoBehaviour { private void Awake() { Debug.Log( KeyCode.Z.ToName() ); } } FastEnum の ToName を使用する時に FileNotFoundException: Could not load file or assembly …

【Unity】AssetPostprocessor.OnPostprocessTexture で Default Preset を反映する例

ソースコード using System.Text.RegularExpressions; using UnityEditor; using UnityEditor.Presets; using UnityEngine; public sealed class Example : AssetPostprocessor { private static readonly Regex GLOB_REPLACE_PATTERN = new Regex( @"^glob:…

【Unity】MessagePack の KeyAttribute を自動で付与できる MessagePackAnalyzer の使い方

概要 MessagePack のリポジトリの Releases のページから 「MessagePackAnalyzer.vsix」をダウンロードして ダウンロードが完了したら「MessagePackAnalyzer.vsix」を起動して Visual Studio にインストールします 後は、上記のように MessagePackObjectAttr…

【Unity】公式パッケージで iOS 14 の App Tracking Transparency に対応する方法

はじめに Unity 公式の「iOS 14 Advertising Support」をインストールすることで iOS 14 の App Tracking Transparency に簡単に対応できるようになります この記事では「iOS 14 Advertising Support」を使用して iOS 14 の App Tracking Transparency に対…

【Unity】Unity 2020 から便利になった Preset Manager を使ってみる

はじめに Unity 2020 からは Preset や Preset Manager が便利になりました アセットの Preset の場合は、どのフォルダのアセットに どの Preset を反映するか設定できるようになった Preset の一部のパラメータのみを反映できるようになった この記事では P…

【Unity】UnitGenerator の基本的な使い方

はじめに この記事では UnitGenerator の基本的な使い方を紹介していきます 目次 はじめに 目次 検証環境 使い方 トラブルシューティング 参考サイト様 検証環境 Unity 2020.3.13f1 UnitGenerator 1.0.0 使い方 Unity プロジェクト直下に「UnitSourceGen」フ…

【Unity】CsprojModifier と BannedApiAnalyzers を使用して、特定の関数が使われていたら警告を表示線してみる

はじめに CsprojModifier と BannedApiAnalyzers を使用することで 特定の関数が使われていたら警告線を表示できるようになります 例えば、プロジェクトにおいてチームメンバーに 重たい Unity の API を使用してほしくない時などに役に立ちます この記事で…

【Unity】無料で Hierarchy を拡張できる「Smart Hierarchy for Unity」紹介

はじめに 「Smart Hierarchy for Unity」を Unity プロジェクトに導入することで 無料で Hierarchy を拡張できます 使用例 各ゲームオブジェクトのアイコンがコンポーネントのアイコンに変化します マウスカーソルを合わせているゲームオブジェクトに アクテ…

【VSCode】制限モードを無効化する方法

概要 VSCode の上記の制限モードを無効化したい場合は 「歯車アイコン > 設定」を押して 「セキュリティ」を押して「Trust: Enabled」のチェックを外して 再起動します これで制限モードを無効化できます