[Plugin] Scale and Rotate Multiple (UPDATED Dec 22, 09)
-
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
-
Excellent tool, I can see a ton of uses for it. Great idea!
-
Thanks Chris. will give it a try when I get home tonight.
EDIT: tried this during my lunch break and works. Scaled the bricks, then hiit reset scale and that left the spacing. Thanks.
-
Chris,
Thank you so much for an excellent program. I have trees as images to be exported as proxy's or instances for Kerkythea. Is there a way to random rotate images? Perjaps not if they are faceme objects which they are. Would like to know how others deal with this delima.
Lapx
-
If they are face-me's then they will always face the camera in SU. I don't know how kerkythea handles proxy's, does it work with face-me billboards? I think other renders just end up exporting the geometry in the location it is when the export buttin is pressed. So the trees would all be facing the same direction. I'm not really sure that rotating them with this plugin will help fix any of these concerns though.
-
Hello,
this is great plugin I am using every day. I think it would be much more powerfull if there was a possibility to scale randomly by all axis. One would be able to randomize e.g. stones or 3D vegetation.Is this possible to implement?
Thanks.
coulteri
Advertisement