Neos-Metaverse / NeosPublic

A public issue/wiki only repository for the NeosVR project
195 stars 9 forks source link

UI/UX redesign #299

Open Frooxius opened 5 years ago

Frooxius commented 5 years ago

The current UI has a lot of usability issues and confusing behaviors as it has grown over long period of time and needed to work with limitations of the UI framework.

With the redesign of UI framework (https://github.com/Frooxius/NeosPublic/issues/167) it'll be possible to redesign many elements and workflows to make the experience more unified, streamlined and easier to use (and also look better).

This topic is to discuss the high level redesign changes planned for the system. The goal is to also make this iteration more future proof, so it can grow better together with Neos.

Here are some planned key principles:

Feel free to make any suggestions too, but note that it's important to establish the general principles first. Suggestions for the current state of the UI might not be relevant, as a lot of those elements will be removed completely.

TehTurk commented 5 years ago

If possible, and component cards do stay for the Logix system. There should be some sort of field or pointer(if poor terminology sorry) at the top that lefts you quick reference a component on the slot by dragging it out of the inspector, and placing it on the top of card's field It could also have quick history but that may be a bit much. This lets you build out component logix interfaces faster and less digging through the inspector. When working on UI components atm, this would be handy.

Frooxius commented 5 years ago

Do you mean having something like component favorites?

TehTurk commented 5 years ago

Something like this, the history would be a convenience tool at best. image The component card would only work if the slot has the component. Also maybe it would be better do have drawings or some sort of ui designs when suggesting for the future.

sirkitree commented 5 years ago

These sound like some excellent principles to start with. I'm especially excited about the Better panel/window system description.

I wonder if a guiding principle around the information hierarchy would be good to have at the onset as well. Maybe that is too into the weeds, but it seems especially important around the inspector display (visual hierarchy), inventory, file browser, and the layout of the information in most panels. Paying special attention to the vertical rhythm and proportions of the information and components within a widget can help immensely to create a sense of balance and consistency in UI design.

More on this idea: https://www.lullabot.com/articles/designing-rhythm-and-proportion

Frooxius commented 5 years ago

@TehTurk Oh I see, so you could build up your own favorites by dropping them there? One thing that should help a lot is search, but Coffee is already prototyping that one.

@sirkitree Yeah definitely, the new UI system should make it easier to have spacers, some common styles and sprites, that will help to visually organize and separate the UI sections and elements. That should make it easier to visually parse and find what you're looking for.

MR-Alex42 commented 5 years ago

Only a little thing, but I would like to see tab orders in the new UI system.

TehTurk commented 5 years ago

@Frooxius You could! and I can't wait for the search But originally the intent was to have it be an easy way to swap to a logix node/interface/drive/reference that another slot has as a component. So like say I'm working on a button, instead of pulling out the NeobuttonComponent interface for that button(a couple different clicks), I just grab the slot/reference in the inspector and place it there, and the wires/ins/outs would update on the card like revealing the node(one click). Instead of digging through the inspector. Generally you won't have more then 1 of the same component per slot object, and if that were the case, maybe add some sort of index to them on the object itself when there is a repeat.

Frooxius commented 5 years ago

@MR-Alex42 Do you mean things like this? https://helpdesk.nuorder.com/hc/en-us/article_attachments/204229446/Screen_Shot_2016-05-27_at_1.02.46_PM.png

Those are definitely planned! They should help a lot with organization.

@TehTurk Hmm I plan on reworking the Logix interfaces a lot so that workflow should improve. I'm not sure I exactly understand your scenario, but one thing that I want to do is have certain components have "exported properties", that you can quickly access without digging through the inspector.

A way of quickly accessing things that you're most likely looking for (e.g. for slider, it would be the Value, Min and Max, with everything else ignored).

TehTurk commented 5 years ago

@Frooxius Ah okay! This is only working within the context of the current system so do what you will. This just adds to the current UI Logix System in some form. I just find the act of grabbing a reference and placing it in another object and having it being called properly so workflow convenient. The one thing I've always noticed for VR is the faster/less tedious the interaction the better. Maybe I can make some sort of concept for you to see in Game.

MR-Alex42 commented 5 years ago

@Frooxius Those are table/grid UI elements that allow sorting, column selection & repositioning and filtering which would be cool to have. My request was much simpler. If I press tab I jump to the next entry field. Maybe you know the feature as tabindex from HTML: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex

TehTurk commented 4 years ago

Wrist menus should have each a way to open their respective menus. Like left wrist will have a system button to turn on your inventory, while the right hand would have something to enable your world/audio system. (Yes the orbs are a thing, but not super intuitive of I can use these) While the new system will be widget based, the default should be basic as possible so people don't have to think ( Because many won't want to) Also would it be possible to have the sound menu be tied to the Inventory Menu and not a switcher within the world :O?

shiftyscales commented 4 years ago

There are actually gestures already in the game to do what you're describing with the respective menus, @TehTurk. If you hold your left palm to your face (such that your grabber sphere collides with your head) and press the menu button, it opens/closes the tool belt. The right hand opens/closes the voice mode toggle/session orbs. If you use grip + menu on the left hand, it opens the inventory, and grip + menu on the right hand opens the session menu.

That said- being able to define custom gestures/shortcuts would be really handy for people to optimize their UI for their own needs.

TehTurk commented 4 years ago

Thanks for informing me on something I know Shifty ^.^, once you get used to the orbs they are mad handy, but for example a new user might not realize intuitively. Most people we need to introduce vs them being able to figure things out on their own. This is more so, a suggestion for the UX/UI Redesign. While they currently directly call these menus, it would be advantages for people to see something can interact with vs the orbs, like test or an icon to indicate. Because right now, while we meme, hello I'm new to Neos with the hand menus popping up constantly, people do get confused by it a bit. Each hand would just have a dedicated system menu of choice that could be configurable too since Froox said he wanted a widget based like system.

TehTurk commented 4 years ago

Something like this, the history would be a convenience tool at best. image The component card would only work if the slot has the component. Also maybe it would be better do have drawings or some sort of ui designs when suggesting for the future.

So I realized looking back I had misdrawn this and was still getting used to Neos and understood where I might have confused you Froox. So here's a remake, essentially it's a reference of anything, and popping it into the header above a logix interface will give you the interface you desire. The behavior could be from generating another reference or swapping out the proxy target entirely, but would let you keep existing connections. This could also let you do some more dynamic stuff as time goes on as well, as you could just write a ref to an interface, and from that have various gets()/sets() methods tied to the interface, which would also make the collections aspect easier to visualize.

mspaint_KHWmyLbhFW (Sorry for MS Paint Quality :P)

If could allow you to have things easily drop in and out, and not break logix say if a ref goes poof, and you could easily just redirect a reference in logix or in menu component.

Frooxius commented 4 years ago

Adding another suggestion here for later from Rukio on Discord - add a microphone gate configuration by sliding a threshold on the volume bar.

I plan on reworking it a bit to integrate it into main UI. Would also want to have the voice mode switch there and quick test which records a piece of audio and plays it back.

Frooxius commented 4 years ago

Logging another suggestion for consideration from the Discord: Language flags for profile and sessions, to allow filtering sessions by language and setting up languages on user's profile.

From Discord:

GroxxyToday at 12:54 PM World language filters, people who don't speak english are starting to surface so it might be a good idea to have a language filter, to avoid communication troubles if someone who doesn't speak japanese joins a japanese world, same goes for english, spanish, everything... (either that or people are gonna need to start hiring translators) also because of ping, someone in australia hosting for a bunch of americans might be a bit messy with ping

KrimzenToday at 12:55 PM Probably difficult to regulate since the playerbase isn't very large at the moment, perhaps a better idea would be allowing users to selected a language/country that makes a flag pop up next to their name

FrooxiusToday at 12:56 PM Yeah that's not something I've considered yet, but it's an interesting idea. It could be at least ability to flag the world with main language so people know before they join.

I'll take it into consideration with the current UI overhaul and try to incorporate features for that.

KrimzenToday at 12:57 PM That way users from certain countries can identify each other quickly, and perhaps allowing 2 icons (one on each side of a name?) would allow bilinguals to show that they can be spoken to in either language Something I think would be awesome would be a profile kinda thing Perhaps something people can program (CSS, HTML) online that other players can view

FrooxiusToday at 12:58 PM Yeah it would definitely be good as a profile thing. You can include languages you speak. And if you host sessions it could use that information as default.

Right now you can place any extra sprites and badges on your avatar yourself, so that could work in the meanwhile.

Igrium commented 4 years ago

I like these ideas so far. The biggest thing I would recommend is to make the file browser look like an actual file browser you would see in an operating system (with logos and stuff), and not just a bunch of colored squares with text.

Frooxius commented 4 years ago

I do plan on adding thumbnails and fetching system icons for the files if possible, but it's a question of priority, so I'm not sure how soon it'll get done. I do want to rework the interface a fair bit to be nicer to work with.

I'm not fully sure if having it look the same as OS file browser would be the best though, given the lower resolution of the VR headsets it text size should be prioritized so it stays readable. I think we could have some nice sprites for common asset types that serve more as a background for the text, but those would need to be made.

Abysmal2134 commented 4 years ago

Something that we should probably have to help new users is a menu that shows you the key binds, both VR and Desktop, and being able to remap them. Maybe even have custom key binds that aren't linked to any action, but are instead user specific for the stuff they create or additional input devices like soundboards and stuff.

Also, something like a push to talk button, because there should be a easier way to stay muted if there's a lot of background noise like family members or headset handling.

For avatars that don't have talking animations, or just in general, there should be some kind of indicator on the nameplate, like a loudspeaker. The same thing applies to the session menu for people who are out of sight, so that you can figure out who's currently talking, and the stream camera user menu so that you know who to mute.

Something that would be nice for world creators is having shared world specific inventory that everyone can share stuff in while building.

For game worlds though there could be some way to customize your own inventory system, like a template to use for in game items that actually have a limited amount stored. Being able to set stuff like stack sizes or weight limits.

Having UI resource elements that you can set up for health and mana/energy, or in game currency/resources, which are character specific for the world.

Being able to save your progress in that game world... This is probably way beyond simple UI though. Sorry if these are too specific ideas but I think you'd have to have an UI universal system to support such gameplay elements. Some kind of templates/components to support this or we'd have to build it from the ground up with every game map.

Frooxius commented 4 years ago

Thanks for the suggestions. I'm not sure if I'll get key binds with the UI/UX redesign itself, it's a separate feature I plan on adding later on. My goal is going to have good defaults for now.

We have a separate issue for push to talk: https://github.com/Frooxius/NeosPublic/issues/320 There are a few issues with it that need to be solved.

I definitely want to add active volume indication to the volume sliders in the UI though, so that's definitely coming!

You'll be able to make your own UI's with the new framework (you can with the current one too, but it's more tricky), so building that isn't an issue, people are doing that already in Neos.

I'm not sure about the inventory system customization, that sounds like it's game-specific and it kinda falls outside of the scope of Neos' general inventory. Same with the saving progress, that's not something the UI is going to be responsible for.

It's something you can script with LogiX or there might be components to make it easier, but that falls outside of scope of the UI/UX update.

Abysmal2134 commented 4 years ago

Something else I think should come with the new UI is an info box/tooltips. In this case the sooner the better, since new features being implemented would require some kind of in game description on what their purpose is. My reasoning for having tooltips is giving new players all the information they need without requiring to consult outside sources like the wiki or relying on someone with the necessary knowledge to be around.

This is why I wanted keybinds too, but even a temporary image to consult in game is would be nice.

We can't always rely on the community, plus having an explanation on what in game tools do speeds up the process of learning. Also having an option to write a description on items now, would allow us to have a easy how to use guide before spawning them. Really usefull for informed decisions on purchasing items when publishing becomes available.

Logix and components can have explanations and use cases too. Basically having some way to get all the info you need in game, the sooner implemented the the better. It's better practice to have new features explained at the time of release, with in game sources, otherwise we have a huge pile of stuff you can do but only few people with the experience and knowledge to use them.

Frooxius commented 4 years ago

Yes, tooltips are one of the major things I want to add with the UI/UX redesign. They're something that's not possible/easy to add with the current UI framework.

The explanation part is tricky though, the explanations and documentation needs to be written. Especially for components and such that's a lot of documentation work, so I don't think it will happen right away.

I do want to link it up to Wiki/Translation system later on though, so community can help documenting a lot of things and have it shown for other users in-game.

Frooxius commented 4 years ago

Adding note from Discord: Setting to determine which action gets preserved when using one-controller setting - turning or strafing. Alternatively preserve whichever controller is free.

Frooxius commented 4 years ago

Another from Discord: Option for controlling movement/strafing individually based on head or controller, to allow better customization.

TehTurk commented 4 years ago

There was actually a really good concept with locomotion curves from the guys on Boneworks to at least handle all the different types as well. I think something like this would greatly benefit Neos. Screenshot_20200112-215536~2

Abysmal2134 commented 4 years ago

Something else I thought of that would benefit UI windows is being able to set up and save their default scale. That way people having problems reading the tiny text can set their windows to be larger, or those with higher resolution headsets can scale them down.

Also having an option to make the window screens face the user directly (like the portal camera in the MTC character creation room).

Casuallynoted commented 4 years ago

I definitely think one area that needs to be made the most dead-simple UI and function-wise is avatar creation and FBT setup. Possibly UI prompts to adjust commonly changed values, like:

“If you can see parts of your avatar’s head when you wear it, that might be due to X. Want to adjust this?

[ ] Yes [ ] No

(And then a slider if yes is selected)”

Abysmal2134 commented 4 years ago

Here’s some functionality that the current UI is missing and/or would be nice to have improved upon:

1. General UI window/function improvements

2. Hand Menu:

3. Inventory:

4. Friends List

5. Session Menu

6. World Browser

7. My Worlds

GoodOldNervy commented 4 years ago

Most of my concerns were already mentioned by abysmal2134. The scaling of windows and texts is an important point for me. I am not sure if this applies also for the connectors between nodes and the grabbable Area of elements (e.g. if I want to shift a selected Object, that tiny arrow or in logix the small border of the string-box)

Frooxius commented 4 years ago

@Abysmal2134 @GoodOldNervy That's great feedback, thank you so much! Some of these go more into territory of new features rather than just plain UI, so they'll probably get done later, but they're things we want to do regardless. We'll go over those in detail on the stream next week.

@Casuallynoted Hmm would you mind elaborating on this? The avatar creation and full body calibration is something that has received a lot of work to be made much simpler already and apart from some polish on the UI and some extra hints and information I'm not sure what would make these complicated to use.

Adding some more common fixes for things like clipping geometry could be done though! I already did work on making a lot of the parts automated (eye/viseme setup and such).

Casuallynoted commented 4 years ago

@Abysmal2134 @GoodOldNervy That's great feedback, thank you so much! Some of these go more into territory of new features rather than just plain UI, so they'll probably get done later, but they're things we want to do regardless. We'll go over those in detail on the stream next week.

@Casuallynoted Hmm would you mind elaborating on this? The avatar creation and full body calibration is something that has received a lot of work to be made much simpler already and apart from some polish on the UI and some extra hints and information I'm not sure what would make these complicated to use.

Adding some more common fixes for things like clipping geometry could be done though! I already did work on making a lot of the parts automated (eye/viseme setup and such).

Absolutely! Definitely common fixes- cause right now I think when it comes to mass usership, there are too many scenarios where an avatar will be imported and set up using the avatar creator, but something is off that requires inspector use to fix. Some good examples atm aside from clipping-

-The Eye/Head target. I know when you drag the headset to the avatar's head, that's effectively placing the target, but I've had a number of times where it is in a place I totally didn't expect it to be. I think maybe having a UI element in the avatar creator that shows you the exact transform point of that target and allows you to manipulate it to the best possible point (maybe in between the eyes?) Kind of like the Avatar Edit Station in the "Essential Tools/Avatars" folder, but for eyes/head stuff.

-In general, perhaps having the functionality of the Avatar Edit Station incorporated into the avatar setup utility for post-setup changes might be really awesome for new users. I know I had no idea that existed for a while when I first started with avatars ^^;

-Kind of the same thing for avatar height and height compensation. I see these values being tweaked a lot. Maybe some text as well to give the user an idea of what type of balance they want to strike with those values.

-One thing that would be super cool UI-wise would be if there was an option that sort of forced your avatar into a T-Pose and showed the bones similar to Unity's rig configuration screen. You could then drag and drop armature elements into little boxes for each of the humanoid skeletal targets. This way if something isn't picked up by the avatar creator due to being named weird, you can adjust it outside of the inspector.

Rafflin commented 4 years ago

As an avatar creator, I've found the current system incredibly frustrating so, it's great the UI is getting an overhaul. Here's my quick overview of an avatar creator UI, I'm not sure how this would fit into your overall design schema but here it is:

First unless absolutely needed, eliminate the need for specialty tool tips: having to switch between them (like developer and material) is confusing! Each of the categories below should have the basic functions at the top and contain sub-categories for advanced functions. The various sub-categories could be tabbed to make it easy to find and access.

The Avatar import/configuration container would be the main box containing navigation to the following sub-containers.

  1. Import - have the local folder navigation to pick the import file. Possible checkboxes for importing with or without textures/materials or armature. I would suggest a default material for basic setup.

  2. Texturing - If possible have materials automatically import and list. This should go directly to the avatar materials, you should not have to drill down through multiple inspector layers. The ability to drag and drop texture files would be great. The ability to drag textures onto various material slots such as albedo, normals, and specularity is extremely important! There would be an advanced button with sliders to adjust the overall textures (like alpha clipping, specularity).

  3. Armature/avatar creator - Start with a basic setup button that spawns the configuration widgets. Beyond that, the advanced sub-categories can get tricky because there's a lot to armature set up. Here are a couple of possible sub-categories. Also, if there are setup platforms/templates for any of these, there should be a button to spawn the specific platform. Jaw and eye setup Viseme setup Full body setup

  4. Save - Can be a button off any of the above categories with easy folder navigation.

  5. reconfigure/delete - This category would list all your current avatars and have a button (with multiple confirm) to delete. Also, breadcrumbs or tabs to the above sub-categories to allow easy choosing and reconfigure of avatars.

orange3134 commented 4 years ago

I asked the Japanese community about ideas for improving the UI, and they replied:

Inspector -I want to select multiple slots at once in the hierarchy and move, delete or copy them at the same time. (E.g. Shift + click or Ctlr + click in Unity hierarchy) -I want to copy one component to another slot. (I would like a shortcut instead of using the Component Clone tip. For example, Grip the name of the component and release it at the destination slot.) -I want to change the order of slots in the hierarchy.

Inventory -I want to organize my inventory by drag and drop like using Windows Explorer.

Friend list -I want my friend request to appear at the top of the friend list.

Others (these may be unrelated to UIX, but are the features they want) -I want a way to instantly find the connection destination of the LogiX reference node and drive node. -The current UI is difficult to use for non-creators. I want a function that switches to a simple UI mode that is easy to use for people who only consume content. (For example, a panel that displays only the functions frequently used by consumers, such as a friend list, a world list, an avatar list, and a locomotion mode.) This helps non-creators use NeosVR. -I want a function to display my language. Also, I want content to be picked up and displayed in the home world according to the language selected. (For example, when Japanese is selected, the world orb of "JP Tutorial Worlds" appears in the home world.) This will help beginners get started. -I want to support multiple languages. It's very hard to translate every sentence, but we want to help with the translation.

I'm sorry for poor English. The Japanese community is looking forward to the UIX update.

TehTurk commented 4 years ago

Don't know if this ever came up or was a thought, but a hybrid of the Bottom Bar and World Browser Table? As much as we go more to a UI interaction vs world orbs, would be still cool to keep the old world orbs in some form or fashion.

alexderpyfox commented 4 years ago

A search bar in the inventory and logix node selector to quickly find items by tag and nodes by name and a scrollbar for inspectors tho quickly scroll through a whole list with with both a pageup arrow and pagedown arrow that brings you immediately to the top or the bottom of the list in the inspector handy for when you got lots of materials/components and need to get to the bottom quickly to add a component

alexderpyfox commented 4 years ago

Oh yes and for the wrist dials a way to save an item directly to an assigned folder (favoriting that specific folder) in your inventory ie a download folder so when you grab it and an item is saveable the save item icon pops up do you can save it directly from your wrist menu I see lots of new users try to do this and ask for it also saving a public folder by simply dragging and dropping it into your inventory I also see new users try to do this and it would be handy indeed

Medravr commented 4 years ago

Note: Illustrations are not meant for the look of the UI but to show how the functional elements would work.

This is a request of features that would be nice to have with the UI rework. It would allow users of multiple skill levels to easily customize their UI. Panels will be used to describe adjustable background display area of a menu. Widgets will describe items that are within a panel display such as component shortcuts, inventory items, logix nodes, etc...

Combining/Separating Elements UI elements(panels) with similar widths or heights could be combined much like they are in Blender. The same is for separating a UI element into 2 parts. Bubble UI

Widget Dragging Ability to drag widgets into a menu much like you would for a cell phone shortcut. Widgets can easily be duplicated or moved from one UI element to another. Dragging Widgets

UI on User for Host Manipulation A clickable UI that appears on a User for Host to manipulate the volume and permissions visually. Circles above/below would represent max/mute. Host to User Tools

Snap Anchors for UI Similar to a camera anchor combined with a snap target. A visual snap target that allows for easy placement of panels. Optionally snap target could be generated from placement of panels. Other panels can easly be removed or swapped to snap to the default placement. Snap Anchors for UI Snap Anchors for UI-move01 Snap Anchors for UI-move02

Incremental Rotation Rotation of the panel that can be done in specific increments (ie. 10, 45, 90 degrees) for fine tuned and easy alignment. Increment of degrees can be adjusted. Adjustable Incremental Rotation

Abysmal2134 commented 4 years ago

Here's a few other parts the UI could see improvements in when it comes to dealing with Worlds.

  1. When using the World Switcher, I've noticed that new players have a hard time navigating through the chain of world orbs. Here's some problems I can think of with the current implementation of the World Switcher:

My suggestion for improving the World Switcher is to integrate it into the UI. The best place would probably be as a tab under the Session Menu, since that's the place where you control your currently active session and logically that's where all currently active sessions should be rather than under the Worlds tab. This solution has the benefit of letting you navigate your sessions in Desktop Mode too,

I'd imagine the Active Sessions Tab would look something like how the active-sessions channel in the Discord, but only those your user is currently in. Some kind of highlight/border indication for your current session, and distinction between headless/hosted/local would be nice. A button for closing the worlds that can also serve as an indication that the local world session can't be closed. Maybe have and indication on when the session was last saved. Another idea to further compact your UI belt menu is to control Saving/Closing/Creating New Worlds through the Session menu too.

  1. When opening new worlds from the world browser, in order for you to choose your session options you need the intermediate steps of spawning a world orb and then, navigating to the start a new session button, selecting your preferred permissions and then starting a new session.

It would be nice if we were able to choose the session settings from the world browser when selecting Open World. Often times people can open a world as public by default if they forget that they're not invisible.

Other thoughts. I'm not sure if World Orbs and the way they're handled are the reason for new players to have problems with navigating through Neos. To me they seem useful as a physical representation for joining and sharing a world, but at the same time they seem like a very bad tool when navigating the UI and trying to save/delete world or start sessions since spawning them only slows the process down and clutters your world.

shiftyscales commented 4 years ago

A couple of notes, @Abysmal2134- the world browser/session managing will be heavily reworked in the new UI, and should hopefully address your issues.

In screen mode, users can switch sessions by pressing Control + Tab. Thanks for the feedback. :D

DeliriousJax commented 4 years ago

new-wrist condensed-wrist-menu inventory-restructure new-menu-main new-menus-restructure

Not sure how much of this is relevant anymore, but I figured it's worth keeping them around.

DeliriousJax commented 4 years ago

When using widgets to build custom ui elements/windows, I was thinking it could be pulling out from existing windows or using a blank window, clicking a gear>clicking edit window, then going through a categorized widget browser to add and remove what the user wishes before attaching them to a users personal space hard point.

I was also thinking if the main dash could have row options so it can be condensed at the users desire to be more middle of the screen square. One issue I see a lot is how often people have to look left and right and get frustrated having to turn nearly all the way left to right in english reading fashion before finding something like tools on the far right. If they have the option to stack dash items in a 3x3 (example, numbers flexible) grid it'd probably help them use a directional muscle memory reflex when going for specific items upon opening that menu. Admittedly, even I still go all the way from left to right in the oculus dash itself when looking for the virtual desktop.

DeliriousJax commented 4 years ago

Note: dash elements can be re-arranged to preference too, right? Thatd make a lot of people happy for customization reasons.

shiftyscales commented 4 years ago

Facets (formerly known as widgets for lack of a better name at the time) will be modular by design so that users can customize the look, and placement of them, yes, @DeliriousJax.

DeliriousJax commented 4 years ago

I mean the primary Dashboard/Menu. That covered, too? I'd even recommend having the default start with two rows if it's rather long left and right otherwise.

DeliriousJax commented 4 years ago

Another thought. Has menu button mapping been discussed? Like pressing "m" on the keyboard brings up a dialogue in VR that let's you map your controller combos to what menu you want it to quickly bring up?

Frooxius commented 4 years ago

Yes the pulling out of elements is planned! Essentially the UI will be composed from "Facets", functional pieces of UI and containers (like the dash, points on your avatar or in your placespace/viewport) where you can place them.

By default, all essentials will be in the dash, with a simple access, so new users don't have to worry about lots of different places, but as you get used to the new UI you can start recofiguring, rearranging and extending it with new/custom Facets.

I do want the dash to be smaller and more snug too so user doesn't have to turn as much, but also needs to fit in all the essentials properly. Being able to adjust its size sounds good! Not sure about rows yet, I'm not yet fully decided on units, but it'll likely be more finegrained than that. and grid-based. The Facets should be adaptive too.

For controller mapping that's a separate feature/system from the UI. I'd like to add it at some point, but it'll have to be a later thing.

DeliriousJax commented 4 years ago

neos-menus-pngs I spent time concept thinging

DeliriousJax commented 4 years ago

Each block is an added in widget with a containing window and certain widget types can be added for extra/other windows.

DeliriousJax commented 4 years ago

Optionally, no containing window, and the widgets just stick together at the edges. Another concept I think I'll work on is how grids could work vs hexagon aligning as well with hexagonal widgets because why not.

PolygonBird commented 3 years ago

Hey, just in response to the comment on my Steam review about the GUI!

I may be repeating a few points that some people may have already mentioned, but I endorse though~

So.. I have put over 120 hours into Neos, even tried encouraging people to join up with the fun, but from them I hear the same complaints and it has been mostly about the GUI. All of them I agree with. You can make an amazing game, but if you put a confusing GUI with a learning curve, it really can be discouraging for people. The minute people have to learn something they start to lose interest very quickly.

I do have some game design experience, but so I can be critical. I have taken some notes from my first experience around Neos, I have also taken note of peoples opinions about it.

So!.. Let's start. I will compliment the new introductory world, it is very informative for first getting started. That was a big step since I didn't go through that when I first signed up, needing friends to guide me through.

However, The build editors need a fair bit of work..

Critic:

I would suggest being able to Collapse and separate categories into tabs You want to make everything as clear as possible with the tabs, eg. Materials could be their own category and icon that clearly shows it is materials. You want to reduce the amount of information that is in your face until it is relevant. This is not saying to get rid of anything, but to hide it so you can quickly jump to what is relevant to what you do.

The current method of a wire box surrounding the model is not very clear on what you are selecting.. It is a different way to do things, but the most informative way would be to highlight and silhouette outline the object you are selecting. Every game, or 3D program does it this way, it is rather proven to be the most effective way to show a selection.

Overall, these are a few big problems I see that need attention, but there is even more that I would address later on about the GUI. Yes I am aware you can get new build tools made by Neos users.. That took me 3 weeks to find out. Already got a tool that covers all my personal problems. But that is not available for newbies.

The real TL;DR that really needs to be done is to hide the complex stuff until they are curious enough to get into the cool stuff~

I have high praise for Neos and would love to see it succeed! I hope you find any of my advice helpful.~