UIToolkit
ランタイムで使う
チュートリアル
とっかかりがむずいので↓をフォローすると良い
Scene上ではUIDocumentコンポーネントを付けてこれにuxmlファイルをアタッチする
C#からの操作はUIDocumentコンポーネントを通してrootVisualElementを取得して...という流れになる
これも読むと良さそう
Prefabを使う場合はPrefabにUIDocumentをつける
Prefab単位でuxmlをつくる感じ
Flexbox
フォント
TMPは使えないがSDFフォントアセットは使える(はず)
ttfまたはotfをインポートした後にFontAssetを作成する必要がある
TMPのFontAssetとは別で、インポートしたフォントファイルとも別物なので注意
フォントファイルを右クリックしてCreate > TextCore > FontAsset
SDF、Bitmap、Colorが選べる
ASCIIで十分な場合はstaticなSDFを作っておけばよいのではなかろうか
ドラッグ
VisualElementの座標系をAbsoluteにしないと駄目
Painter2D
ベジェ曲線
ビルトインのコントロールの見た目を編集する
UnityDefaultRuntimeTheme.tss をインポートする場合
対象のSliderに.my-slider のようなクラスを当てる
Sliderが自動で生成する子要素のスタイルを変更するには .my-slider > Label とかを書かないと駄目で結構大変
https://www.youtube.com/watch?v=pUFG1u6dNQ4
> を使った方がパフォーマンス的には良いらしい
インポートしない場合
Unityが定義したクラスをコピペしてきて改造する、というのでもできそう
Sliderが自動生成するコンポーネントに適用されるクラスを変更する
Sliderを継承したクラスを用意して生成時に子要素のクラスをClearしてから自前のクラスをAddするとよさそう