Search Unity

  1. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

Unity scene navigation is too stiff

Discussion in 'General Discussion' started by leemmon01, Oct 5, 2018.

  1. leemmon01

    leemmon01

    Joined:
    Jan 31, 2018
    Posts:
    5
    I've used Unity on and off for a couple of months. I love most things about it. But what throws me off is how bad the scene navigation is. It feels so stiff, when comparing to unreal engine for example. Does anybody else who've tested both engines, have similar experience?
     
    halley likes this.
  2. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    7,163
    Stiff how?
     
  3. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    13,058
    What are you referring to by "scene navigation" and what do you mean by "stiff"?
     
  4. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    3,517
    I agree. It doesn't seem like an important thing, but being able to navigate fast when you have a complex scene increases productivity a lot.

    You guys asking for definition, just go use unreal or basically any 3d app and the difference will be obvious. It's not just navigation, it's little quality of life stuff like pre-selection highlight of transform gizmos, stuff like that.

    Maybe I just don't work enough in unity (actually i've worked in it more than other game engines, certainly enough to build navigational competency), but I still find basic artist work to be problematic and slow. But I'm not a professional nor do I have that many working hours logged in Unity, so who cares what I think about it really.

    But yeah, first impression is Unity could improve a lot in this area. For the artist who works mostly with the mouse and hotkeys which can be reached without moving the hand, Unity lacks polish.
     
    Last edited: Oct 5, 2018
    Lars-Steenhoff, Ony, Martin_H and 2 others like this.
  5. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    16,147
    I believe they're referring to aiming with the mouse and moving with the keyboard. It definitely feels more klunky compared to the competition.
     
  6. halley

    halley

    Joined:
    Aug 26, 2013
    Posts:
    737
    I hate hate hate the default scene view camera controls. Compared to Blender or Fusion360 or even Sketchfab it's horrible.

    The difference between dollying the camera forward and zooming the fov is muddled. The near clipping plane often gets F***ed up, clipping what you want to view. The wasd "fly" mode is the only way to move around in a level and it has that horrible bad-dream acceleration curve so you have to wait to make progress in a large scene but overshoot your target if you blink. The camera isn't saved per scene so every fricking canvas is loaded with its back to me, or I am zoomed out to Toledo when I load a small scene after a big level.
     
    glshanjei, Player7, Nlim and 5 others like this.
  7. leemmon01

    leemmon01

    Joined:
    Jan 31, 2018
    Posts:
    5
    I haven't clocked so many hours into unity, so I couldn't exactly put my finger on it, I kind of just felt it to be unintuitive, but I think you hit the nail on the head.
     
  8. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    3,517
    Been a minute since I was inside Unity, but besides what @halley mentioned, I know that gizmos are always troublesome to select for me. You grab the wrong handle because they are fussy and laggy and your object goes shooting through space. Not being able to select things precisely and quickly is a killer to productivity when you are trying to move through a lot of things fast or fidget with enviro assets to get a scene just right.

    No deselect hotkey. Sheer insanity.

    And, this is a question, not a complaint, but is there a hotkey editor? If not, somebody should build one.
     
    Ryiah likes this.
  9. leemmon01

    leemmon01

    Joined:
    Jan 31, 2018
    Posts:
    5
    Yes, completely agreed. Some of the things I love about Unity is how modular it is and how it doesn't have any unnecessary fat. But the navigation is just killing me. I felt more comfortable navigating through an OpenGL scene I created with a few lines of code for keyboard navigation.
     
  10. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    13,058
    Edit -> Preferences -> Keys might contain what you're after. I'm not sure it has all of the hotkeys in it, though.
     
  11. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    3,517
    I'll look into it next time I have some real work to do in the engine. I remember last time I looked up a hotkey for deselect, and it turns out there is actually one, but its a hotkey that basically requires two hands even for me with larger than average hands and besides that, it consistently caused Unity to crash.

    Sorry, I don't mean to S*** on Unity -- but this is exactly the subject that is my number 1 dislike about the engine.
     
    Martin_H and Ryiah like this.
  12. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    13,058
    Ugh. Looks like the consensus on the deselect hotkey is "write a script". I know that's something I tell people to do a lot, but still... that's not exactly game specific functionality!

    So... here you go. Drop the attached file in an "Editor" folder in your project, and then the tilde key (the key to the left of '1') will deselect stuff for you. I was going to make it escape, but that's not available as a hotkey. It also puts a "Deselect Current" option in the GameObject menu.

    Note that testing has been ultra rudimentary, so don't use it on important stuff without giving it a good thrashing first!

    Enjoy. :)
     

    Attached Files:

  13. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,406
    Selecting a item in the scene view broke somewhere in 2017 and is still broken. 99.9% it does not select the object I click on but something behind it
     
  14. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    16,147
  15. mgear

    mgear

    Joined:
    Aug 3, 2010
    Posts:
    6,190
    looks like deselect is coming soon though, (screenshot from that 2019 new ui build)

    upload_2018-10-5_15-31-32.png
     
    Ryiah likes this.
  16. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    4,865
    Its funny how perspectives can be so different. For me this behaviour is much better! When you had a lot of overlapping objects and selecting clicking them could be very difficult. Now if you keep clicking it cycles through all objects at that point.

    In Platformer pro which can have a lot of overlapping hitboxes for different attacks, damage, etc, the change was a godsend.
     
    Kiwasi likes this.
  17. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    16,147
    Stumbled upon a way to handle any key while searching for how to handle screenshots of the inspector. Only works if the scene view is currently active. If you select an object and click elsewhere it stops working but that's likely easy to find a solution for.

    Code (csharp):
    1. using UnityEditor;
    2. using UnityEngine;
    3.  
    4. [InitializeOnLoad]
    5. public static class DeselectHotkey
    6. {
    7.     static DeselectHotkey()
    8.     {
    9.         SceneView.onSceneGUIDelegate += DeselectHotkey =>
    10.         {
    11.             Event e = Event.current;
    12.             if (e != null && e.keyCode == KeyCode.Escape)
    13.             {
    14.                 UnityEditor.Selection.activeObject = null;
    15.             }
    16.         };
    17.     }
    18. }
     
  18. passerbycmc

    passerbycmc

    Joined:
    Feb 12, 2015
    Posts:
    1,479
    Select objects and press F I find is the best way to quickly move about the scene
     
    Ony, neoshaman, Kiwasi and 3 others like this.
  19. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    There is no big difference, i find both Unity and Unreal 4 on par about scene usage.
    Perhaps because my games does not have thousand objects in the same area.
     
    Lurking-Ninja likes this.
  20. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    13,058
    I think UE4 also has smoothing, and possibly motion blur in their scene window by default. It certainly does have a nice smooth feel to it.
     
    leemmon01 likes this.
  21. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    5,523
    Basically this, I use the hierarchy
     
    Noisecrime, Ony and zombiegorilla like this.
  22. Ony

    Ony

    Joined:
    Apr 26, 2009
    Posts:
    1,953
    y'all need a 3D Space Mouse. Also, in case you didn't know, CTRL+clicking a selected object in the hierarchy deselects that object
     
    deliquescator and zombiegorilla like this.
  23. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    8,202
    I typically just use the mouse (and modifiers) and/or hierarchy + f.

    If I actually need to explore the environment, I use play mode + a custom editor mode that has debug and convenience tools. Usually to check player view stuff.
     
  24. Stardog

    Stardog

    Joined:
    Jun 28, 2010
    Posts:
    1,552
    F also adjusts the near clip plane.

    Selecting objects in the scene view has been broken for years. SelectionBase script attribute hasn't worked for years, either.

    The scene view can also stutter unless you enable the skybox button (near the enable lights button).

    No clue why they won't fix it. I'll put it down to another reason they need to make their own games, or just make the editor open source.
     
  25. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    7,416
    In fact, if you look round wahat people say, you will find out, that people indicate at blender navigation as very unintuitive and clunky.

    If you worked ever with 3DS Max for example, you will know, what I am pointing out.
    Without specific tutorials, I was able to do basics mesh manipulations in 3DS much quicker than same thing in blender.

    I like how Unity3D works of now. F key does help a lot too.
    Alt helpful key to quick change rotate mode. And all camera rotation under reach of single button click.
    QWERTY, to toggle between move, rotate scale etc.
    Mentioned multiple click, to toggle through on overlaying objects.

    What is missing for sure, is display gizomos/objects layers in scene, similar as 3DS, or blender has.
    I am not talking about infamous Layer of GameObject of course.
    Unless Gizmos can have custom layers (I am not aware of), it would be nice to have such option.
     
  26. AkiraWong89

    AkiraWong89

    Joined:
    Oct 30, 2015
    Posts:
    640
    Agreed. I'm 3dsMax user. Unity has some navigation behaviors which are sometimes hard to get used to.
    So far I didn't treat it as an issue, it's just minor but it could be great if Unity would implement them in future.
    • The transform gizmo. The opposite axis arrow is still there when your scene view turned into to some specific angles where it supposed to be hidden. Hence it's very easy to accidentally dragged on Z axis instead of X and Y axis for example.
    • The lasso selection. In 3dsMax, you can select objects even the lasso is not completely surrounded it. In Unity, you must drag the lasso to completely surrounded objects in order to select them which is a bit slow. In additional, so far Unity has only rectangular selection method, hopefully Unity could implement circular selection, fence selection, lasso selection and paint / spray selection like 3dsMax in future.
    • The zoom to selected object. When pressed "F" key, Unity will move and zoom your view to the object position but in fixed distance algorithm. Hence sometimes it might zoomed too far away and need to scroll your mouse wheel a lots.
    • Deep selection. Sometimes it's hard to select something which is hiding inside meshes, hence usually I'm selecting from hierarchy with good naming behavior. However hopefully Unity would have a functions that is similar to 3dsMax where you can triple click on screen position to select something one level deeper according to the ray casting from camera.
    • It would be great if Unity has a series of viewport shortcut keys like 3dsMax's "T" for top view, "L" for left view, "B" for bottom view, "F" for front view, "P" for perspective view, "C" for main camera view, "F3" and "F4" for toggling between shading and wire-frame or both combined mode and so on for faster workflow.
     
    leemmon01 and Antypodish like this.
  27. passerbycmc

    passerbycmc

    Joined:
    Feb 12, 2015
    Posts:
    1,479
    I find blenders pretty bad as well. There is a reason why a lot of 3d apps use maya style nav instead
     
    Antypodish likes this.
  28. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    16,147
    I don't know how to handle all of these but I've learned how to handle the directions. How to manipulate the scene view camera was learned by analyzing Editor/Mono/SceneView/SceneViewMotion.cs on the Unity C# repository. As with the code posted the other day the scene view needs to be active for the keys to register.

    https://github.com/Unity-Technologi...b520/Editor/Mono/SceneView/SceneViewMotion.cs

    Code (csharp):
    1. using UnityEditor;
    2. using UnityEngine;
    3.  
    4. [InitializeOnLoad]
    5. public static class SceneViewHotkeys
    6. {
    7.     static SceneViewHotkeys()
    8.     {
    9.         SceneView.onSceneGUIDelegate += SceneViewHotkeys =>
    10.         {
    11.             Event e = Event.current;
    12.  
    13.             // Top
    14.             if (e != null && e.keyCode == KeyCode.T)
    15.             {
    16.                 SceneView view = SceneView.currentDrawingSceneView;
    17.                 view.LookAt(view.pivot, Quaternion.LookRotation(new Vector3(0.0f, -1.0f, 0.0f)), view.size, view.orthographic);
    18.             }
    19.  
    20.             // Bottom
    21.             if (e != null && e.keyCode == KeyCode.B)
    22.             {
    23.                 SceneView view = SceneView.currentDrawingSceneView;
    24.                 view.LookAt(view.pivot, Quaternion.LookRotation(new Vector3(0.0f, 1.0f, 0.0f)), view.size, view.orthographic);
    25.             }
    26.  
    27.             // Left
    28.             if (e != null && e.keyCode == KeyCode.L)
    29.             {
    30.                 SceneView view = SceneView.currentDrawingSceneView;
    31.                 view.LookAt(view.pivot, Quaternion.LookRotation(new Vector3(1.0f, 0.0f, 0.0f)), view.size, view.orthographic);
    32.             }
    33.  
    34.             // Right
    35.             if (e != null && e.keyCode == KeyCode.R)
    36.             {
    37.                 SceneView view = SceneView.currentDrawingSceneView;
    38.                 view.LookAt(view.pivot, Quaternion.LookRotation(new Vector3(-1.0f, 0.0f, 0.0f)), view.size, view.orthographic);
    39.             }
    40.  
    41.             // Front
    42.             if (e != null && e.keyCode == KeyCode.F)
    43.             {
    44.                 SceneView view = SceneView.currentDrawingSceneView;
    45.                 view.LookAt(view.pivot, Quaternion.LookRotation(new Vector3(0.0f, 0.0f, -1.0f)), view.size, view.orthographic);
    46.             }
    47.  
    48.             // Back
    49.             /*
    50.             if (e != null && e.keyCode == KeyCode.None)
    51.             {
    52.                 SceneView view = SceneView.currentDrawingSceneView;
    53.                 view.LookAt(view.pivot, Quaternion.LookRotation(new Vector3(0.0f, 0.0f, 1.0f)), view.size, view.orthographic);
    54.             }
    55.             */
    56.         };
    57.     }
    58. }
     
    leemmon01 likes this.
  29. leemmon01

    leemmon01

    Joined:
    Jan 31, 2018
    Posts:
    5
    Yeah, viewport shortcuts would be amazing!
     
  30. leemmon01

    leemmon01

    Joined:
    Jan 31, 2018
    Posts:
    5
    This is really helpful, thank you!
     
  31. recursive

    recursive

    Joined:
    Jul 12, 2012
    Posts:
    651
    It'd be great if they made the scene view fly speed user customizable. The art director at my employer has years of unreal experience and I'm getting tired of hearing him complain about it at least once a week.
     
  32. passerbycmc

    passerbycmc

    Joined:
    Feb 12, 2015
    Posts:
    1,479
    Yeah since since unreal how they had that on the scroll wheel
     
    zenGarden likes this.
  33. IgnisIncendio

    IgnisIncendio

    Joined:
    Aug 16, 2017
    Posts:
    192
    Apparently Unity 2019.1 alpha now has variable camera speeds!
     
unityunity