2021/05/26 のアップデートで独自のコンテキストメニュー追加を行うコンポーネントが実装されました。
メニューに表示されるアイコン
Assets/SpriteProviderのコンポーネントを追加し、Spriteに指定。
SpriteProviderの中のTextureに好きな画像を設定するのが楽だと思います。
ユーザーの子であれば表示されるようになるため、
掴んでいる、アバターの中に仕込む
等が条件でメニューに追加して表示されるようになる。
Assets/SpriteProviderのコンポーネントを追加し、Spriteに指定。
SpriteProviderの中のTextureに好きな画像を設定するのが楽だと思います。
ユーザーの子であれば表示されるようになるため、
掴んでいる、アバターの中に仕込む
等が条件でメニューに追加して表示されるようになる。
上記メインメニューを追加したうえで、
コンポーネント
Radiant UI/Context Menu/ContextMenuSubMenu
を追加。
ItemsRootにサブメニューの親にしたいRootContextMenuItemのコンポーネントが入ったスロットを指定。
次にそのSlotの子に空のスロットを作成し、
コンポーネント
Radiant UI/Context Menu/ContextMenuItemSource
を追加。
あとはメインメニュー追加と同じように作成すると、サブメニューの作成が可能。
コンポーネント
Radiant UI/Context Menu/ContextMenuSubMenu
を追加。
ItemsRootにサブメニューの親にしたいRootContextMenuItemのコンポーネントが入ったスロットを指定。
次にそのSlotの子に空のスロットを作成し、
コンポーネント
Radiant UI/Context Menu/ContextMenuItemSource
を追加。
あとはメインメニュー追加と同じように作成すると、サブメニューの作成が可能。
ノードブラウザから
Interaction/ButtonEvents
を追加。
ノードの左端と、ContextMenuItemSourceのインタフェースノードを繋げば各種操作に対応した制御をおこなうことが出来る。
Interaction/ButtonEvents
を追加。
ノードの左端と、ContextMenuItemSourceのインタフェースノードを繋げば各種操作に対応した制御をおこなうことが出来る。
コンテキストメニューに独自の項目を追加してカスタムする方法を調査中。
他の方が制作したツールの中身を解析して作り方を調査。
記事も現状は完全に自分用です。
rhenium氏制作のカスタムメニューインストーラーというものも既にあり
いくつかの機能拡張が出来るようになっている。
他の方が制作したツールの中身を解析して作り方を調査。
記事も現状は完全に自分用です。
rhenium氏制作のカスタムメニューインストーラーというものも既にあり
いくつかの機能拡張が出来るようになっている。
追加する際の大枠の流れ
コンテキストメニュー用Arcの作り方
基本Slotの作成
Textのコンポーネント設定
コンポーネントの追加
UIX>RectTransform
UIX>Graphics>Text
Assets>Materials>Text>UI_TextUnlitMaterial
UIX>Graphics>Text
Assets>Materials>Text>UI_TextUnlitMaterial
UIX>RectTransform
追加したデフォルト値のまま特に変更しない。
UIX>Graphics>Text
Content:メニューに表示したいテキスト?
Imageのコンポーネント設定
コンポーネントの追加
UIX>RectTransform
UIX>Graphics>Image
Assets>SpriteProvider
Assets>Materials>Circle Segment>UI_CircleSegment
UIX>Graphics>Image
Assets>SpriteProvider
Assets>Materials>Circle Segment>UI_CircleSegment
UIX>RectTransform
追加したデフォルト値のまま特に変更しない。
UIX>Graphics>Image
Assets>SpriteProvider
Assets>Materials>Circle Segment>UI_CircleSegment
Arcのコンポーネント設定
コンポーネントの追加
作成したSlot内に以下のコンポーネントを追加。
Radiant UI>ContextMenuItem
UIX>RectTransform
UIX>Graphics>OutlinedArc
UIX>Layout>ArcSegmentLayout
Uncategorized>PrimitiveMemberEditor
Common UI>Editors>TextEditor
Rendering>TextRenderer
UIX>Interaction>Button
Radiant UI>ContextMenuItem
UIX>RectTransform
UIX>Graphics>OutlinedArc
UIX>Layout>ArcSegmentLayout
Uncategorized>PrimitiveMemberEditor
Common UI>Editors>TextEditor
Rendering>TextRenderer
UIX>Interaction>Button
Radiant UI>ContextMenuItem
Icon:Image内のImageコンポーネントをドラッグ。
Sprite:Image内のSpriteProviderコンポーネントをドラッグ。
Label:TextのTextコンポーネント内のContentの「Content:」の文字をドラッグして設定
??? Color:何の色を設定するのか確認中
_button:Buttonのコンポーネントをドラッグして設定
Sprite:Image内のSpriteProviderコンポーネントをドラッグ。
Label:TextのTextコンポーネント内のContentの「Content:」の文字をドラッグして設定
??? Color:何の色を設定するのか確認中
_button:Buttonのコンポーネントをドラッグして設定
UIX>RectTransform
追加したデフォルト値のまま特に変更しない。
UIX>Graphics>OutlinedArc
Arc:360から1に変更
FillColor:メニューの背景の色になるのでお好みのものに変更
OutLineColor:メニューの外枠の色。デフォルトのままで良いが、好みで変更も可。
??? OutlineTickness:3に変更?デフォルトは2だが違いが不明。
Material:ImageのUI_CircleSegmentをドラッグして設定。
FillColor:メニューの背景の色になるのでお好みのものに変更
OutLineColor:メニューの外枠の色。デフォルトのままで良いが、好みで変更も可。
??? OutlineTickness:3に変更?デフォルトは2だが違いが不明。
Material:ImageのUI_CircleSegmentをドラッグして設定。
UIX>Layout>ArcSegmentLayout
Nested:ImageのRectTransformをドラッグして設定。
NestedSizeRatio:0.65に変更
Label:TextのTextコンポーネントをドラッグして設定。
Label Size: X 400 ,Y 120 に設定
NestedSizeRatio:0.65に変更
Label:TextのTextコンポーネントをドラッグして設定。
Label Size: X 400 ,Y 120 に設定
Uncategorized>PrimitiveMemberEditor
_target:ContextMenuItemの「_menu:」の文字列をドラッグして設定。
_textEditor:Arc内のTextEditorをドラッグして設定。
_textDrive:Arc内のTextRendererの「Text:」の文字列をドラッグして設定
_textEditor:Arc内のTextEditorをドラッグして設定。
_textDrive:Arc内のTextRendererの「Text:」の文字列をドラッグして設定
コメントをかく