[Plugin] Scale and Rotate Multiple (UPDATED Dec 22, 09)
-
great. thanks.
-
@thomthom said:
just noticed something when orbiting after random rotate and scale; face-me components float about all over the place.
this is exactly what happens with me. as you orbit they scatter all over the place.
-
@edson said:
@thomthom said:
just noticed something when orbiting after random rotate and scale; face-me components float about all over the place.
this is exactly what happens with me. as you orbit they scatter all over the place.
Chris has found this to be a bug in SU. He'd working on a workaround.
-
Yes, this was an interesting bug to track down. It includes a few steps to get around it, but I have it working. I just have not been able to find time to work it into this script yet. And when I release it I'll owe a few big "thank you's" to a bunch of helpful people out there.
Chris
-
Chrisssss! I used your plugin on a forest of faceme trees - quickly found myself in a mad frenzy of trees dancing ghostly around.
Update? pretty pleeeease!
-
Chris
My idea of making its faceme false doing the rotation then resetting its faceme back again should be easy to include ? -
@tig said:
Chris
My idea of making its faceme false doing the rotation then resetting its faceme back again should be easy to include ?I just tried to use the Console to turn off then on:
sel[0].definition.behavior.always_face_camera = false
Scale and Rotate Multiple
sel[0].definition.behavior.always_face_camera = true
But still got the same problem.
-
Hi Tig and Thom. Sorry I still haven't updated it. I've got the code all worked out, just not put into place. The issue is 2 fold - 2 different bugs at play. TIG your trick helped the part that faceme's components bounding boxes (
bounds.center
) no longer return the center of the component. The return center of entire range of motion. Which is not helpful. So I used your tip to make the faceme into a regular component, then grad the centerpoint and then I have the point to scale about. So it helps find the scale about point which is otherwise impossible since v7.1.The dancing and jumping is another bug. You can no longer use ANY of the uniform scaling transformations on faceme components. It sort of cheats, and just adjusts the 16th matrix element. So the 16th should always be 1, but if you use (which I did) a uniform scaling method, it will change that 16th element to act as an overall scaling factor, which freaks out faceme's in 7.1.
So if you want fix it Thom, you would need to change the faceme scaling method. And I don't have the code in front of me, but it should scale by something like this:
sf = (the scale factor, as a float)
t = Geom::Transformation.new(sf,0,0,0,0,sf,0,0,0,0,sf,0,0,0,0,1)That should scale a component uniformly by aplying the scale over the entire matrix, and not just adjust the 16th element.
Or I'll try to fix this later today (but it might be well after midnight in your neck of the woods Thom).
Chris
PS - I know very little about transformation matrices. So I apologise if I used incorrect terms or theories
-
No worries. I'm home now - and only have one day left before I take Christmas holiday.
Though, in my tests for uniform scaling of a faceme component 2x, the 16th turned into 0.5 and 13-15 also halved their values.
-
Woohoo! Thanks to lots of persistence by others asking me nicely to get this one fixed, and thanks to finding the problems by Thom and Edson, and some great solutions by TIG, Jeff99, and others - I think I can finally say that this script is updated and working with SU 7.1!
Well, hopefully. Please test it when you get a chance. I tried every combination of faceme and regular component scaling I could think of.
v2.5 - SU 7.1 compatibility fix
- Fixed scaling so that Face Me components don't freak out like they have been doing since SU 7.1 was introduced. Big Thanks to Edson and Thom for helping figure out what was breaking.
- Cleaned up some code - a big chunk thanks to a tip from TIG!
So if you have this script installed already, go back to the first post in this thread, and re-download. Then overwrite the existing file in your plugins folder. Thanks, and I hope this works now!
Chris
-
brilliant! another Christmas Present! thanks a lot, Chris
-
Wow thanks man, you are very creative with your scripts, they are very useful and easy to use. Thanks!
-
Ah! Finally I can adjust the size of my forest without it flying away!
oh - one last request? Make it remember the values used last?
-
chris,
a big THANKS for fixing this bug! this plugin is used by me so much that it feels like recovering from a broken leg. i just tested it and everything seems to be back to normal. i'll let you know in case there is any odd behaviour as i use it more.
-
@thomthom said:
one last request? Make it remember the values used last?
-
Great plugin! saved me so much tree rotation. Thanks Chris!
@plot-paris said:
@thomthom said:
one last request? Make it remember the values used last?
-
thank youuuuuuuuuuuuuu !!!!
-
Hey Chris - great plugin. I was thinking it would be useful to add space between components before rotate.
For example on this stone wall
your tool did a great job of jumbling the stones but turn more than a little and they intersect their neighbor. In this case it would be useful to add a 'gap.'
I'm sure there is probably another plugin that does just this, and this test project is easy enough to move by hand, but figured I'd suggest it anyway.
-
Amazing thanks a lot! Brilliant plug in, just made the landscape look so much better with random trees
-
Cool, glad it helped!
@Bupaje - not sure I'll be incorporating that into the plugin soon. This really is only made to modify components in place. It would be hard to figure out how to "add spacing" since spacing in that sense is a linear movement.
However, I also think you could do what you wanted with the tool in its current state. Select the blocks and do a uniform scale only on the x axis. That will effectively add a space between the blocks. Then do it again and add some random rotation. See if that is about the same effect,
Chris
Advertisement