Search Unity

Unified Manipulation tool

Discussion in 'Editor Workflows' started by willgoldstone, Sep 30, 2016.

  1. willgoldstone

    willgoldstone

    Unity Technologies

    Joined:
    Oct 2, 2006
    Posts:
    794
    Hi all,

    We'd like your feedback on the Unified manipulation tool - an experimental Translate, Rotate, and Scale tool with a few additional features. For an overview of this tool, please take a look at the following video for details of the tool -



    This tool comes from our Paris team, who are working on a variety of artist facing additions to Unity.
    The proposed aim of the tool are to find an elegant way to combine translate, rotation and scale tool into unique widget. First, we want to explore removing the need to switch between different tools to speed up level editing (reducing the amount of shorcuts used). Furthermore, this widget aims to be an entry point for several improvements : a better surface snapping, helping to position objects within an environment. This is a first iteration, we would like to collect your feedback in order to improve this idea.

    Downloads

    You can download builds of this for PC and Mac here -

    - Mac : https://oc.unity3d.com/index.php/s/AV0nxPwzpl1tVkS
    - Windows : https://oc.unity3d.com/index.php/s/HW1f82T7At7A9W4

    Have at it! and sound off below!

    Will
     
  2. mwfelker

    mwfelker

    Joined:
    Nov 2, 2011
    Posts:
    10
    Dude this looks awesome! Will try it out and report back:D
     
    Alverik and willgoldstone like this.
  3. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    Now this is pretty cool and handy.
    this would be increase workflow
     
  4. Ferazel

    Ferazel

    Joined:
    Apr 18, 2010
    Posts:
    517
    Looks handy - I guess could we ask so that we could increase the line width/size of the widget if you're remaking it? The 1 pixel width line handles just aren't very easy to grab onto visually.
     
    LukaKotar likes this.
  5. Crystalline

    Crystalline

    Joined:
    Sep 11, 2013
    Posts:
    172
    Looking great. Nice outline shader too.
    When can we take a look at the new icons redesign?
     
  6. xenius

    xenius

    Joined:
    Sep 30, 2010
    Posts:
    523
    Holy S*** Will, that looks _incredible_.
    Any chance we could get a keypress-hold to change the scale part of the manipulator to the bounds for scaling on an axis only in one direction (akin to the gui transform scale we have now)?
     
  7. mgear

    mgear

    Joined:
    Aug 3, 2010
    Posts:
    9,448
    (Tried only few minutes for now..)

    The yellow box in middle is now for scaling..
    i think would be more useful if its directly for object placement (without having to press ctrl+shift),
    since placing objects is more common than scaling, or you would first place the object, then scale to match the location..


    ps. Please fix F key also.. (to properly frame object, instead of zooming far very very far away..or at least allow overriding the F key so can make own frame-object keypress script..)
     
    awesomedata and AaronC like this.
  8. Crystalline

    Crystalline

    Joined:
    Sep 11, 2013
    Posts:
    172
    +1000. Please fix the focus. When I focus certain objects. .it zooms out way too much.
     
    chingwa likes this.
  9. Kandy_Man

    Kandy_Man

    Joined:
    Mar 8, 2014
    Posts:
    67
    Can we please get a "snap to ground" feature? I was spoiled at uni using unreal and just being able to hit the end key to make sure objects were placed on the floor and not hovering slightly
     
    chingwa, GoGoGadget and d1favero like this.
  10. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    303
    Can you somehow add the behaviour for Scale of the 2D Transform Tool?

    That's very handy for level design, since the usual scale tool, grows in both directions from the pivot... but the 2D tool allows you to adjust the height or width or depth independently of the negative direction and the pivot... and that's really awesome.

    also the "V" short cut will still work the same right? that's also very handy and most people doesn't even know you can use V to snap to vertex.

    Other than that, the tool looks good, specially the angles while rotating.

    Speaking of rotation, sometimes when you rotate using the snap, you don't get exact values, sometimes you get things like 90.001 or things like that
     
    Malbers likes this.
  11. Zajoman

    Zajoman

    Joined:
    May 31, 2014
    Posts:
    15
    Looks cool to me. As long as the old controls remain intact, this is a fine addition for some people. +1
     
  12. LukaKotar

    LukaKotar

    Joined:
    Sep 25, 2011
    Posts:
    394
    This is great, but I think it would be even better if we could control+click to toggle which handles to use. Looks very neat!
     
    Last edited: Oct 3, 2016
  13. Or-Aviram

    Or-Aviram

    Joined:
    Dec 31, 2015
    Posts:
    6
    Awesome! Unreal had something similar, and I was waiting FOREVER for Unity to also have it! You have made my day with this. :)
     
  14. marianitomotion

    marianitomotion

    Joined:
    Mar 29, 2013
    Posts:
    1
    Looks great!!! :)
     
  15. NineDotsStudio

    NineDotsStudio

    Joined:
    Jul 16, 2015
    Posts:
    20
    Using the shortcuts QWER wasn't much of a problem, but I'm curious to try it out.
     
    Mycroft likes this.
  16. AliSOft

    AliSOft

    Joined:
    Mar 10, 2014
    Posts:
    3
    Awesome tool. I'll ping my technical artist to look into it.
     
  17. Ziboo

    Ziboo

    Joined:
    Aug 30, 2011
    Posts:
    356
    Could we have "Snap to surface" and "Snap to surface + normal" ?
     
    AaronC likes this.
  18. Deleted User

    Deleted User

    Guest

    This is awesome having to constantly switch between the different tools has always been annoying when it comes to trying to work out level design, looking forward to using this
     
  19. Fireshore

    Fireshore

    Joined:
    Aug 4, 2016
    Posts:
    2
    Looks great.

    Snapping to normal as well as surface would indeed be amazing @#17
     
    AaronC likes this.
  20. howardt12345

    howardt12345

    Joined:
    Jan 4, 2016
    Posts:
    31
    Looks pretty useful!
    I agree with some of the people here that's suggesting a Snap to surface and Snap to normal feature. That would add a lot to the functionality of this tool. Another thing that I would like to see in future updates of Unity is Multiple prefab creation. That way, I won't need to drag 75 cubes one by one into the Project browser to make a prefab out of it.
     
  21. Enrico-Monese

    Enrico-Monese

    Joined:
    Dec 18, 2015
    Posts:
    77
    Seems useful! Especially the surface snap, would be even better if it also aligned to normals.
     
  22. pravinyadav

    pravinyadav

    Joined:
    Jan 24, 2010
    Posts:
    30
    Awesome n Useful tool!
     
  23. hakankaraduman

    hakankaraduman

    Joined:
    Aug 27, 2012
    Posts:
    354
    While you are at it, please improve the vertex snapping. It leaves gaps in between the objects and that's a problem for making modular level design.
     
  24. Petr-Vejchoda

    Petr-Vejchoda

    Joined:
    Oct 27, 2015
    Posts:
    2
    You clearly didn't watch the video.
    See 1:05
     
  25. Algorun

    Algorun

    Joined:
    Feb 8, 2016
    Posts:
    1
    Hey ! Clearly this tool is very interesting but I have some troubles using it.
    Since I've copied the files into Unity dir, the scripts from SVG Importer does not work anymore...
    I have to similar compilation errors :
    "error CS0117: `UnityEditor.EditorUtility' does not contain a definition for `SetSelectedWireframeHidden'"

    Does somebody knows how to fix this ?
    Thanks :)

    [EDIT]
    Well I fixed the problem with commentaries, but I keep having some not fatal errors with UnityEditor :
    "MissingMethodException: Method not found: 'UnityEditor.PlayerSettings.InitializePropertyInt'.
    UnityEditor.Modules.ModuleManager.InitializePlatformSupportModules () (at C:/buildslave/unity/build/Editor/Mono/Modules/ModuleManager.cs:199)"

    So if someone have the solution... ^^
     
    Last edited: Oct 4, 2016
  26. Kandy_Man

    Kandy_Man

    Joined:
    Mar 8, 2014
    Posts:
    67
    Actually I did watch the video, you clearly didn't read my comment properly.

    I mentioned how in UE4 I can press end to snap an object to the object below it, what happened in the video at 1:05 looked no different to how the current tool works when it comes to moving objects around and definitely isn't snapping the object to the object below it by only adjusting its Y value...
     
  27. Regularry

    Regularry

    Joined:
    Aug 9, 2008
    Posts:
    161
    I don't post here much but I wanted to say that this is an extremely welcome usability improvement that I've wished Unity had for years.

    My other feedback is that I wish Unity would devote more focus than it has in the past to these sorts of basic usability and UI improvements. Hopefully this is the start of a new trend!
     
  28. impul101

    impul101

    Joined:
    Feb 8, 2013
    Posts:
    21
    As long as this new tool is optional. I would much rather prefer the easy shortcut keys.
     
  29. Luke_Harris

    Luke_Harris

    Joined:
    Jun 19, 2016
    Posts:
    1
    Gave it a go a few days ago, looks really promising :). I'd say with a little bit of fine tuning it'll be a really useful tool :)
     
  30. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,799
    I didn't download the build and I'm just going by what I saw on the video, but is there a particular reason why for rotation, the snap increments are by 12 degrees?

    The usual (and much more useful) is 15 degrees.

    Looks great other than that.
     
  31. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    6,365
    zdepth please
     
  32. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    I second using the center of the widget for placement along both the grid snap AND the normals (via modifier key shift/ctrl/etc) except have a CIRCLE area SURROUNDING the scale dot in the center of the widget and use THAT for placement.

    Keep the scale dot in the center for uniform scale. Put arrows on the afforementioned circle to indicate at-a-glance that it's for placement, and change colors based on the modifier key held down.
     
  33. jjejj87

    jjejj87

    Joined:
    Feb 2, 2013
    Posts:
    1,117
    hey bud, great work! got a few suggestions that I think the new manipulator should include - most of these are available in the form of "write it yourself" and "asset store" but I thought that some of these should be included out of the box.

    1. Add snap to ground (eg. press "end" key and it snaps to ground)

    2. Add simulate to ground (eg. press "pageDown" key and the selected object falls down to ground with physics, using the rigidbody-like feature to place itself on the ground) - this feature, which I use in all my level editing session, is really convenient and produces a level that makes visual sense.

    3. Rework the "f" camera focus - often it zooms too far out to be useful.

    4. Add a new function for isolating selected object (with the option of visuals only or interaction only)

    5. Add a new function for locking objects out of the scene view (eg. canvas and terrain) so that they are either visible but not interactable. I hate trying to click an object near terrain and the terrain gets selected, or the canvas object blocking my scene view.

    5. Add spline and bending - this one is long overdue.
     
  34. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Totally agree about the "F" command -- I would prefer it to go into a rotation mode around the object as well though. (Imagine Z-targeting from 3D Zelda games, but sort of an auto-look mode at the press of a key to toggle on/off)

    In that mode you could use the mouse-wheel to zoom to your liking and arrow keys (OR mouse too, depending on preferences) to rotate/zoom around/into your gameobject. Additionaly it would preserve the current vertical tilt of the camera while in this mode too until you change it with ALT or pan the camera. I often have to HOLD the F key and swap with ALT to do this to get a better view of what a gameobject is looking at in my levels, so to have Unity let me do this auto-look without funked-up controls would be a lifesaver!!
     
    Last edited: Nov 7, 2016
  35. felix_of_mars

    felix_of_mars

    Joined:
    Jul 25, 2013
    Posts:
    21
    I would say, for level editing anything is an improvement over the current snap tools. I come from Unreal where the snap tool isn't anything special but has all the grid snap features I need. The fact Unity requires extra plugins to make level design possible or at least a nice workflow is beyond me.

    I have been searching for a decent snap tool, something for easy prototyping so trying ProTools and SabreCSG and a way to export meshes from Unity to a 3D package. I am not sure why this is beyond them as stable, integrated tools?
     
    awesomedata likes this.
  36. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    I totally agree -- Unity is finally implementing a 2D tileset system so people can create 2D levels easier, but the 3D world manipulation tools are even more subpar -- and fiddly at best.

    Sure, even 3D modeling packages struggle with navigation and manipulation issues, but with as few tools as Unity supplies natively, a universal manipulator tool to move/scale/rotate shouldn't take so d*** long to design and integrate. There are plenty of great examples out there in modeling packages, and ANYTHING is better than what we currently have.


    Some ideas:

    A single key shortcut to toggle between various manipulation types/styles could work, or an icon around the tool itself to toggle these modes/styles that you can click would be great (Look into Zbrush's new universal manipulation tool). If you look at Akeytsu, too, it's got some great ideas on visual manipulation that could be borrowed and tweaked.

    Also, look at my earlier post -- using the F key to focus on an object and zoom/rotate/manipulate the camera while in this 'focus-mode' would rock supremely.



    Feedback for the current experimental manipulator tool -- when rotating or manipulating in screen space, allow the user to also press a key to snap the camera flat on a plane relative to the object's nearest axis.

    -- In other words, if I'm near the front of the object (view-wise) and I want to move that object up/down, snap the camera's view to the front view of that object where the object's local Z is facing the screen and Y is up, then let me move the object up/down from that position (much more helpful than direct screen-space manipulation!!)
     
    Last edited: Dec 29, 2016
  37. Xepherys

    Xepherys

    Joined:
    Sep 9, 2012
    Posts:
    204
    This seems pretty slick.
     
  38. Rodolfo-Rubens

    Rodolfo-Rubens

    Joined:
    Nov 17, 2012
    Posts:
    1,197
    Why put it as experimental instead of just putting in release builds? It's solid and it works, what bugs could it be there? Just release it already!
     
  39. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    I agree - why wait? At least put it in the 2017 beta.
     
  40. Alverik

    Alverik

    Joined:
    Apr 15, 2016
    Posts:
    417
    Why haven't they released this yet? It's great!
     
  41. Don-Gray

    Don-Gray

    Joined:
    Mar 18, 2009
    Posts:
    2,278
    Looks sweet!
     
  42. Autarkis

    Autarkis

    Joined:
    Oct 10, 2011
    Posts:
    318
    Definitely trying and will report back. Looks very interesting.
     
  43. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    6,365
    Looks efficient except for one thing missing: these new gizmos still have no z-depth
     
  44. alexanderameye

    alexanderameye

    Joined:
    Nov 27, 2013
    Posts:
    1,383
  45. Devil_Inside

    Devil_Inside

    Joined:
    Nov 19, 2012
    Posts:
    1,119
    Movement along plane is kind of broken: If 2 planes overlap, the further one gets the mouse focus:
     
  46. Rodolfo-Rubens

    Rodolfo-Rubens

    Joined:
    Nov 17, 2012
    Posts:
    1,197
    I think that's how it should work... actually, using this gif as an example, the blue plane should be hidden and only get visible if you rotate the camera a little bit more making the green plane perpendicular to the camera. IIRC, that's how it works in Maya.
     
    Harinezumi and laurentlavigne like this.
  47. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Really liking the new tool. One observation - The axis scaling handles are missing in the 2017.3 B5, is this expected? The center scaling handle is there and works, though.
     
  48. Devil_Inside

    Devil_Inside

    Joined:
    Nov 19, 2012
    Posts:
    1,119
    Why though? In this particular case I expect to be able to use all 3 planes. Isn't it more intuitive that the objects closer to camera get the mouse focus first?
     
    Rodolfo-Rubens and Jaimi like this.
  49. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419

    From a UI design standpoint, since the view is from overhead (the view, which was placed by the user himself), the tool should favor the plane most visible to him (which is the X/Z plane in this case), therefore the X/Y plane control should be hidden.


    HOWEVER -- I do think you're on to something -- the tool has messed up the planes from an intuitive standpoint.

    At the very least, Unity should draw the square with a separate red/green line for the plane XY plane manipulator (to signify a red/green axis) and color its fill grey -- OR, even better, color the inside of the box/plane manipulator yellow or brown or something (some color mix BETWEEN the two axis~!) -- because right now, the manipulator is saying to the user (me/you): "Hey, this is the "Z" axis you're moving around on!" and that's when my brain tells me "wait, what? What axis am I actually ON??" -- and then I have to actually *think* about it.

    Even though I can clearly see the green/red axis nearby, when I'm manipulating, I shouldn't have to THINK about what axis I'm on -- I should be able to rely on color -- which is what this whole system of red/green/blue was designed for. We just need a brown / purple / aqua to complement it (some hint at a mix of the two axis colors) so that we can know at a glance which plane (two axis) we're working on.
     
  50. sama-van

    sama-van

    Joined:
    Jun 2, 2009
    Posts:
    1,734
    Why didn't they integrate this into Unity build yet?? :D :D