Page MenuHome

Scene scale and lattice problem.
Closed, InvalidPublic

Description

System Information
Windows 7 Premium X64 with Intel i7 3770k and 16GB of RAM
nVidia Geforce GTX 660 Ti 2GB

Blender Version
Blender 2.72 standard release version downloaded from Blender.org download page.
Worked: never worked.

Short description of error
and

Earlier today I reported a bug about lattice not working. It is my fault, I now realized it is not the problem of the lattice, but rather something about scene scale factor.

Exact steps for others to reproduce the error

Go direct to default start up file, and change scene scale.

  1. When changing scale from 0.01 to 1.0, the grid becomes 100 times smaller. From 1.00 to 0.01, the grid will be 100 times bigger.
  2. Create a cube in both situations, notice if the cube remained the same size on screen, lattice will work correctly. If the cube size changed with the grid size, then the lattice will not work properly.
  3. I have no clue why sometimes changing scene scale will not take the default create object size with it. Sometimes after the scale change, the create object size are visually the same, sometimes the cube just become huge and the viewport goes inside the cube <-- and that's when the lattice fails.

*When changing scene scale on the go, whatever has been created, the size will be saved for next same object creation. but things that hasn't been created will use the scene scale of which the scale at the time of creation. For example, if I create a cube at 0.01 scale, it will be huge, but if I now change the scene scale back to 1, I can create a regular sized sphere or ring, but when I create another cube, the size remains the same as when the scene scale was 0.01. If now I change the scene scale back to 1.0, whatever I've created once, will have its creation size fixed. so the cubes will be huge, and spheres and rings will be small. if I change the scene scale to 0.5, and create a plane, then the plane will be sized in between the cube and the sphere. And if the lattice were created as the huge version, which means to be created under a scene scale of 0.01, then it would not work.

Details

Type
Bug

Event Timeline

Brent Lio (remotecrab131) raised the priority of this task from to Needs Triage by Developer.
Brent Lio (remotecrab131) updated the task description. (Show Details)
Brent Lio (remotecrab131) set Type to Bug.

Note to reset the fixed creation size of objects, a restart of blender application is needed. But sometimes restarting won't even reset it, I have no clue why.

Thomas Dinges (dingto) renamed this task from Scene scale and lattice problem. I AM NOT JOKING, PLEASE TAKE THIS SERIOUSLY. to Scene scale and lattice problem..Oct 8 2014, 5:32 AM

Fine... anyway...

I just want to update the 2nd point a bit.

It is not if cube size changed with grid size or not that affects the lattice modifier. It is that if the lattice is created under a scene scale of 0.01(for example), and it is visually sized up as one grid, which should be normal size, visually, then the lattice wouldn't work as it supposed to. But, if the lattice is created under a scene scale of 0.01, but it is visually tiny compare to the grid, then the lattice will work.

Again, I have no clue of why and every one is saying I either edited it in edit mode or I applied the transform, which I carefully avoided doing in all of the testings today. This problem actually exists.

I'll give up eventually.

Lukas Toenne (lukastoenne) lowered the priority of this task from Needs Triage by Developer to Needs Information from User.Oct 8 2014, 10:26 AM

Sorry, but i can't follow these descriptions. I can't see anything wrong with the behavior. It would help a lot if you could create a test file with a specific issue that we can look at. Otherwise i'll have to close thise report.

Please have a look at this forum post: http://blenderartists.org/forum/showthread.php?351134-Weird-problem-I-encountered-with-lattice-modifier&p=2741153&viewfull=1#post2741153

In that post I added a small video and an image showing some more information on this issue. The problem seems to derive from the "Radius" setting for lattices in the "Add object"panel which was newly introduced with 2.72 and seems unrelated to the scene scale.

Lukas Toenne (lukastoenne) claimed this task.

This is indeed not a bug but intended behavior (btw no "scene scale" used at all - this is why test files are useful, because terminology can be confusing).

Consider what happens when you set the Radius property: this is exactly the same as going into edit mode on the lattice, selecting all vertices and scaling by factor of 2. On the other hand scaling the lattice object does not change vertex positions in local space and so has no effect on modified objects.

Sorry, but this is IMHO at least a usability glitch.
Suddenly exposing a new setting (radius) to the user which can as a result completely sabotage the function of the lattice object in conjunction with the lattice modifier is a massive regression.

This is indeed not a bug but intended behavior (btw no "scene scale" used at all - this is why test files are useful, because terminology can be confusing).
Consider what happens when you set the Radius property: this is exactly the same as going into edit mode on the lattice, selecting all vertices and scaling by factor of 2. On the other hand scaling the lattice object does not change vertex positions in local space and so has no effect on modified objects.

I have never set the radius.

I only created the cube and lattice in 0.01 scene scale, and they are relative sized with the grid, which means they looks to be 100 times bigger than what's in the default scene. However when i scaled the lattice to wrap it around my mesh, and added the lattice modifier on my mesh, the modifier worked as if my lattice is tiny inside my mesh and my mesh is now wrapped around my lattice.

I uploaded multuple files on this site in another post, and blender artist forum, but no one seems to understand.

I'll follow up with something more to further demonstrate this issue. And why creating a lattice with a radius of 100 is considered applying the transform? I mean it's just created and nothing other than creation has been done. I dont see any sense in this.

"No one seems to understand" because the initial message was poorly communicated, both here and at blenderartists. The file you linked there (http://www.pasteall.org/blend/31965) does indeed contain a lattice that has Scale way lower than that of a newly created lattice scaled to the same dimensions.

You're saying that you did nothing with the objects, aside from scaling the lattice in object mode. Yet the objects clearly don't look as if they were freshly added to the scene (the sphere would be 2cm in dimensions then, not 2m). So this report is not about lattice per se, but about objects not responding to the change of the Scale setting in Scene -> Units, or rather, responding unexpectedly?

Could you try and pinpoint the exact circumstances when that happens? So a "sometimes" from pt.3 of your initial post could be turned into a set of steps that could be repeated to get that same behavior.

I'm sorry about the confusions, but I didn't have a clue of what is really the problem in the beginning. I only happens to know that my lattice isn't working properly because of all what has been the problem that all of us pointed out.

Defining the terminology:

Irregular scene scale (ISS): When scene scale is not equal to 1.0.

Object creation size(OCS) : the size of a type of object at creation. I tested this with blender, and found out this Object creation size is somewhat related to the scene scale, but it is unstable. If I go into a blender default start up file, immediately change the scene scale and then create an object, the chances are, OCS will change accordingly to match the scene scale.

Incorrect OCS: When you have already created an object in the scene with certain scene scale, then you change the scene scale to another value, the previous object you have created now will have an OCS that is not relative to the new scene scale, it remains relative to the old scene scale.

Correct OCS: It is when you created the object the first time, it will always be correct scale, and if you do not change scene scale, all object will all stay with correct OCS.

Here is one problem. When the lattice is created under ISS situation, the lattice creation will automatically reset its radius to match the scene scale, please note that I did not make any changes to its radius on my behalf. So then according to lukastoenne, setting the radius works as if you go in edit mode and scale things up, or basically, apply transform. This eventually made the lattice working not properly under irregular scene scale.

I'll follow up with more description later.

https://developer.blender.org/T42131

This is the other post where I initially reported this "intended behavior". <-- sarcasm right here. But since I've discovered many new interesting conditions on this matter, I don't think it will be much helpful to read through it.

I don't expect any of you to understand why I'm so mad right now... but I insist someone take a serious consideration of this matter. And follow the exact steps below to recreate this matter. (Follow the exact steps without letting habits get into the way is advised.)

Get a startup file that contains a scene scale of 1.000 using metric ( you can find this section in scene property panel)

-1. Double check if the scene scale is exactly at 1.000 metric. Note that no edit mode should occur and no apply transform action should be executed through this entire operation.

0. Default everything if you don't mind, but do reset 3D cursor to the center of the grid. (Do turn on the grid)

  1. Create a UV sphere. Shift-A, mesh, UV sphere.
  1. Notice how big it visually is.
  1. Delete the infamous UV sphere, we don't need it anymore.
  1. Go to the scene property panel, and change the scene scale value to 0.01.
  1. Now, create a cube. Shift-A, mesh, cube. Here goes a branch.
    • A. If this cube, has a visually similar size compare to the infamous UV sphere, then you just failed to recreate this glitch.
    • B. If you notice that the cube wasn't nearly close to the size of the UV sphere because of that your view port is within the box itself, then you successfully find the worm hole that leads to this glitch.
  1. If you successfully get to 5B. Now you will zoom out, let the view port frame on the cube. Create a lattice. Shift-A, Lattice. Here goes a branch again.
    • A. If this lattice, only need to be scaled up 2 times to perfectly fit onto the cube you just created, you pass. Check by press S, 2, in object mode, look, then cancel it.
    • B. If this lattice, needs to be scaled up 200 times to perfectly fit onto the cube, you fail. Check by press S, 200, in object mode, take a look, then cancel it.
  1. If you pass 6A, then scale the lattice up 2 or 2.5 times, no matter which. (Just get the lattice to scale up that it can wrap around the cube.)
  1. Add a lattice modifier for the cube. Select the cube, go to modifier panel, add lattice modifier.
  1. Designate the lattice modifier on the cube to use the lattice you just scaled up 2 or 2.5 times.
  1. See for yourself of what is going on. If you find the lattice working the way everyone should have expected, then I must be a retard that I broke my blender on my computer, and I wil sincerely apologize for all these crap I've lead you to.

Have tried it and found no bug. But i can understand the problem.

I think lattice objects havent taken GridFloorScale into account before 2.72, therefore all lattice operations started with no deformation.
Now you get already changed lattices if your GridFloorScale isnt 1.00 and you forget to correct it in the radius setting (tools). This can be confusing indeed, the decision may be questionable.

For your last example, simply try to change your lattice back in Editmode to 50cm in each direction.

Have tried it and found no bug. But i can understand the problem.
I think lattice objects havent taken GridFloorScale into account before 2.72, therefore all lattice operations started with no deformation.
Now you get already changed lattices if your GridFloorScale isnt 1.00 and you forget to correct it in the radius setting (tools). This can be confusing indeed, the decision may be questionable.
For your last example, simply try to change your lattice back in Editmode to 50cm in each direction.

Yea, that worked. I thank you very much for actually helping me to solve the problem here. I really do appreciate that. However, please don't accuse me for "forgetting to correct it in the radius setting".

What I visually perceived from Blender is that I've always properly wrapped the lattice around the object that I wanted to modify. It never had an indication or did it tell me that the lattice is actually 100 times smaller than how it looked like. Wither this is a bug or not, this is not supposed to happen and this is not what people expected to be happening, well at least I never expected something like this to happen.

This is like saying: "A cup of coffee that looked like coffee, smells like coffee, tastes like coffee isn't actually a cup of coffee and it doesn't do what a cup of coffee do."

If I can throw on the Jackie Chan's meme, that would be the perfect expression of me about what happened here on the report, and with my blender.

I just deleted a bunch of other crap about how I just can't stop being sarcastic here... but I figured this is a bug report and I love blender... I'll just save those crap for myself and hope this thing actually deserve a change or fix.

Sry i didnt want to sound offensive.

GridFloorScale isnt 1.00 in 95% of my files - I use the "Snap during transform" (magnet) tool a lot in combination.
Its a troublemaker for me as well, but luckily you have to change radius only one time per blenderstart so it isnt a big deal.

Nevertheless, for lattices i think it makes more sense to keep 2.71 behaviour.
Maybe an unintentional change or mistake?

Ok I was about to post a new bug report and found this one; wondering if I am suffering from the same issue here.

I have 2.72a:

  • Deleted Blender preferences to return to vanilla state,
  • Set units to Metric,
  • Set scale to 0.01,
  • Saved this as startup file and restarted Blender, with no other changes.

Steps:

  • Add lattice to default scene with cube,
  • Scale lattice to be bigger than the cube,
  • Add modifier to cube and set object > lattice.

Result:

  • Cube jumps in scale beyond bounds of lattice,
  • All lattice deformations are "skewed" (not sure if that is correct word).

I also tried deleting the cube and adding a new one as the above seems to mention differences in object data depending on whether they were added pre/post changing global scale. Same results.

Here is the resulting Blend:

http://www.pasteall.org/blend/32270

I came to this as, in a much more complicated model, adding a lattice shifted objects around and did all sorts of weird, unusable stuff. Sorry, I don't quite understand the implication of "forgetting to correct it in the radius setting"; does doing that to a newly created lattice fix this issue? If so, what measurement should be entered for global scale of 0.01?

Your values should be 50cm*0.01 = 5mm in each direction.
Havent touched this setting until now, but i think if you arent forced to change the Units scale keep it at 1.000.

We have referred to the Grid Floor Scale in above posts. Press "N" to find it under "Display".
If you change Scale here, all newly created objects are edited by default to this scale.
As i found out now, all objects were updated to use it.
Cameras, Emptys, Lattices, Armatures (unfortunately they forgot to take Shift+A into account) werent affacted before 2.72.

I dont know if the Unit scale managed this different in previous versions, but looks like the same issue here.
Always check your mesh/lattice radius with "T" (panel in the lower left) after adding new objects.

May as well put a difference between grid floor scale and scene scale. Those two are totally different things. I did not know about the grid scale before, thus i went to change the scene scale, which just made all these trouble spawn one by one.

I feel bad for myself.

So is this a bug or intended behaviour? Given that this submission is marked as "Invalid" I guess it is intended. Can someone outline simple steps for creating a lattice around a default cube, in a startup file of 0.01 that works and doesn't cause the mesh to change as soon as it is connected? As far as I can see, lattices are not usable in Irregular Scene Scale.

Not only in irregular scene scales...
Even in default scale can messing with the lattices' new radius attibute trigger that weird behaviour. Makes you wonder why that attribute was exposed to the user in the first place, as it didn't exist in previous versions and obviously causes nothing but trouble?

If scaling a lattice in Edit mode is a no-go and changing the lattice's radius in the "Add Object" panel is equivalent to Edit mode scaling, this is quite obviously not working as intended. The (whatever it may be called) "size" attribute in the "Add Object" panel for lattices should change the lattices' scale and not their dimensions.

That might unbind the lattice again from anything the scene scale does to objects' dimensions.

I create a sphere with no scale, a lattice that i put on the sphere. The lattice have the same size than the sphere. When i put the modifier, the sphere is bigger and deform to the lattice's cube form.

It is clearly a bug. Lattice must deform the objet with delta position and the distance beetween the vertex of the lattice and the vertex of the objet. It work fine in 2.71. :(