2020-01-01から1年間の記事一覧
Mac から Unity の PackageManager で github のリポジトリを追加してみたところ エラーが発生してしまい、リポジトリを追加できませんでした Cannot perform upm operation: Unable to add package [http://github.com/yayorozu/UnityCustomInspector.git]:…
自作ライブラリを PackageManager で利用できるように対応したところ下記 Waring が出ていました Script 'Packages/*.cs' will not be compiled because it exists outside the Assets folder and does not to belong to any assembly definition file. Warn…
const string format = "\"{0}\": {\n"; string.Format(format, sample); としたときに Format の指定が間違っているエラーが出て変換できなかった FormatException: Input string was not in a correct format. \", \', \n, \\ などエスケープできるのは知…
TextField で入力制限をしたかったので作成、入力のたびに判定したかったがうまく行かなかったのでDelayedTextField を利用している using System.Text; using System.Text.RegularExpressions; using UnityEditor; using UnityEngine; public static class …
個別に git の ignore ファイルを追加したい場合 git config --global core.excludesFile FileName を実行することで追加できる 例えば Homeにある .gitignore_global を追加してあげる場合は下記を実行します git config --global core.excludesFile ~/.git…
package.json に下記を追加することで、リポジトリにサンプルを追加できる "samples": [ { "displayName": "Sample", "description": "Simple", "path": "Samples/Sample1" } ] サンプルの追加先は Assets/Samples/{displayName}/{versin}/{samples.displayN…
PackageManager に git リポジトリを追加する場合、そのリポジトリに package.json が存在する必要があります もし、package.json が無い場合は下記エラーで追加することができません Cannot perform upm operation: Unable to add package [git@github.com:…
現象 ボタンを押した際に 縮小->拡大のリアクションをつけた場合 押した場所が縮小した際にボタンから出てしまうと、下動画のようにピクピクしてしまう 上記の動作をするスクリプトは以下になる public class ButtonTest : Button { // 縮小させる private v…
github.com 自作ライブラリを PackageManager で利用できるようにするためには、package.json が必要になり 毎回以前のものを参考にして作成するのが面倒になったので、簡単に作成できるようなツールを作りました 連想配列のシリアライズが出来ないので、ロ…
ボタンを押すと VisualElement を追加削除する EditorWindow のサンプルです uxml を利用しておらずすべてスクリプトだけで記述しています using UnityEditor; using UnityEngine; using UnityEngine.UIElements; public class SampleWindow : EditorWindow …
Prefab Mode で利用できる イベントをまとめました ※ Experimental なので今後利用できなくなる可能性があります Prefab を Scene 上で編集したあとに Override してもこちらのイベントは呼ばれません using UnityEngine; using UnityEditor; using UnityEdi…
UI Elements は 親の形で Mask することができる しかしながら、画像で Mask することができずRadius のみが有効なので 四角形もしくは角丸でしか Mask できません もしかしたら今後は可能になるかもしれませんが、1.0.0-preview.9 ではできませんでした や…
Edit / Project Settings / Editor に Prefab Editing Environments があり ここにシーンを指定することで Prefab Mode で Prefab を開いた際のシーンを指定できる Regular Environment 通常の Prefab を開いた際のシーン 例えばこのようなシーンを設定する…
LayoutGroup は便利ですが、公式にも重いため最適化するためには利用は避けようと記述されています Some of the best optimization tips for Unity UI - Unity 理由としては上記リンクに書いている通りですがどういった処理をしているのか見ていきます OnRec…
UIElements の Style 周りのパラメータを書き換える場合、Structなので直接値を変更できない そのため フォントサイズの変更であれば以下のように記述する必要がある var ve = new VisualElement(); var c = ve.style.fontSize; var c2 = c.value; c2.value …
DoTween で Tween を再利用するために下記のようなコードを書いたところ 1度しか再生できないという現象が発生した using UnityEngine; using DG.Tweening; using UnityEngine.UI; public class SampleMonoBehaviour : MonoBehaviour { [SerializeField] pri…
新しいPC に Rider を入れたところ「cannot find declaration to go to」と表示され参照が追えなかった 設定を見たところ、 Preference / Build, Execution, Deployment / Toolset and Build / Mono executable path が空になっていた ※画像は設定後のもの …
どこで使えるかわかりませんが、スクリプトを右クリックで #if UNITY_EDITOR を追加する拡張を作成しました public static class AddIf { [MenuItem("Assets/Add if UNITY_Editor")] private static void AddEditorDefine() { var guids = Selection.assetGU…
VisualElement の 生成タイミングでサイズを取得してみると NaN になり正しいサイズが取得できない 例えば下記のコードを試してみる public void OnEnable() { var root = rootVisualElement; var e = new VisualElement(); root.Add(e); var label = new La…
Unity2020.1 で Asset Store を開いたところ 2020.1 から PackageManager で 購入したアセット一覧を見れるから Asset を探すのは ブラウザでしてくださいとの表示がされていた 個人的には Unity の AssetStore は見づらかったのでこの対応は嬉しい PackageM…
Unity2020 未満の PackageManager では Preview 版をインストールするには PackageManager に Preview 版を表示するオプションがあった しかし Unity2020 からは 以前設定できた箇所には Preview 版を表示するオプションが無い Preview 版を表示するオプショ…
使い方 Hierarchy の オブジェクトを右クリックすると 「CopyPath」が出てくるので それを選択するとルートからのパスを取得できる 例えば下図のオブジェクトのパスをコピーすると Main Camera/Root/Path/Item になる コード using System.Text; using Unity…
PreferenceItem を使おうと思ったら obsolete になっていたため 推奨されている SettingsProvider についてまとめる /// <summary> /// <para>(Obsolete: use the SettingsProvider class instead) The PreferenceItem attribute allows you to add preferences sections to</para></summary>…
使い方 テクスチャをセットすると現在のサイズがセットされるので 変更したいサイズに変えて「Resize」を押すだけ Bilinear で変換しているだけなので、正しい変換かと言われると微妙な処理だが、パット見は問題なさそう コード using UnityEditor; using Un…
テクスチャの透過変換を他のサイト等で行うのが面倒だったので もしや Unity でできるのではと思い作成してみました 変換サンプル 例えばいらすとやさんの画像を肌色っぽいところを閾値0.1で透過に変換すると このように変換できます コード using UnityEdit…
仮画像を作成したいときなど、仮画像と分かるようになにかしら対応をしたい そんなときに利用できるツールを作成しました 使い方 変換したいテクスチャを Project Window で右クリックして Texture/Nage を選択すると変換できます 変更例 コード using Unity…
UI Toolkit では experimental ですが、 Position や Rotation などを Tween させる機能があり ※ Version 1.0.0-preview.9 現状は Layout TopLeft Size Scale Position Rotation を Tween させることができます 動かし方 Position の場合 VisualElement.expe…
この記事では、uxml を使わずにスクリプトを使って CustomEditor を作成する方法を記述します CustomEditor で UIElements を利用するには CreateInspectorGUI を override する必要があります using UnityEditor; using UnityEditor.UIElements; using Unit…
UI Builder を利用して Horizontal に配置するには Direction を row にすることでできます row に変更後 設定した VisualElement の子になにか要素を置いてみると Horizontal になっていることが確認できます しかし、左上によってしまっているので位置を変…
UIBuilder では VisualElement に独自の変数があった場合は Inspector に表示される Label の場合は Text の領域が表示され、変更することで表示される文字も変更される Name から Focusable までは VisualElement で定義されている変数なので、どの要素に対…