マニュアル
マニュアルでは、YAUI の概念をトピックごとに説明します。各クラスのメンバーについては API リファレンスを参照してください。
パネル
パネル (YauiPanel) は YAUI のツリーのルートです。パネル自身も要素です。YauiPanel は同じ GameObject に YauiElement を必要とし、その要素がレイアウトのルートのボックスになります。要素は、階層上で最も近い上位のパネルに属します。
要素とスタイル
要素 (YauiElement) は GameObject 上にある UI のボックスです。要素を持つ子は、その内側にレイアウトされ、兄弟の順にその上に描画されます。
レイアウト
YAUI は Yoga の移植版を使い、Flexbox で要素をレイアウトします。CSS の Flexbox や UI Toolkit を知っていれば、そのほとんどをすでに理解しています。レイアウトはワーカースレッド上で Burst を使って実行されます。
テキスト
YauiText はテキストを描画する要素です。UI Toolkit のテキストエンジンである Unity の Advanced Text Generator (ATG) を使い、次の機能を提供します。
画像
YauiImage
クリップとマスク
YAUI には、要素の外にはみ出した子孫の部分を隠す方法が 2 つあります。
入力
YAUI は入力に Unity の EventSystem を使います。ポインターイベント、選択、ゲームパッドやキーボードによるナビゲーション、Input System UI Input Module は、すべて uGUI と同じように動作します。
コントロール
5項目
スクリプティングとアニメーション
セッター
カスタムシェーダー
Uber シェーダーでほとんどの見た目を表現できます。それ以外が必要な場合は、YauiElement.Material にカスタムマテリアルを設定してください。カスタムマテリアルは要素自身のプリミティブ (ボックスと内容。子は含まない) を描画します。
パーティクルとメッシュ
要素が描くのは Quad です。ParticleSystem やそれ以外のメッシュを UI の描画順の中に描くには、YauiCustomDraw の派生コンポーネントを要素に追加します。メッシュは 1 つずつ別のドローコールになり、その前後でプリミティブの描画が分割されます。
カスタム要素
要素は、ボックスの上に独自の内容を、ほかの要素と同じドローコールで描けます。YauiElement を継承し、プリミティブを与えます。プリミティブは Uber シェーダーが描く Quad 1 つで、YauiText のグリフや YauiImage の画像も同じ仕組みで作られています。テキストのように、内容から自分の大きさを決めることもできます。テキストレンダラー、アイコンフォント、チャートなどをパッケージの外で書けます。
パフォーマンス
YAUI は何もしなくても高速です。このページでは、何に時間がかかるか、そしてそれを抑える方法を説明します。uGUI や UI Toolkit との比較はベンチマークを参照してください。
制限事項
YAUI は高速であるために制約を選んでいます。その一部は uGUI と異なります。