Blender 2.40 a2. Strange behaviour of a lattice.

Hi !

I have a problem with a lattice, using Blender 2.40 alpha 2.

I need this version because the lattice has to be moved along the object, instead of moving the object inside the lattice.

All the explanations are in the text window of the example blend file:

http://3d-synthesis.com/blender_miscellaneous/Lattice_Test_01.blend

This file must be opened with Blender 2.40 alpha 2.

I don’t know if it is a bug or if I’m doing something wrong…

Any explanation will be welcome.

Thanks in advance.

Philippe.

I think this is normal. The mesh doesn’t have to be enclosed by the lattice to be deformed by it - the deformation extends beyond the lattice boundaries.

Even in 2.37a, you could put a tiny lattice inside a giant cube and the whole cube woud be affected by the lattice even though no vertices were enveloped by it.

To solve your problem here, you need an extra row on the side of your lattice and set this undeformed.

http://members.westnet.com.au/andydolphin/blender/Lattice_Test_02.blend

And thanks for this. I was only joking about the water :wink:

Hi Andy!

Even if you were joking, the water was a good idea, and the problem is very interesting.

This said, I have tried to make a lattice like yours, and it doesn’t work for now… but I will keep searching a solution.

Philippe.

Roubal, I have downloaded your blend file and played with it. Similarly, I also hit upon the same workaround as AndyD suggested, keeping the lattice deformation “inside” a cage of unmodified extra outer shell of the lattice. Unfortunately it still seems to “leak” somewhat. So yes, probably no way to do what you want… And there is still the problem of the lattice crossing the mesh again, as in your example. Even it it worked perfectly, it would still deform the mesh again later on since the path crosses itself.
Another thing I noticed is the quirky behavior of the curve modifier. At the crossing or interlapping part of the CurveStreetSweeper, The lattice seemed to deform wildly. I replaced the lattice with a SurfaceCurve instead and used to curve modifier hoping to simulate the moving /upward curving mesh moving along the path and it did the same thing, too., deforming wildly at the loop created by the ovelap in the guide path (CurveStreetSweeper). :o
Hope it is a bug. Or maybe it was an error on my part.
I really wish they’d redo the path and curves system. It always seem to do unexpected things when I play with them. They’re very useful things if only they were better behaved. The Z flipping thing, for example. That’s my pet peeve with paths. That and the almost uncontrollable Tilt system.
And yes, now that you brought that up, the lattice could also use some improvements. Maybe a finer control on the area of influence? I never really noticed this behavior before.
But I’m just ranting. The developers did a wonderful job in making Blender what it is today. No complaints here, just observations and suggestions. :slight_smile:

Hi!

Thanks for the post.

The example file available here is a too much simplified version of the original including the street sweeper model (made by AndyD) . As it was not my own model, I didn’t post the complete file here.

In the original file, the lattice is parented to the street sweeper, and is not linked to the curve itself, so the lattice isn’t deformed in the curves, and the “water tape” is not deformed as well.

But all other problems are present. The “water tape” is deformed each time the lattice X axis points in its direction. It is also deformed in areas which are on transversal positions of the sweeper…

You are right, being able to adjust the area influence of a lattice would be very usefull!

:smiley: Now, I have modified the curve used as guide, and everything is OK. The animation will be usable in a movie sequence, as far as we’ll show a short path without the curve coming back on its steps.

AndyD, I will put your street sweeper in situation in the part of the town that I have built for the chase sequence, and I’ll do some render test, as soon as I will have gone a bit further in my work. :wink:

http://3d-synthesis.com/blender_miscellaneous/Lattice_Test_03.blend

Do not forget to open it in 2.40 a2!

Philippe.

Hmmm, maybe I misunderstood the problem. In my test, the modified mesh didn’t affect the area of tape outside the box at all. (note, I only modified one side of the lattice as a test so if you come right around the bend it will start to affect the bottom part of the curve). I’m using 2.4a2(Nov29 I think) - Mac OSX 10.3.9 version so unless I’m not understanding the problem, maybe we are seeing different results.

AndyD, try parenting the lattice to the guide curve CurveStreetSweeper and press Alt A (or it’s mac equivalent) to run the animation. There is still deformation “leaks” at certain positions as the lattice travels along the path, as Roubal noted…
Roubal, did you explore the “build” modifier or perhaps using animated alpha texture for doing this? Haven’t realy tested it, but perhaps they might work, too…

Hi!

No, I never used the buid modifier… it is a good idea!

I could try to make the “water tape” built while the sweeper move…

But I’m not sure that the speed of the build effect could be controlled.

Philippe.

I played around with the build effect (or modifier as of 2.4) and it seems to be ideal for your project. You can have the long plane cross itself and it would still appear in sequence.
Controlling it or making it stop and start at certain points in the animation might be hard, as you said. Also, the build effect seems to rely on the geometry of your mesh, so it would have to be heavilly subdivided in order to have smooth transition.
But animated texture also seems to work fine.
Here is a zipped blend file:
http://home.pchome.com.tw/art/grafixman/movingalpha.zip
Basically, you create your plane, add a blend texture, activate the colorband and create a black and white gradient with a sharp transition. Map this to alpha, turn down the transparency and tra shad sliders to zero and insert keyframes to the offset value (in this case, x axis.) For frame 1, adjust the offset value so that the object is transparent. Place the cursor over the numeric input box of the off x in the texture panel and press I to insert a keyframe. Move to the final keyframe and adjust the offset x value again so that the object is fully visible. Insert another keyframe to it. The offset curve is there in the object’s material ipo., so you have better control of the effect by adding keyframes and adjusting the curve’s shape. One nice thing about this is that you can have the plane appear and disappear again at the back, if you placed the white portion of the gradient between two black ones, or maybe have a gradual transparency if the transition between black and white is a smooth gradient. Might be a better representation of water drying off?
Then you can use curve deform and use the curve stretch option if you want. But yes, it would still take time to synchronize the movements of the texture with your moving mesh object…

Hi!

Interesting, but I’m sorry, your example file can’t be downloaded.

I got this warning:

File [movingalpha.zip] was not completed successfully, error 36,0 please contact [email protected] with this error

Maybe a problem when uploading on your FTP…

For the water drying off, I wondered a moment about how it could be done, and the use of an alpha mask was the idea, but on a short sequence of few seconds, this effect will not be necessary, I think.

Philippe.