ã¯ããã«
ã©ãããåéã§ãã
10æåæ¬ã«Metaãå
¬å¼ã§Questã®UIãã¶ã¤ã³ã«é¢ããããã¥ã¡ã³ããå
¬éãã¾ããã
ããã§ä»åã¯ããã¥ã¡ã³ããããã£ã¨ç´¹ä»ããUnityã§ã®ä½¿ç¨æ¹æ³ã«ã¤ãã¦è§£èª¬ãã¾ãã
Meta Horizon OS UI Setã¨ã¯ï¼
å
¬å¼ã®UIã»ãã解説ããå¼ç¨
https://developers.meta.com/horizon/documentation/unity/unity-isdk-uiset/
Meta Horizon OSã®UIã»ããã¯ãæ²¡å ¥åã¨ã¯ã¹ããªã¨ã³ã¹ã®ããã«è¨è¨ãããåºæ¬çãªã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¤ã¹ã³ã³ãã¼ãã³ãã®ã»ããã§ããUnityåãããã³Figmaåãã®Meta XR Interaction SDKãããã¦ã³ãã¼ãã§ããè¨è¨ã¨éçºã®ããã»ã¹ã®å¹çåãå®ç¾ãã¾ãã
Meta Questã«ããããã¶ã¤ã³ã·ã¹ãã ãé常ã«åãããããã¾ã¨ã¾ã£ã¦ãããUnityã®ãµã³ãã«ãããã®ã§ããã«ãã¶ã¤ã³ã·ã¹ãã ã«æ²¿ã£ãUIãæ§ç¯ã§ããã
å ¬å¼è§£èª¬
å
¬å¼ããã¥ã¡ã³ã
https://developers.meta.com/horizon/design/buttons
Figma
https://www.figma.com/community/file/1425877250001997196
ä»åã¯Figmaã®è§£èª¬ãä¸å¿ã«Unityã§ã®UIã®æ§ç¯ã解説ããã
- ã¯ããã«
- Figmaã§UIä»æ§ã確èª
- Unityã§ã®å®è£
- åèæç®
Figmaã§UIä»æ§ã確èª
Figmaã§ä¸éãã®ã³ã³ãã¼ãã³ãã»ãããé²è¦§ã§ããã
https://www.figma.com/community/file/1425877250001997196
Getting started
ãã¼ã¸å ¨ä½ã§ãã¼ããå¤ããã
ã³ã³ãã¼ãã³ããã¨ã«ãã¼ããå¤ãããã¨ãã§ããã
local variablesãããã¶ã¤ã³ã·ã¹ãã ã®è¨å®å¤æ´ãã§ããã
ãã®ãããªãã¶ã¤ã³ã·ã¹ãã ãUnityå´ã«ãå ±éå®è£ ãã¦ãããã¨ã§ãFigmaã®ãã¶ã¤ã³ã¨Unityã§ã®UIãã¶ã¤ã³ãçµ±ä¸ãããã¨ãã§ããã
Foundation
Colors
Unityã§ãããã®ã«ã©ã¼ã«å¯¾å¿ãããã®ããã¡ãã¡RGBã§ãã£ã¦ããã¨ãå¹çãæªããå¾®å¦ã«è²ãéããªã©ã®åé¡ãçºçãããããã®ããUnityæ¨æºã®ãã®ã§ã¯ãªãã¦ãç¬èªã§ã«ã©ã¼ã¯ã©ã¹ã¨UIã³ã³ãã¼ãã³ãã¯ã©ã¹ãä½ããé©ç¨ããã®ãè¯ãã¨æãããã
Typography
Haptics
ä¸è¬çã«ãããã£ã¯ã¹ã¯ãå¿ è¦ãªã¨ãã«äººã ã®æ³¨æãå¼ãä»ããããã¦ã¼ã¶ã¼ã®å ¥åã«å¯¾ãã¦ã·ã¹ãã ãã£ã¼ãããã¯ãæä¾ãããã¨ã§ãã¦ã¼ã¶ããªãã£ãåä¸ãããã®ã«å½¹ç«ã¡ã¾ãã ãããã£ã¯ã¹ã¯ã¢ã¯ã»ã·ããªãã£ãåä¸ãããè¦è¦çã¾ãã¯è´è¦çãã£ã¼ãããã¯ã®ä¸è¶³ãè£ããã¨ãã§ãã¾ãã ä»®æ³ç¾å®ãæ¡å¼µç¾å®ç°å¢ã§ã¯ããããã£ã¯ã¹ã¯è§¦è¦ãã£ã¼ãããã¯ãæä¾ããããæ²¡å ¥çã§ãªã¢ã«ãªä½é¨ãçã¿åºãã¾ãã
Designing Haptics
https://developers.meta.com/horizon/resources/haptics-design-guidelines/
ããã¥ã¡ã³ã
https://developers.meta.com/horizon/resources/haptics-overview/
Meta Haptics Studio
https://developers.meta.com/horizon/resources/haptics-studio/
ãããã£ã¯ã¹ã®ãã¶ã¤ã³ãè¡ããã¼ã«ã
Haptics SDK
https://developers.meta.com/horizon/resources/haptics-sdk/
UnityãUnrealãNativeç¨ã«æä¾ããã¦ããããã¶ã¤ã³ãããããã£ã¯ã¹ãããããã®ã¢ããªã±ã¼ã·ã§ã³åãã«å®è£ ããéã«ä½¿ç¨ããã
UI Surface
UIã®åå°ã¨ãªãããã«ã
Spacing
Spacingã®ä¾ããã¤ã¢ãã°ã®åèã«ãªãããã
Shapes
ããã«ãéç¥ããªã¹ããªã©ããããã®ã³ã³ãã¼ãã³ãã«ãããè§ä¸¸ã®åå¾ã®ä¾ã示ããã¦ããã
Grid System
ã°ãªããã¬ã¤ã¢ã¦ãã®é
ç½®ä¾ã
1â2â3â4â6â12ã®é çªã§ä¸ããåå²ããã¦ããã
Icons
XRãMetaåºæã®ã¢ã¤ã³ã³ãå¤æ°å«ã¾ããã»ããé³éãWifiãç¢å°ãªã©ãæ®éã«VR以å¤ã®ã¢ããªã§ã使ç¨ã§ããããªã¢ã¤ã³ã³ãå«ã¾ãã¦ããã
å°å³ã«XRç³»ã®èª¬æããéã®ã¢ã¤ã³ã³ãä¸è¶³ããã®ã§é常ã«å©ããã
UI components
ã¤ã³ã¿ã©ã¯ã·ã§ã³å¯è½ãªã³ã³ãã¼ãã³ã群ã
é³ããããã£ã¯ã¹ãè¨å®ããã¦ããã
Buttons
Primary Buttons: ä¸çªè¯ãç®ç«ãããããã¿ã³ã決å®ãªã©ã
Secondary Buttons: äºçªç®ã®ãã¿ã³ããã£ã³ã»ã«ãªã©ã
Borderless Buttons: èæ¯ã®ãªããã¿ã³ã
Destructive Buttons: ã¦ã¼ã¶ã¼ã¯æ³¨æããå¿
è¦ããããã¿ã³ãåé¤ãã¿ã³ãªã©ã
Unityæ¨æºã®ãã¿ã³ã®ããã«ããã¼æãã¬ã¹æã®ç¶æ ã®è²ãæ示ãã¦ããã¦ããã
Text Tile Button
ã§ããã®ãã¿ã³ã
ãã¿ã³èæ¯ãã¯ã¼ã«ãã®åçãªã©ã«ãã¦ã¯ã¼ã«ãé¸æãã¿ã³ã¨ãä½ãããã
Button Shelf
ä¸ãããã®ãã¿ã³
Side Nav Item
以ä¸ã®ãããªãµã¤ãããç¨ã®ãã¿ã³ã¢ã¤ãã ã
Textãã¦ã¼ã¶ã¼ã®å¥½ã¿ã§é ãã¦ã¢ã¤ã³ã³ã ãã«ã§ããã®ãããè¦ãã
Slider
é³é調ç¯ãæ度ãã¯ãªãªãã£èª¿ç¯ãªã©ã®è¨å®ç»é¢ã§éå®ãããã
Control
Toggle: ãªã³ã¨ãªã
Checkbox: è¤æ°é¸æå¯è½
Radio: ä¸åã®ã¿ããé¸æãããªã
Dropdown
ã¿ããããã¨ä¸ã«ãªã¹ãã¡ãã¥ã¼ã表示ãããã
Tooltip
ããã¼ããã¨è§£èª¬ãåºã¦ããç³»ã§ä½¿ããããã¤ã
Search Bar
æ¤ç´¢ãã¼ããã¤ã¯å ¥å対å¿ã®ã³ã³ãã¼ãã³ãã¯Unityã«ã¯ãªãã£ãã
Text Field
ãã¹ã¯ã¼ãå ¥åæ¬ãªã©ãç¶æ ã«ãã£ã¦æ ãã¢ã¤ã³ã³ã®è²ãå¤ããã
Dialog
ã¦ã¼ã¶ã¼ã«ç¢ºèªãæ±ããã¦ã£ã³ãã¦ã
ã¢ã¤ãã è³¼å
¥ãªã©ã®èª²éæ©è½ã§ãå©ç¨ããã
Inputs
ã¦ã¼ã¶ã¼ã®æä½ã®ãã¥ã¼ããªã¢ã«ã説ææã§ä½¿ç¨ã§ããç»åãããã
ããã¯å°å³ã«å©ãã人ãå¤ãã®ã§ã¯ãªãã§ããããï¼
Controllers
Avatar Hands
Custom Hands
Affordances
Gamepad
Keyboard
Templates
UIã®ãµã³ãã«éã
Environments
ãã¥ã¼ããªã¢ã«ç»é¢ãä½ãéã«ä½¿ç¨ã§ããããªèæ¯ã
UI Pattern Templates
ã³ã³ãã¼ãã³ããçµã¿åããã¦ä½ãUIã®ä¾ã
Tutorial
ãã¥ã¼ããªã¢ã«ã¯ã²ã¼ã ãã¢ããªã®ã¦ã¼ã¶ã¼ä½é¨ã«ããã¦é常ã«éè¦ãªã®ã§ä¸è¨ã®ããã«ä½ããã
Unityã§ã®å®è£
Unityã§Meta Horizon OS UI Setã使ã£ã¦ã¿ã¾ãã
Meta XR Interaction SDKã®ã¤ã³ãã¼ã
Meta XR All-in-One SDKãã¤ã³ãã¼ãããã°ããã©ã«ãã§å ¥ã£ã¦ããã
ããMeta XR All-in-One SDKã使ç¨ããªãå ´åã¯ãMeta XR Core SDKãMeta XR Interaction SDK EssentialsãMeta XR Interaction SDKãã¤ã³ãã¼ãããå¿ è¦ãããã
ãµã³ãã«ã·ã¼ã³
ãµã³ãã«ã·ã¼ã³ã¯ Packages > Meta XR Interaction SDK Essentials > Runtime > Sample > Objects > UISet ã®ä¸ã«ããããããAsstes/Scenesãªã©ã«ç§»åã
ã·ã¼ã³ãéãã¨ãFigmaã«ãã£ããããªã³ã³ãã¼ãã³ã群ã確èªã§ããã
ãã¼ãã®å¤æ´
ãã¼ã㯠Packages/com.meta.xr.sdk.interaction/Runtime/Sample/Objects/UISet/Themes/ ã«ããããããè¤è£½ããèªåã®ãã¼ããä½æããã
ããããã®ã³ã³ãã¼ãã³ãã®è²ãç¶æ å¤åæã®è²ããã©ã³ããå¤æ´ã§ããã
âéã«ããã¯ã°ã©ã¦ã³ãã«ã©ã¼ã®ã¿å¤ãã¦ã¿ãã
UIãèªä½ãã
ããããã¯å®éã«UIãä½ã£ã¦ããã
Packages/com.meta.xr.sdk.interaction/Runtime/Sample/Objects/UISet/Prefabs/ 以ä¸ã«Figmaã§ãã£ãã³ã³ãã¼ãã³ã群ã®Prefabãç¨æããã¦ããã®ã§ããã使ç¨ããã
ã¾ãããã«ç¨ã«EmptyUIBackplateWithCanvas Prefabãã·ã¼ã³ã«é ç½®
ãã®ç´ä¸ã«UI Thema Managerã³ã³ãã¼ãã³ããããã®ã§ãããã«ä½¿ç¨ããããã¼ããé©ç¨ã
UIBackplate以ä¸ã«ãã¿ã³ãªã©èªç±ã«é
ç½®ãããPrefabãé
ç½®ã
UIBackplateã«LayoutGroupããã¨ããããã®ã§å¿
è¦ãªãå ´åã¯ç¡å¹ã«ããã
ãã®è¦é ã§UIã¯ç°¡åã«ä½ããã
æå¾ã«XRåãã®è¨å®çãè¡ãã
ããã¯Building Blocksã® Camera Rigã¨Ray Interactionã追å ãã¦ãããã°çµäºã
注æç¹ã¨ãã¦ãUIã«ã¤ã³ã¿ã©ã¯ã·ã§ã³ãè¡ãã«ã¯ãPointableCanvasModuleãå¿ è¦ãªã®ã§æ°ãã空ã®ã²ã¼ã ãªãã¸ã§ã¯ããä½ãé ç½®ãã¦ãããå¿ è¦ãããã
ããã§VRã§Metaæ¨å¥¨ã®ãã¶ã¤ã³ã·ã¹ãã ã«å¾ã£ãUIãæ§ç¯ã§ããã
åèæç®
https://developers.meta.com/horizon/documentation/unity/unity-isdk-uiset/ https://www.figma.com/community/file/1425877250001997196