News:

 

Topic: Bugs in "Manipulation Input" window  (Read 10297 times)

0 Members and 3 Guests are viewing this topic.

  • No avatar
  • Posts: 976
  • Polygon
February 18, 2013, 09:26:12 pm
Hello.
I think there's a bug in Manipulation Input window, where object's scale values don't get updated if user performs non-uniform scaling in the viewport.

Also, if the object is not sitting right at the origin, then scaling results in translation being added in object's Location transform channel.

http://youtu.be/HCcWzns5ATY
(please turn on annotations in the video)

  • No avatar
  • Posts: 3758
  • Developer
  • Administrator
  • Polygon
February 18, 2013, 09:59:43 pm
The scaling behaviour is intentional. Because manipulator's orientation does not necessary the same as the object, so non-uniform scaling can't always transfer to object's individual scaling.

The are two scaling options you may want to look at.
Edit > Options > Maintain Object Position/Scale On Scaling.

  • No avatar
  • Posts: 976
  • Polygon
February 18, 2013, 10:24:17 pm
The scaling behaviour is intentional. Because manipulator's orientation does not necessary the same as the object, so non-uniform scaling can't always transfer to object's individual scaling.

The are two scaling options you may want to look at.
Edit > Options > Maintain Object Position/Scale On Scaling.
Thanks for your reply.

Okay, but if you take a closer look at the video, I'm using object's local rotation axis as well as object's position as LRA and position of a scale manipulator (displayed on the HUD ;D). So, it should remember non-uniform scaling and update the values appropriately.
What's more, if you use the little squares by the "Manipulation Input"->"Individual Objects"->Scale text fields to scale individual axes, the program does remember it.

I understand the problems with scaling an object in non-object space. I believe the program would have to bake that scale somehow into components and a user wouldn't be able to return the object to former shape even by setting all scale channels back to 1. But with non-uniform scaling in object's space, I really think this should work.

What about those "Location" values being increased/decreased on scaling? The pivot is inside the object.
« Last Edit: February 18, 2013, 10:26:44 pm by rubberDuck »

  • No avatar
  • Posts: 2103
  • Polygon
February 18, 2013, 10:50:32 pm
The scaling behaviour is intentional. Because manipulator's orientation does not necessary the same as the object, so non-uniform scaling can't always transfer to object's individual scaling.

Sorry, but that does not make sense.
If that was correct, then how can the "Transform Value Display" show the change in non-uniform scaling? It appears to me more a case that the change is known, but then discarded.

  • No avatar
  • Posts: 3758
  • Developer
  • Administrator
  • Polygon
February 18, 2013, 10:59:30 pm
Because is only possible when object space and manipulator space are the same, I feel it may cause confusion whether you have scale mesh or you have scale object, so I just make it this way to make things simpler.

"What about those "Location" values being increased/decreased on scaling? The pivot is inside the object."
If you turn on 'Edit > Options > Maintain Object Position/Scale On Scaling' option, the object's location shouldn't be changed during scaling.

"If that was correct, then how can the "Transform Value Display" show the change in non-uniform scaling? It appears to me more a case that the change is known, but then discarded."
The scaling value displayed only shows you the scaling value used in manipulator's space. It may not conform to the object's individual scale. You can orient the object away from world space, scale the object in world space non-uniformly, rementer its shape, undo the scaling, the try to scale the object non-uniformly int its own space and see if you can get the same shape as the one scaled in world space.

  • No avatar
  • Posts: 976
  • Polygon
February 18, 2013, 11:27:03 pm
Because is only possible when object space and manipulator space are the same, I feel it may cause confusion whether you have scale mesh or you have scale object, so I just make it this way to make things simpler.
IStonia, sorry for repeating myself, but on the video the manipulator space -is- the same as object's.

Quote
"What about those "Location" values being increased/decreased on scaling? The pivot is inside the object."
If you turn on 'Edit > Options > Maintain Object Position/Scale On Scaling' option, the object's location shouldn't be changed during scaling.
If I turn those both options on I cannot scale the object any more.
I don't think that the objects changes location though. It looks more like the variable responsible for keeping object's location information looses precision. I don't know, but it's weird.

Quote
"If that was correct, then how can the "Transform Value Display" show the change in non-uniform scaling? It appears to me more a case that the change is known, but then discarded."
The scaling value displayed only shows you the scaling value used in manipulator's space. It may not conform to the object's individual scale. You can orient the object away from world space, scale the object in world space non-uniformly, rementer its shape, undo the scaling, the try to scale the object non-uniformly int its own space and see if you can get the same shape as the one scaled in world space.
Again, it happens when manipulator -is- in object's space. The values are not remembered when they should be.

  • No avatar
  • Posts: 3758
  • Developer
  • Administrator
  • Polygon
February 18, 2013, 11:45:31 pm
I know what your intention is. If I did it in your way, you will be ok, but other people may get confused. For example, if a person select two objects with different space orientation then scale them non-uniformly. He thinks only the object's individual scale would be changed and he can reset the scale later. Surely he is totally wrong here and he may get crazy when he find out that he can't get them back to where they were before because the manipulator's space can only possibly the same as one of them.

Surely if you turn on both of them, nothing will happen because nothing will be scaled.

  • No avatar
  • Posts: 2103
  • Polygon
February 19, 2013, 12:25:31 am
The scaling value displayed only shows you the scaling value used in manipulator's space. It may not conform to the object's individual scale. You can orient the object away from world space, scale the object in world space non-uniformly, rementer its shape, undo the scaling, the try to scale the object non-uniformly int its own space and see if you can get the same shape as the one scaled in world space.

I would not expect to obtain the same result from different space orientations of scaling, and I highly doubt others would. But I and (IMHO) others, would expect an update to the objects scale rather than the scale showing the same after a scaling operation.

Why not give the objects scale based on its bounded box? That is done if you non-uniform scale the object in the "Manipulation Input-> Individual Object -> scale"
If the scale is made non-uniform away from bounded box alignment, then more than one axis size/scale on the objects bounded box is changed, why not reflect that in the scale values?

  • No avatar
  • Posts: 3758
  • Developer
  • Administrator
  • Polygon
February 19, 2013, 12:40:15 am
I would not expect to obtain the same result from different space orientations of scaling, and I highly doubt others would. But I and (IMHO) others, would expect an update to the objects scale rather than the scale showing the same after a scaling operation.

Why not give the objects scale based on its bounded box? That is done if you non-uniform scale the object in the "Manipulation Input-> Individual Object -> scale"
If the scale is made non-uniform away from bounded box alignment, then more than one axis size/scale on the objects bounded box is changed, why not reflect that in the scale values?


If you have only one object selected and the manipulator is in the object's space, that won't be a problem. But if you have two objects selected and they have different scales on them or they have different orientations, that would be a different case.

  • No avatar
  • Posts: 976
  • Polygon
February 19, 2013, 12:48:59 am
I know what your intention is. If I did it in your way, you will be ok, but other people may get confused. For example, if a person select two objects with different space orientation then scale them non-uniformly. He thinks only the object's individual scale would be changed and he can reset the scale later. Surely he is totally wrong here and he may get crazy when he find out that he can't get them back to where they were before because the manipulator's space can only possibly the same as one of them.

Aah, so that's what you mean.
Sorry that I didn't get it earlier, but I was thinking Maya-wise about the whole object space scaling issue.

I'm sure you know it, but I'm going to say it anyway. You see, in Maya when a user selects multiple objects, sets the scale tool to use object space and starts to scale those objects non-uniformly, they all scale along their corresponding local axis. So there's no distortion at all. Meaning, that a user can return them to their previous shape at any time.

I've tried this in Nvil and the program seems to centre the scaling manipulator in the average position of all selected objects' pivots and it sets the manipulator into world space. And this, when a user performs a non-uniform scale operation on group selection, does indeed result in distortion of all objects that don't have their local axes matching the world.

So, in this particular case of group selection, the solution currently implemented into Nvil is justified I think.

But, if only one object is selected and a user is performing a non-uniform scaling operation within object's space, it would really be great if Nvil remembered the scaling a user applies (that is, if future implementation of Maya-wise object space scaling of multiple objects is out of the question). ;)

Quote
Surely if you turn on both of them, nothing will happen because nothing will be scaled.
Ok, figured it out. But why did I have to turn it on at the first place? I fully understand that it's a feature that makes a life easier when object's pivot is not in it's centre, but that doesn't explain weird changes in Location, because in the video example I provided pivot was in the centre of the object. Sorry for grilling, but I'm a rather curious person.

  • No avatar
  • Posts: 2103
  • Polygon
February 19, 2013, 12:53:06 am
If you have only one object selected and the manipulator is in the object's space, that won't be a problem. But if you have two objects selected and they have different scales on them or they have different orientations, that would be a different case.

They probably have different original sizes, but does that mean each individual objects sizes cannot be updated to reflect the change.
Either the objects scale is based on its bounded box, or it is not. As it is now, the scale values do not always reflect scale changes.

  • No avatar
  • Posts: 2103
  • Polygon
February 19, 2013, 01:00:35 am
..........in Maya when a user selects multiple objects, sets the scale tool to use object space and starts to scale those objects non-uniformly, they all scale along their corresponding local axis. So there's no distortion at all. Meaning, that a user can return them to their previous shape at any time..

In the "Manipulation input" window, use the "Individual objects" Scale to adjust the axis.(you can LMB+drag next to each of the scale values to change axis scale, RMB to restore to scale of 1)
I have hoped you could do the same with individual sizes, but that does not work.

Maybe one day we will see realtime feedback on size changes.
« Last Edit: February 19, 2013, 01:07:14 am by steve »

  • No avatar
  • Posts: 3758
  • Developer
  • Administrator
  • Polygon
February 19, 2013, 01:36:37 am
but that doesn't explain weird changes in Location, because in the video example I provided pivot was in the centre of the object. Sorry for grilling, but I'm a rather curious person.

I watch the video over and over again, but just can't get what is the translation problem you talked about. By translation, do you mean the object's location? How can I tell it is changed.

Yeah, you can do the same as Maya does in 'Manipulation Input' window. You can also do the same thing to location and rotation. Make sure you have multiple objects selected and they have different orientations.

  • No avatar
  • Posts: 976
  • Polygon
February 19, 2013, 01:58:52 am
Oh sorry. Yes, by translation I mean object's location (Individual objects->location). Take a closer look at the marked area on the image. Run the video from 1:00 to 1:15 and from 1:39 to the end. See how the location values in those text fields change when I scale the object that isn't located at the origin? Hope it helps.

  • No avatar
  • Posts: 3758
  • Developer
  • Administrator
  • Polygon
February 19, 2013, 02:26:06 am
The following conditions together may cause it
  -Object bouding box center and object location not the same.
  -Manipulator pivot position set to 'Selection', which uses bounding box center.
  -'Edit > Options > Maintain Object Position On Scaling' is off.