(:3[kanのメモ帳]

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

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発した新作VRソフトです!


ゲームビューの最大化は実行中であってもなくとも簡単に切り替えられる【Unity】

この記事でのバージョン
Unity 2021.1.23f1


はじめに

Unityのゲームビュー(Game View)にあるMaximize On Playを有効にしていると

f:id:kan_kikuchi:20211025084125j:plain


再生と同時にゲーム画面が最大化して、再生が終わると同時に戻りますが、

f:id:kan_kikuchi:20211025084610g:plain


実はゲームビューの「Game」というタブを右クリックすると開けるメニューにある

Maximizeを押す事で実行中であってもなくとも最大化を切り替える事が可能です。

f:id:kan_kikuchi:20211025084728j:plain


ちなみに最大化前にウィンドウを別にしておけば、

最大化されたゲームビューとは別に表示する事も出来たりします。

f:id:kan_kikuchi:20211025084542j:plain



Unity2021.1からPackage ManagerにPreview版が無くなった件と、Experimentalなパッケージを手動でインストールする方法【Unity】

この記事でのバージョン
Unity 2020.3.17f1
Unity 2021.1.23f1


はじめに

Unity2021.1以前のPackageManagerにはPreview版という

正式リリースされていない(されないかもしれない)パッケージも簡単にインストールする事が出来ました。

f:id:kan_kikuchi:20211014140343j:plain


しかし、なんとUnity2021.1からは

このPreview版をPackageManagerからは直接インストール出来なくなりました。

なお、代わりにPre-releaseという物が表示されるようになりましたが、

これはPreview版に対応する物ではありません。

f:id:kan_kikuchi:20211014140519j:plain



なぜPreview版がなくなったか

続きを読む

Inspector上で指定した物からドロップダウンで選ばせる ValueDropdown【Unity】【Odin】

この記事でのバージョン
Unity 2021.1.16f1
Odin - Inspector and Serializer 3.0.9


はじめに


今回はInspectorを圧倒的に使いやすくするOdin

Odin - Inspector and Serializer | Utilities Tools | Unity Asset Store


ValueDropdownというInspector上で指定した物からドロップダウンで選ばせる属性の紹介です!

f:id:kan_kikuchi:20211008075324g:plain



ValueDropdown

続きを読む

Riderならブレークポイントに条件や依存先を設定するのも簡単【Unity】【エディタ】【JetBrains Rider】

この記事でのバージョン
Unity 2021.1.23f1
JetBrains Rider 2020.3.4


はじめに

Unityでも使える便利なエディタにRiderというものがあるのですが、



今回はそのRider上でブレークポイントの操作をしてみようという感じの記事です!

f:id:kan_kikuchi:20211011155230j:plain


なお、Riderでは指定した行に来たら処理を停止するいわゆる普通のブレークポイントはもちろん、

一定の条件の時にしか止まらない物や他のブレークポイントに依存する物も簡単に設定できます。

f:id:kan_kikuchi:20211011160123j:plain



ブレークポイントの基本設定

続きを読む

Unityの機能だけでローポリ3Dモデルを簡単に滑らかにする方法【Untiy】

この記事でのバージョン
Unity 2021.1.23f1


はじめに

今回はカクカクしたいわゆるローポリの3Dモデルを

Unityの機能だけを使って滑らかにしてしまう方法の紹介です!

f:id:kan_kikuchi:20211008200335g:plain


なお、記事中では以下のアセットを使っています。

Low Poly Ultimate Pack | 3D Props | Unity Asset Store



ローポリ3Dモデルを滑らかにする方法

続きを読む

小数の桁数を指定して文字列にする際に右端を0にしない方法【C#】

はじめに

C#で小数を含んだ値を文字列にする場合、以下のように簡単に桁数を指定する事が出来ますが、

(※Unity上で動かしているので、ログの表示にDebug.Logを使っています。)

//てきとうな小数点を含んだ値
float value = 0.123456789f;

//小数点を3桁目まで文字列化
Debug.Log(value.ToString($"F3"));

//↓みたいな形でも可
//Debug.Log($"{value:F3}");
f:id:kan_kikuchi:20211006114323j:plain


指定した桁数に足りない場合は自動で0が追加されてしまいます。

//てきとうな小数点を含んだ値
float value = 0.1f;

//小数点を3桁目まで文字列化(1桁しかないので0が2つ足される)
Debug.Log(value.ToString($"F3"));
f:id:kan_kikuchi:20211006114406j:plain


桁数を揃えたい場合はこれで問題ないですが、意味のない0を表示したくない場合もあります。

そんな時はTrimEndを使うと簡単に右端の0を消す事が出来ます。

//てきとうな小数点を含んだ値
float value = 0.123456789f;

//小数点を3桁目まで文字列化
Debug.Log(value.ToString($"F3"));

//別のてきとうな小数点を含んだ値
value = 0.1f;

//小数点を3桁目まで文字列化するが、右端の0は削除
Debug.Log(value.ToString($"F3").TrimEnd('0'));
f:id:kan_kikuchi:20211006120237j:plain


余談ですが、逆に0を追加したい場合はPadLeftやPadRightが使えます。





参考




RectTransformのサイズ変更を検知する OnRectTransformDimensionsChangeAsObservable【Unity】【uGUI】【UniRx】


この記事でのバージョン
Unity 2021.1.16f1
UniRx - Reactive Extensions for Unity 7.1.0

はじめに

UnityでUIを実装する際にLayout Groupを使ってUIのサイズを自動調整する事がよくありますが、

今回はそのRectTransformのサイズが変わったタイミングを

UniRxを使って検知してみようという感じの記事です!

f:id:kan_kikuchi:20210930151045g:plain


なお、そもそも「UniRxがよく分からん」という方は以下の記事を参照の事。



また、記事中では以下のアセットを使っています。

Clean & Minimalist GUI Pack | 2D GUI | Unity Asset Store



OnRectTransformDimensionsChangeAsObservable

続きを読む

Inspectorに表示されるenumの要素名を変更したり一部非表示にしたりする InspectorNameAttribute【Unity】【属性】

この記事でのバージョン
Unity 2021.1.16f1


はじめに

Unityではenumの変数をInspectorに表示すると自動的にプルダウンになります。

ちなみに頭文字が小文字でもアンダーバーを付けていても頭文字は大文字になります。

//てきとうなenum
public enum ColorType {
  Red, 
  blue, //Inspector上ではBlue
  _green //Inspector上ではGreen
}

//Inspector上ではプルダウンで表示される
public ColorType _colorType;
f:id:kan_kikuchi:20210928203112g:plain


今回はそんなInspector上でのenumの要素の表記を変える方法の紹介です!

f:id:kan_kikuchi:20210928203209g:plain



InspectorNameAttribute

続きを読む

Inspectorに表示されている変数を条件に合わせて非表示にしたり、変更出来ないようにする【Unity】【Odin】

この記事でのバージョン
Unity 2021.1.16f1
Odin - Inspector and Serializer 3.0.9


はじめに

Unityでは変数をpublicにしたり、SerializeFieldという属性を付けると

Inspector上で値の確認及び変更が出来るようになりますが、

public int Value = 1;

[SerializeField]
private string _text = "てきすと";
f:id:kan_kikuchi:20210924135318j:plain


今回はOdinという言わずと知れた人気アセットを使って、

Odin - Inspector and Serializer | Utilities Tools | Unity Asset Store


これらのInspectorに表示されている変数を

条件に合わせて非表示にしたり、変更出来ないようにする方法の紹介です!

f:id:kan_kikuchi:20210924142647g:plain


ちなみに常に非表示にしたい場合はHideInInspector(Unityの属性)

常に変更出来ないようにするにはReadOnly(Odinの属性)を使います。

[HideInInspector]//常に非表示
public string Text = "テキスト";
[ReadOnly]//常に変更出来ないように
public bool Flag = true;]
f:id:kan_kikuchi:20210924143030j:plain



ShowIfとEnabledIf

続きを読む