NeosVRの日本語Wiki


UIX

高パフォーマンスなUIを作成できるフレームワーク。
要は「軽い」。

Neos VR内の多くのUI(インスペクター・インベントリ・コンテキストメニュー・その他)はUIXで構成されている。

UIXの作り方


DevToolを使用してCreate new→Object→NeosUI→Panelを作成する。
これをInspectorで開くとContentというSlotにCanvasというコンポーネントが入っている。

Contentの子にSlotを追加し、そこにUIX関連のコンポーネントを入れることでUIを作っていく。

Canvas


UIXの土台となるコンポーネント。
ここでUI全体のサイズやタッチ方式の設定ができる。

Graphics

DualColorImage
Image

単色、または画像を表示する。
Sprite画像を表示する場合、SpriteProviderを指定する
Materialマテリアルを指定する(nullの場合デフォルトのUI Unlitが使用される)
Tint色合い
PreserveAspect画像を表示する場合、アスペクト比を保持する
InteractionTarget
Mask

Imageと同じSlotにつけて使用する。
子のSlotの表示を同じSlotのImageでマスクする。

ゴミ箱のアイコンでマスクした例
OutlinedArc

アウトライン付きの円弧を描画する。
ArcArcの角度
OffsetArc開始点の角度
OuterRadiusRatioRectに対する外径の比率
InnerRadiusRatioRectに対する内径の比率
FillColor塗りの色
OutlineColorアウトラインの色
OutlineThicknessアウトラインの太さ
Materialマテリアル(nullの場合初期設定のUI Unlitが使用される)
RawImage
Text

テキストを表示する。
Fontフォント
Content表示する文字列
ParseRichTextリッチテキストを使用する(<b><color>などによる装飾)
NullContentContentがNullのときに表示する文字列
Size文字サイズ
HorizontalAlign横揃えの位置
VerticalAlign縦揃えの位置
AlignmentMode
Color文字色
LineHeight行の高さ
MaskPattern
HorizontalAutoSize横幅に応じてサイズを自動調整する
VerticalAutoSize縦幅に応じてサイズを自動調整する
AutoSizeMinサイズ自動調整の下限
AutoSizeMaxサイズ自動調整の上限
CaretPosition現在キャレット(入力カーソル)が置かれている位置
SelectionStart文字選択がされている場合、選択が開始された位置
CaretColorキャレットの色
SelectionColor文字選択の色
TiledRawImage

Interaction

Button

Slotの要素をボタンにする。
ImageやOutlinedArcと同じSlotにつけて使用する。
ボタンを押した情報はLogiXのButtonEventノードでも取得できる。
BaseColorボタンの基本色
ColorDrive色をドライブする対象
TintColorMode色を変更する方法
NormalColor通常時の色
HighlightColorレーザーを当てたときの色
PressColor押し下げ中の色
DisabledColorButtonコンポーネントのEnabledがFalseになっているときの色
IsPressed押されているときTrueになる
IsHoveringレーザーが当たっているときTrueになる
HoverVibrateレーザーが当たったときのバイブレーションの長さ
PressVibrate押されたときのバイブレーションの長さ
ClearFocusOnPress
PassThroughHorizontalMovement
PassThroughVerticalMovement
RequireInitialPress
PressPoint押されたときの座標
Pressed
Released
HoverEnter
HoverLeave
Checkbox
Expander
ReferenceRadio<T>
ScrollRect
Slider
ValueRadio<T>

値を選択できるラジオボタンを作成する。
複数設置し、TargetValueが同じものを参照している各ValueRadioが一組のラジオボタンとして扱われる。
CheckVisual選択されているときに表示する画像(ValueRadioの子SlotにImageを入れ、そのEnabledをここに設定する)
OptionValue選択されたときにTargetValueの参照先に設定する値
TargetValue値を設定する対象

Layout

ArcLayout

OutlinedArc用のレイアウトコンポーネント。
ArcLayoutをつけたSlotの子SlotにOutlinedArcを付けて使用する。
ArcArcの角度
OffsetArc開始点の角度
SeparationOutlinedArc同士の間隔
CenterAtSeparationSeparationの中心をArc開始点にする
ProportionalSize
ItemDirectionアイテムの並び順(時計回り/反時計回り)
ArcSegmentLayout
AspectRatioFitter
ContentSizeFitter
GridLayout

子の要素を格子状に並べる。
PaddingTop/Right/Bottom/Left上下左右の余白
CellSize各要素のサイズ
Spacing要素同士の余白
HorizontalAlign横の位置揃え
VerticalAlign縦の位置揃え
HorizontalLayout

子の要素を横に並べる。
PaddingTop/Right/Bottom/Left上下左右の余白
Spacing要素同士の余白
HorizontalAlign横の位置揃え
VerticalAlign縦の位置揃え
ForceExpandWidth子の要素の横幅を強制的に親に合わせる
ForceExpandHeight子の要素の縦幅を強制的に親に合わせる
IgnoreLayout
LayoutElement
VerticalLayout

子の要素を縦に並べる。
PaddingTop/Right/Bottom/Left上下左右の余白
Spacing要素同士の余白
HorizontalAlign横の位置揃え
VerticalAlign縦の位置揃え
ForceExpandWidth子の要素の横幅を強制的に親に合わせる
ForceExpandHeight子の要素の縦幅を強制的に親に合わせる

Utility

RectSlotDriver
UIX要素の位置をSlotのTransformに反映させる。
LogiXからUIX要素の座標を取得したいときに便利。

メンバーのみ編集できます