Transparent Object Markers

Involved development of the OpenMW construction set.
User avatar
drummyfish
Posts: 154
Joined: 22 Oct 2017, 10:13
Contact:

Re: Transparent Object Markers

Post by drummyfish »

I've been looking at Skyrim editor and it has the constant screen-size, rendered over environment style manipulators, basically same as Blender.
User avatar
AnyOldName3
Posts: 2666
Joined: 26 Nov 2015, 03:25

Re: Transparent Object Markers

Post by AnyOldName3 »

No, but I'm going to try.

If you have a single marker with a fixed size in screen-space drawn on top of everything, but also serving as the centre of rotation for the camera, you can see all parts of the tool at all times, always have it appropriately sized for the current view, and don't get confused about its depth. Any other approach loses one or more of these properties.
aesylwinn
Posts: 243
Joined: 14 Dec 2015, 20:30

Re: Transparent Object Markers

Post by aesylwinn »

AnyOldName3 wrote: 16 Nov 2017, 20:31 you can see all parts of the tool at all times, always have it appropriately sized for the current view
Those are good points, and further reason to test it.
AnyOldName3 wrote: 16 Nov 2017, 20:31 but also serving as the centre of rotation for the camera, ... don't get confused about its depth
I found this to be inaccurate, at least in regards to blender. In blender, the marker is not the center of rotation for the camera. Also, depth confusion with the markers can easily occur. As a test, I set up a scene with two boxes. After selecting the two, I manipulated the camera until the marker was behind one of the boxes. How did I know the marker was behind one of the boxes? Certainly not from looking at it. The markers always have a screen space size, as you mentioned, and they are also always drawn on over everything else. I knew it was behind the box because I was mentally keeping track of its spatial position. Had I first selected the two boxes from that orientation, I would not have known the position of the markers.

There have been many comments using blender as an example of how markers are done right. I just want to point out why this seems strange to me. When I first went through some blender tutorials a couple years ago, one of the first things mentioned was that the user should hide the markers and use the keyboard shortcuts instead. That was several years ago, so perhaps that is no longer suggested, but still, how many people actually use the markers in blender for anything serious?

A bit of an announcement. I have had several important school projects recently assigned to me. Until those are completed, I will not be able to work on this. So don't expect anything from me for at least two weeks.
User avatar
AnyOldName3
Posts: 2666
Joined: 26 Nov 2015, 03:25

Re: Transparent Object Markers

Post by AnyOldName3 »

I just realised that I never actually use the markers in Blender for anything other than keeping track of which way each axis is pointing, and have pretty much exclusively used keyboard shortcuts since my first half hour of Blender usage. In terms of keeping track of which way is which way, I guess keeping track of the marker position doesn't really matter. Also, I guess I sometimes use it jumping when I select something as a visual cue that I've actually selected a thing and that that thing is the thing I was aiming for.
User avatar
drummyfish
Posts: 154
Joined: 22 Oct 2017, 10:13
Contact:

Re: Transparent Object Markers

Post by drummyfish »

aesylwinn wrote: 17 Nov 2017, 17:57How did I know the marker was behind one of the boxes? Certainly not from looking at it.
I think in Blender I mostly get the depth clue by rotating the scene all the time. If I have something selected, I can hardly tell how far away it is, but I keep rotating and translating the camera slightly, which gives me that 3D perception (like when you move your head IRL to get a sense of distance). And it works. I think we should consider if this is how we want the editor to work though, i.e. if the users are supposed to keep their hand at the mouse all the time and do these small movements, as they're also filling in text data, for which they need both hands, etc. The best way would simply be to make two implementations and then test which one feels better.
aesylwinn
Posts: 243
Joined: 14 Dec 2015, 20:30

Re: Transparent Object Markers

Post by aesylwinn »

drummyfish wrote: 17 Nov 2017, 20:37 I keep rotating and translating the camera slightly, which gives me that 3D perception (like when you move your head IRL to get a sense of distance)
Neat, I didn't think of that. Still, that is with rotation around a center point. That is only one of the camera modes that the editor supports. It will be less effective with linear movement.
AnyOldName3 wrote: 17 Nov 2017, 18:48 I guess keeping track of the marker position doesn't really matter.
Blender does have a have an indicator in the bottom left corner to help with that. We still need to do some testing, but I'm starting to wonder if the depth really matters. Well, I guess we'll find out. :)
User avatar
AnyOldName3
Posts: 2666
Joined: 26 Nov 2015, 03:25

Re: Transparent Object Markers

Post by AnyOldName3 »

That is only one of the camera modes that the editor supports. It will be less effective with linear movement.
If the camera is perspective, not orthographic, then I'm pretty sure comparison as it moves or pans or whatever will still lead to it looking fine.
Lamoot
Posts: 176
Joined: 22 Apr 2016, 12:03

Re: Transparent Object Markers

Post by Lamoot »

Zini wrote: 16 Nov 2017, 10:21 At least the variant you are showing there for rotation would be unnecessary hard to grab. But I am not opposed to the idea in general.
It was a quick idea where the solution used for translation and scale could be used for rotation, though I'm not convinced by it either.
aesylwinn wrote: 17 Nov 2017, 17:57 When I first went through some blender tutorials a couple years ago, one of the first things mentioned was that the user should hide the markers and use the keyboard shortcuts instead. That was several years ago, so perhaps that is no longer suggested, but still, how many people actually use the markers in blender for anything serious?
In my workflow I have them disabled 99% of the time. For regular and demanding work, the keys are much faster. When I'm explaning Blender in person, I suggest turning markers off, while also explaining the shortcuts. However with no prior knowledge of Blender or OpenMW-CS, not seeing any markers by default is a sure way to confuse the user.
Mojo wrote: 15 Nov 2017, 12:27 1) Doesn't it already get confusing right now when you have several markers? Mabe we should also use the pivot point or only draw the marker of the last selection.
2) How are you supposed to move an object, when one axis of the marker is hidden in other objects like in this case? That's happening quite often when you work with wall pieces.
In light of these problems the shape alone won't help much. My vote is on having a screenspace-sized marker drawn on top everything else.
Mojo wrote: 15 Nov 2017, 12:27 Another topic, but also important: The rotation also uses the individual pivot points of objects instead of a mutual one.
Scale also does that.
In Blender, you can specify the pivot point before a transformation and each is useful for something.

* Bounding box center
* Active (last selected) element
* Individual origins
* Median point
* 3d Cursor

OpenMW-CS would benefit having at least a pivot for all objects together and a pivot for individual objects (the latter is what's currently happening).
Mojo
Posts: 10
Joined: 08 Nov 2017, 17:13

Re: Transparent Object Markers

Post by Mojo »

aesylwinn wrote: 15 Nov 2017, 16:03 A single marker certainly has its advantages. It's reduces the clutter. With transparency it also allows for drawing over everything else, which increases the usability of the marker.
A single transparent marker definitely increases usability compared to the current implementation. This should be the goal, except for case A there would multiple rotation markers also make sense. (see last answer)
aesylwinn wrote: 15 Nov 2017, 16:03 For multiple markers, you are not forced to look at a single location to click on the markers. Are there other advantages? It would be good if we had some insight into why they were first implemented the way they were before making a final decision.
Using multiple markers just for "not being forced to look at a single location to click on the markers" would only help for moving the objects, but it does not work for scaling and rotation (except case A). A single marker would be a better choice there. Also multiple marker make the scene more confusing, which is a larger drawback than being forced to "look for" the single marker. Also if the marker is drawn above the object, you don't have to look for it. :)
aesylwinn wrote: 15 Nov 2017, 16:03 Regarding the pivot point, do we want the option to choose between shared and individual centers? How useful would that be?
Yes we need a way to choose between shared and individual centers. Explanation below.
Lamoot wrote: 19 Nov 2017, 14:58 In Blender, you can specify the pivot point before a transformation and each is useful for something.
* Bounding box center
* Active (last selected) element
* Individual origins
* Median point
* 3d Cursor
OpenMW-CS would benefit having at least a pivot for all objects together and a pivot for individual objects (the latter is what's currently happening).
Unfortuantely the transformations with pivot points get more complex for multiple objects than single objects. For single objects you only change the place (=translation) or the rotation or the scale. This is also the case for translating multiple objects or rotating multiple objects around individual origins, but the transformations can also get combined for multiple objects.

Rotation:
A) Rotation with individual origins as pivot points => rotation-only-transformation (=current behaviour)
B) Rotation with Bounding box center as pivot point => rotation-translation-transformation
C) Rotation with 3D Cursor as pivot point => rotation-translation-transformation

Scaling:
D) Scaling the object size, but constant distance between objects => scaling-only-transformation (=current behaviour)
E) Scaling object size and changing object distant => scaling-translation-transformation
F) Changing object distance, but contant object size => translation-only-transformation (although it's a scaling operation)

There are also other scenarios, but I think those 6 scenarios are the most interesting ones for OpenMW-CS.
A+D are the current behaviour, B+E are definitely needed and should be added, C+F are useful, but they are not as important as the other 4.
aesylwinn
Posts: 243
Joined: 14 Dec 2015, 20:30

Re: Transparent Object Markers

Post by aesylwinn »

Mojo wrote: 19 Nov 2017, 18:33 Scaling:
D) Scaling the object size, but constant distance between objects => scaling-only-transformation (=current behaviour)
E) Scaling object size and changing object distant => scaling-translation-transformation
I just want to point out that D is the case where the "pivot point" is at the center, while E is the case where the "pivot point" is at the center of the selection.

I have started a branch to test out the single marker approach. However, at the moment anyway, I'm not feeling motivated to continuing working on it. If anyone is interested in taking on this task, then feel free to. This task does require a good understanding of 3D mathematics, you have been warned. :lol: Also, I should emphasize that this is a test at the moment, not a guaranteed feature. Anyway, here is my branch, which could be useful as a reference or as a starting point.

On a side note, the transparent markers were merged into master a little while ago with a fix for the rotation markers.
Post Reply