Ferris Wheel
|
Lewis Nerd
Nerd by name and nature!
Join date: 9 Oct 2005
Posts: 3,431
|
01-28-2006 07:27
Ok...... so I got a crazy idea about building a ferris wheel.
Got the frame and the actual thing rotating nicely no problem.
However, I have a problem with getting the baskets to stay so they are always pointing down towards the ground.
Obvious thought... use a hinge joint, then turn on physics on the basket.... doesn't seem to work.
Second thought... use the same freebie rotation script I used for the wheel, but set it to counter-rotate at the same speed as the wheel.... didn't work either, the xyz axes changed place due to the linking.
I'm about to scrap the project unless anyone can offer any suggestions.... right now it looks like a giant hamster wheel.
Location of the experiment right outside my club - Disco Inferno - in Hector, details in siggy. Look for the latest addition of a 10m afro on the roof.
Thanks if anyone has even the faintest clue how to solve this one. I can't offer much in the way of reward except my grateful thanks.
My scripting skill level is approximately on the level of a grapefruit, if that helps.
Lewis
|
Launa Fauna
Dork
Join date: 31 Aug 2003
Posts: 529
|
01-28-2006 08:53
Magically transported to the Scripting Forums. I too have the abilities of a grapefruit but the fine people in THIS forum can help you I'm sure! Good luck! 
_____________________
Any sufficiently advanced technology is indistinguishable from magic.- Arthur C. Clarke
|
Lewis Nerd
Nerd by name and nature!
Join date: 9 Oct 2005
Posts: 3,431
|
01-28-2006 08:57
From: Launa Fauna Magically transported to the Scripting Forums. I too have the abilities of a grapefruit but the fine people in THIS forum can help you I'm sure! Good luck!  Personally I'd have thought it best in the Building, forums as the most obvious solution would have involved joints and physics.... but let's see what happens. Lewis
|
Eloise Pasteur
Curious Individual
Join date: 14 Jul 2004
Posts: 1,952
|
01-28-2006 09:34
Hi Lewis,
If scripting it is the answer, which it might well be, then your initial idea of reversing the rotation is about right.
What you need to do is find the axis of rotation (locally) of the wheel (presumably one of x, y, or z rather than a nasty angled one).
There will probably be one none-zero number in the actual rotation element in the script.
Then, look at the seats and find the rotation of their root prim, the axis of rotation I mean.
Moving the number in the first rot script and trying it both positive and negative should let you get your chairs to rotate properly.
This, of course, assumes you've got your seats either separate and somehow successfully tracking the wheel, or they're single prim objects. You can't have hierarchical prim sets I'm afraid.
|
Lewis Nerd
Nerd by name and nature!
Join date: 9 Oct 2005
Posts: 3,431
|
01-28-2006 09:41
From: Eloise Pasteur This, of course, assumes you've got your seats either separate and somehow successfully tracking the wheel, or they're single prim objects. You can't have hierarchical prim sets I'm afraid. It's probably another thing that doesn't work properly.... because copying the script from one prim to a parallel prim sends them off in different rotations. *shrug* Lewis
|
Christopher Omega
Oxymoron
Join date: 28 Mar 2003
Posts: 1,828
|
01-28-2006 12:32
From: Lewis Nerd Personally I'd have thought it best in the Building, forums as the most obvious solution would have involved joints and physics.... but let's see what happens. Im afraid the inituitive solution you propose is not yet available to us yet. In order to create a ferris wheel with multiple seats, you would need multiple joints, something not stable enough with the current physics implementation to be of very much use (which is why its disabled). However, there are ways you can mimic multiple joints with scripting, two in fact, each with disadvantages: you can link the seats to the main wheel, manipulating the seat's rotation every so often using llSetLocalRot as the wheel turns, or you can make the seats seperate objects, each calculating its position in relation to the main wheel, taking into account its rotation, and moving there using something like llMoveToTarget. If you want the ferris wheel to stay as true-to-life as possible, the former should be the option you should choose. I wouldnt recommend this option if you're planning on using seats composed of more then 1 prim, or planning on having avatars ride on these seats. The linked-object rotation manipulation function works on a per-prim basis; once the avatar sits, it acts like a seperate linked object, rotating the seat he/she is sitting on will not rotate the avatar along with it. If the seat is composed of multiple prims, each will rotate independant of the rest, which won't "look right" when viewed up-close. The upside to this method is that each seat wont move in relation to the main wheel - they will remain at a defined offset from the main part of the wheel, and will stay there at all times. The latter solution allows for avs to sit on the seats and for multiple-primmed seats. The only disadvantage to this solution is that the seats are not "perminantly attached" to the ferris wheel (they are seperate objects), they have an offset from the main wheel they "try" to maintain, but due to script/sim lag, will deviate from slightly as the wheel turns. I'd be happy to accept a commission to implement either solution  ==Chris
|
Lewis Nerd
Nerd by name and nature!
Join date: 9 Oct 2005
Posts: 3,431
|
01-28-2006 20:52
I wish I had the money to commission someone  Until then I struggle onwards. One curious thing I have found is that when editing the object, if I change the X rotation manually, X remains zero and the Z rotation increases. My guess is that the problem is simply a bug in the calculations when using llTargetOmega. By changing the Z rotation of the outer prims to -0.05 I get a slight wobble of up to 2 degrees from straight as it rotates - which is almost correct, it's just a pity that trial and error seems to be the solution; not something I would have really expected in a programming language. Lewis
|
Corporal Candour
Registered User
Join date: 3 Sep 2005
Posts: 38
|
01-29-2006 05:46
Hold up, I am thinking of something different. Make a small prim in the middle of the ferris wheel, and attach one of the seats to it so the small prim is the parent prim. Then put a targetomega on the whole assembly. Then put a seperate targetomega, rotating oppositely at a slower speed, on the seat. Of course, this would assume that the seat is one prim, which it probably isn't.
|
Lewis Nerd
Nerd by name and nature!
Join date: 9 Oct 2005
Posts: 3,431
|
01-29-2006 08:51
From: Corporal Candour Hold up, I am thinking of something different. Make a small prim in the middle of the ferris wheel, and attach one of the seats to it so the small prim is the parent prim. Then put a targetomega on the whole assembly. Then put a seperate targetomega, rotating oppositely at a slower speed, on the seat. Of course, this would assume that the seat is one prim, which it probably isn't. What you suggest is pretty much what I did do... and it didn't work. When you link two counter-rotating prims, the child prim for reasons unknown to me changes which direction it rotates in - it appears to basically change its axes around, for the want of a more comprehensive explanation. Lewis
|
Jiensu Takakura
Registered User
Join date: 30 Apr 2006
Posts: 3
|
06-02-2006 15:16
I was asked to script a ferris wheel and had approched the task with the the same method as Christopher Omega suggested - the independent carts with rotating around a mutual center point. This solution is not ideal, but is as I see it, it IS the only way to make a fully functional ferris wheel. With Tuning I suspect it to work well enough, but far from perfect.
|
AudibleAura Gremminger
Registered User
Join date: 23 Jun 2006
Posts: 16
|
08-01-2006 19:05
I too have a ferris Wheel under construction!!
the baskets are rotating fine for me =)
although... its hard to get it to rotate exactly on que so that the Z stays perpindicular with the ground... Does anyone have an equation that will remedy this??
Bucket Rotation != Wheel Rotation exactly... there seems to be a small shift...
|
AudibleAura Gremminger
Registered User
Join date: 23 Jun 2006
Posts: 16
|
08-09-2006 05:56
is there anyway that scripts can communicate with each other??
like have pins on the wheels and the (multi-prim) baskets that send positional data to each other...
ex. pin 1w is set up on the wheel to transmit positional data to pin 1b which is set up to receive the positional data then move the seat to that position.
|
Hewee Zetkin
Registered User
Join date: 20 Jul 2006
Posts: 2,702
|
08-09-2006 12:03
We really need tree-based object structures instead of the crumby flat model we have now. Didn't these guys take any graphics courses?
Sorry. I've done quite a bit of 3D graphics and visualization, and while SL scripting and building can be fun, the places where it is lacking are extremely numerous and very annoying. So feel free to ignore my second sentence as I am just venting a little.
|
Sansarya Caligari
BLEH!
Join date: 25 Apr 2005
Posts: 1,206
|
08-09-2006 12:06
I have a ferris wheel made by Alien Benmergui, and it works great. IM me in world Lewis, and I'll demonstrate it for you. 
|