View Full Version : The Skateboard
designingpatrick 02-12-2008, 04:12 PM Ideally, the feet drive the board. And any actions which occur to the skateboard while it is in contact with the feet would affect the board appropriately. Although the board is a static object, it has 3 aspects which make it dynamic; the first is 3 pivot points (the back wheels, the center, and the front wheels), the second is a free range of motion for flips, and the the third as the ability to be driven by the limbs and drive the limbs as well.
I have implemented a basic 3 pivot point setup which is basically functional. The center pivot control is utilized for global movement of the board. If pivot point 1 (the back wheels) is utilized, then the front pivot point is invalid until the board is returned to a horizontal position. Maybe you can find a better way to set it up, the biggest requirement is that the front wheel pivot point stay locally stationary, regardless of the boards pivot point 1 rotation.
Any takers?
The biggest problem is that I am unable to manipulate a controlor which is already a parent of another controller without affecting its children, even if I have established an intermediary helper object, links as well as constraints create a dependency loop. I am thinking about setting up a boolean attribute to toggle the heirarchy, although I don't have a working knowledge of how to implement this, and I'm not sure if this is the appropriate method.
|
|
skAt3f0r71f3
02-13-2008, 03:40 AM
thats pretty cool
i skateboard so if you need tips on how to animate the board and the character riding it feel free to message me
Keithtron
02-13-2008, 07:09 PM
Although in real life the feet drive the board, it seems to me that in this case it would make more sense for the board to drive the feet. Sometimes a real-life dependency needs to be reversed for a rig to make sense. For example, a train rig. Although in real life all of the beams/pistons/whatever drive the wheels, for the rig it makes more sense for the wheels to drive everything else. Similar situation here, just constrain the foot controls to the board to stick them there, and animate the board. That way you're also free to constrain the board to the hands if you want the character to grab it, and the feet will follow the board unless you choose to roll off the constraints on the foot controls.
For the issue with the board pivots, what if you create nested groups the different pivot points? The top group would have the center pivot, the next group down would be the front, and the next group down from that would be the back. Then just create attributes on your control object that drive the rotation of each. For example BoardRot_x / BoardRot_y / BoardRot_z drives the main group, Front_tilt drives the 2nd group, and Back_tilt drives the 3rd group. That should give you the functionality that you need, and it's just up to the animator to zero out the attributes that shouldn't be active. Who knows, maybe they'd like throwing in a little bit of tilt on the board to spice it up while it's flipping or something, you never know. These controls should give them enough freedom to do what they want, but not so much that it's too easy for things to go awry.
You might also want to set up an attribute to specify whether or not the wheels are on the ground. You'd have separate attributes for the front and back wheels, say Front_onGround and Back_onGround. Then set up an expression/direct connection chain/set driven key/whatever to counter rotate the wheel mounts based on the main board rotation. That way you can get the board tilting while the wheels are still planted on the ground, like a real skateboard. I would make the onGround attributes floats as opposed to booleans, so you can more smoothly transition between being planted on the ground or free in the air.
If you have any other questions let me know and I'd be glad to help ya out. Sounds like a fun rig to set up! Maybe I'll do a character on a skateboard for my reel after I finish grad school this May.
:-)
skAt3f0r71f3
02-13-2008, 07:38 PM
i agree!
there should be 3 different pivot points.
Back/pivot middle/pivot front/pivot
the board doesn't always flip perfectly so this would be a really good setup!
P.S. when you are done with the rigging post some animations of it action.
i'm dying to see the results!
designingpatrick
02-13-2008, 08:09 PM
Keithtron
First off, thanks for the reply . You mention "roll off" the constraints on the foot control... do you mean delete them? Ideally I am looking to add a constraint attribute, I guess this is pretty easy, maybe I should spend some time trying to figure it out before I ask how. That way I can turn on and off the constraint.
One thing that should be noted is that the feet will only make full contact with the board when the board is level. So setting the feet to be constrained to the board will cause some issues; as ghyshs probably knows, the simple act of jumping (an ollie) on a skateboard is like a 3-4 step chain reaction, the board is rarely contacting solid with the feet. So the ability to quickly toggle constraints is really helpful.
http://youtube.com/watch?v=i_7-ZmYxVnw
If I intend on doing any flip tricks then a quick toggle is essential.
designingpatrick
02-13-2008, 08:19 PM
I should mention that the project mandates the use of 3dsmax, although I would feel more comfortable with Maya
blackseraphim
02-14-2008, 07:43 AM
Ideally, the feet drive the board. And any actions which occur to the skateboard while it is in contact with the feet would affect the board appropriately. Although the board is a static object, it has 3 aspects which make it dynamic; the first is 3 pivot points (the back wheels, the center, and the front wheels), the second is a free range of motion for flips, and the the third as the ability to be driven by the limbs and drive the limbs as well.
I have implemented a basic 3 pivot point setup which is basically functional. The center pivot control is utilized for global movement of the board. If pivot point 1 (the back wheels) is utilized, then the front pivot point is invalid until the board is returned to a horizontal position. Maybe you can find a better way to set it up, the biggest requirement is that the front wheel pivot point stay locally stationary, regardless of the boards pivot point 1 rotation.
Any takers?
The biggest problem is that I am unable to manipulate a controlor which is already a parent of another controller without affecting its children, even if I have established an intermediary helper object, links as well as constraints create a dependency loop. I am thinking about setting up a boolean attribute to toggle the heirarchy, although I don't have a working knowledge of how to implement this, and I'm not sure if this is the appropriate method.
i agree, there should be 3 pivots, for the front,back and the middle.
you can control the pivot by connecting the rotate pivot of the object to the translate of a controller. for example, there is a controller that determines where the center pivot of the object, and there is a separate controller for the rotation or translation.
through this method, you can interactively move the center pivot of an object. actually i am rigging a skateboard which gave me the same dilemma.
and i think this is the best way rather than making constraints.
designingpatrick
02-14-2008, 03:36 PM
If this works....
___________
I have spent a couple minutes at this with some interesting results, but I am unable to unlink the skateboard pivot translate from the rotate. I assume that I should use wire parameters?
Keithtron
02-15-2008, 05:21 PM
Keithtron
First off, thanks for the reply . You mention "roll off" the constraints on the foot control... do you mean delete them? Ideally I am looking to add a constraint attribute, I guess this is pretty easy, maybe I should spend some time trying to figure it out before I ask how. That way I can turn on and off the constraint.
One thing that should be noted is that the feet will only make full contact with the board when the board is level. So setting the feet to be constrained to the board will cause some issues; as ghyshs probably knows, the simple act of jumping (an ollie) on a skateboard is like a 3-4 step chain reaction, the board is rarely contacting solid with the feet. So the ability to quickly toggle constraints is really helpful.
http://youtube.com/watch?v=i_7-ZmYxVnw
If I intend on doing any flip tricks then a quick toggle is essential.
Nope, that's definitely not what I meant! You will want to constrain the feet to the board. When I say to "roll off" the constraints when you're animating, I mean to animate a reduction of the influence of the constraints. In Maya, each constraint has a 'weight', which determines how strongly that constraint affects the object. In order to smoothly remove the feet from the board, you animate the constraint from 1 down to 0, however fast you need to. If you want it instantly removed or stuck to the board, you can do that by just animating the change over 1 frame.
I'm a Maya guy, but I would imagine that Max has a very similar way of controlling the weight of a constraint.
Oh, and you'll want separate constraints for each foot of course, so that one foot can be stuck to the board while the other is free.
Keithtron
02-15-2008, 05:24 PM
i agree, there should be 3 pivots, for the front,back and the middle.
you can control the pivot by connecting the rotate pivot of the object to the translate of a controller. for example, there is a controller that determines where the center pivot of the object, and there is a separate controller for the rotation or translation.
through this method, you can interactively move the center pivot of an object. actually i am rigging a skateboard which gave me the same dilemma.
and i think this is the best way rather than making constraints.
Yeah, that's a really cool capability that you have in Max that I don't think you get in Maya.
I suppose you could always script something to interactively alter the pivot point on a Maya object, but I don't think there's anything built in to allow that.
blackseraphim
02-18-2008, 04:45 AM
Yeah, that's a really cool capability that you have in Max that I don't think you get in Maya.
I suppose you could always script something to interactively alter the pivot point on a Maya object, but I don't think there's anything built in to allow that.
:D i use maya... and also i didn't use scripts. it's all just connections...
designingpatrick
02-18-2008, 04:30 PM
I've spent some time over the weekend with link constraints. I found the concept to be helpful, but it really isn't practical in an animation environment. I could probably benefit from spending more time getting acquainted with the process and implementation, but I found that the simplest solution is to leave the object completely unrigged.
CGTalk Moderation
02-18-2008, 04:30 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
vBulletin v3.0.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.