3D User Interfaces

User Interfaces in Unity

 

Canvas Interactions

 

Diegetic Interactions

Diegetic = something that exists in the narrative world of the game

From greek “diegesis”. Think “In-world user interface”.

Diegetic vs Non-diegetic gets very much into semantics in some cases, especially in VR, so overall dont worry too much about it.

 

Good test questions are:

“Can the Player Character see the UI and do the action?”

”Can a Non-Player Character (NPC) see the UI and do the action?”

 

Specific examples:

3D drawer that needs to be dragged open

—> diegetic because lets say the player controls a robot character (Player Character) then that robot will be grabbing the handle and moving the drawer

In-game pause menu (VR & 2D) “resume, settings, exit” etc

—> non-diegetic flat UI that has nothing to with the story

In-game HUD in 2D games (health, minimap, mana, mini inventory, spells etc)

—> non-diegetic

floating in-game HUD in VR games (health, minimap, mana, mini inventory, spells etc)

—> non-diegetic if it’s “just there” for the user without any reason why & how the player character would see it

watch on Player Characters wrist tells armor status, health etc

—> diegetic usually

glowing in-world path/trail that helps wayfinding

—> diegetic if there’s a story explanation (a kind wizard created it to guide the hero)

—> non-diegetic if “it’s just there” (game developer just put it there without a story reason backing it)

 

Couple links:

 

See the video below for one example of how to implement diegetic door, lever and drawer using Joints. Drawer part starts around 8:30 but recommend at least skimming most of the video for context.

 

 

Below a couple more videos of another approach how to implement diegetic UI. These videos miss some scripts and context from before so might be tricky to implement based on these.

 

Example Drawer Movement

 

 

Example Door Movement

 

Example Button Switch

 

Extra Material