Mastering UI Development with Unity Develop Engaging and Immersive User Interfaces with Unity
A captivating, fully functional UI is necessary for player interaction and engagement. Unity's tools give you the opportunity to create fascinating UIs to make your game stand out. Written by a skilled game designer and programmer, Mastering UI Development with Unity begins by describing variou...
Autor principal: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Birmingham :
Packt Publishing, Limited
2023.
|
Edición: | 2nd ed |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009828025306719 |
Tabla de Contenidos:
- Cover
- Title Page
- Copyright and Credits
- Contributors
- Table of Contents
- Preface
- Part 1: Designing User Interfaces
- Chapter 1: Designing User Interfaces
- Technical requirements
- Defining UI and GUI
- The four game interface types
- Laying out the UI elements
- Resolution and aspect ratio
- Changing the aspect ratio and resolution of the game view
- Building for a single resolution
- Summary
- Chapter 2: Designing Mobile User Interfaces
- Technical requirements
- Setting the resolution, aspect ratio, and orientation
- Setting the resolution in the Game view
- The Device Simulator
- Building for a specific orientation
- Recommended button sizes
- Full screen/screen portion taps
- The thumb zone
- Other mobile inputs
- Device-specific resources
- Summary
- Chapter 3: Designing VR, MR, and AR UI
- What are XR, VR, MR, and AR?
- Designing UI for VR
- Visual UI placement and considerations
- Interactable UI placement and considerations
- Designing UI for MR
- Designing UI for AR
- Summary
- Further reading
- Chapter 4: Universal Design and Accessibility for UI
- What are universal design and accessible design?
- Universal design principles
- Equitable use
- Flexibility in use
- Simple and intuitive use
- Perceptible information
- Tolerance of error
- Low physical effort
- Size and space for approach and use
- Accessibility design
- Vision
- Hearing and speech
- Mobility
- Cognitive and emotional
- Additional resources
- Summary
- Chapter 5: User Interface and Input Systems in Unity
- The three UI systems
- Unity UI (or uGUI)
- IMGUI
- UI Toolkit
- Choosing between the UI systems
- The two input systems
- The Input Manager
- The new Input System
- Choosing between the Input System and the new Input System
- Summary
- Part 2: Unity UI Basics.
- Chapter 6: Canvases, Panels, and Basic Layouts
- Technical requirements
- UI Canvas
- Rect Transform component
- Canvas component
- Canvas Scalar component
- Graphic Raycaster component
- Canvas Renderer component
- UI Panel
- Rect Transform
- Rect Tool
- Rect Transform component
- Anchor and Pivot Points
- Canvas Group component
- Introducing UI Text and Image
- Examples
- Laying out a basic HUD
- Placing a 2D game background image
- Setting up a basic pop-up menu
- Summary
- Chapter 7: Exploring Automatic Layouts
- Technical requirements
- Types of automatic layout groups
- Horizontal Layout Group
- Vertical Layout Group
- Grid Layout Group
- Layout Element
- Ignore Layout
- The Width and Height properties
- Fitters
- Content Size Fitter
- Aspect Ratio Fitter
- Examples
- Laying out a HUD selection menu
- Laying out a grid inventory
- Summary
- Chapter 8: The Event System and Programming for UI
- Technical requirements
- Accessing UI elements in code
- UnityEngine.UI namespace
- UI variable types
- The Event System
- Event System Manager
- Input Manager
- Input functions for buttons and key presses
- GetButton
- GetAxis
- GetKey
- GetMouseButton
- Input Modules
- Standalone Input Module
- BaseInputModule/PointerInputModule
- Input for multi-touch
- Input for accelerometer and gyroscope
- Event Trigger
- Event types
- Adding an action to the event
- Event inputs
- Raycasters
- Graphic Raycaster
- Other Raycasters
- Examples
- Showing and hiding pop-up menus with keypress
- Pausing the game
- Dragging and dropping inventory items
- Pan and zoom with mouse and multi-touch input
- Summary
- Part 3: The Interactable Unity UI Components
- Chapter 9: The UI Button Component
- Technical requirements
- UI Button
- The Button component
- Transitions
- Navigation.
- Invisible button zones
- Examples
- Navigating through Buttons and using First Selected
- Loading scenes with Button presses
- Button Animation Transitions
- Summary
- Chapter 10: UI Text and TextMeshPro
- Technical requirements
- UI Text GameObject
- The Text and Character properties
- The Paragraph properties
- The Color and Material properties
- The Raycast and Maskable properties
- Text-TextMeshPro
- Text Input properties
- Main Settings
- Extra Settings
- TextMeshPro Project Settings
- Working with fonts
- Importing new fonts
- Custom fonts
- Font assets
- Exploring the markup format
- Font style
- Font color
- Font size
- Using style sheets
- Translating text
- Examples
- Creating animated text
- Translating the dialogue
- Custom font
- TextMeshPro - Warped Text with Gradient
- Summary
- Chapter 11: UI Images and Effects
- Technical requirements
- UI Image component properties
- Image Type
- UI effect components
- Shadow
- Outline
- Position As UV1
- Examples
- Horizontal and circular health/progress meters
- Mute Buttons with sprite swap
- Adding press-and-hold/long-press functionality
- Creating a floating eight-directional virtual analog stick
- Summary
- Chapter 12: Using Masks, Scrollbars, and Scroll Views
- Technical requirements
- Using masks
- The Mask component
- Rect Mask 2D component
- Implementing UI Scrollbars
- The Scrollbar component
- Implementing UI Scroll View
- Scroll Rect component
- Examples
- Making a scroll view from a pre-existing menu
- Summary
- Chapter 13: Other Interactable UI Components
- Technical requirements
- Using UI Toggle
- Toggle component
- Toggle Group component
- UI Slider
- Slider component
- UI Dropdown and Dropdown - TextMeshPro
- Dropdown Template
- The Dropdown component
- UI Input Field
- Input Field component.
- Input Field - TextMeshPro
- TextMeshPro - Input Field component
- Examples
- Creating a dropdown menu with images
- Summary
- Part 4: Unity UI Advanced Topics
- Chapter 14: Animating UI Elements
- Technical requirements
- Animation Clips
- Animation Events
- Animator Controller
- The Animator of Transition Animations
- Animator layers
- Setting Animation Parameters in scripts
- Animator Behaviours
- Animating pop-up windows to fade in and out
- Animating a complex loot box
- Summary
- Chapter 15: Particles in the UI
- Technical requirements
- Particles in the UI
- Examples
- Creating a Particle System that displays in the UI
- Summary
- Chapter 16: Utilizing World Space UI
- Technical requirements
- When to use World Space UI
- Appropriately scaling text in the Canvas
- Other considerations when working in World Space
- Examples
- 2D World Space status indicators
- 3D hovering health bars
- Summary
- Chapter 17: Optimizing Unity UI
- Optimization basics
- Frame Rate
- GPU and CPU
- Tools for determining performance
- Statistics window
- Unity Profiler
- Unity Frame Debugger
- Basic Unity UI Optimization Strategies
- Using multiple Canvases and Canvas Hierarchies
- Minimizing the use of Layout Groups
- Hiding objects appropriately
- Appropriately time object pooling enabling and disabling
- Reducing Raycast computations
- Summary
- Further reading
- Part 5: Other UI and Input Systems
- Chapter 18: Getting Started with UI Toolkit
- Technical requirements
- Overview of UI Toolkit
- Installing the UI Toolkit package
- Parts of the UI Toolkit system
- Visual Elements and UI Hierarchy
- Creating UI with the UI Builder
- Using the UI Document component
- Making The UI interactable with C#
- The UIElements namespaces
- Getting a reference to UI Documents variables
- Managing Visual Element events.
- Accessing Visual Element properties
- Examples
- Using the UI Toolkit to make an Editor virtual pet
- Resources
- Summary
- Chapter 19: Working with IMGUI
- Technical requirements
- IMGUI overview
- IMGUI Controls
- IMGUI in the Inspector
- Examples
- Using IMGUI to show framerate in-game
- Using IMGUI to make an Inspector button that imports data
- Summary
- Chapter 20: The New Input System
- Technical requirements
- Installing the Input System
- Polling vs subscribing
- Input System elements
- Connecting Actions to code
- Creating basic character controller Actions
- Creating a basic character controller with the PlayerInput Component
- Creating a basic character controller by referencing Actions in your code
- Summary
- Index
- Other Books You May Enjoy.