Search - User list
Full Version: It seems that the bicycle gear chain can't be implemented in
Root » Rigging » It seems that the bicycle gear chain can't be implemented in
guoli
Hi, guys, how are you?

I want to make a rig to rotate a bicycle chain,
but my brain doesn't seem very smart, and I've almost lost all my hair thinking about it! The curve's CU can't be greater than 1 either. Guys, give me some constructive advice.

Thanks, wish you all great wealth and promotions with salary increases.

AntonMoss


Here's my quick attempt at a solution. I'll upload another version using a more practical example when I get around to it.
guoli
AntonMoss
Image Not Found


Here's my quick attempt at a solution. I'll upload another version using a more practical example when I get around to it.


You’re literally a genius. This is amazing! Please take my knees. You blow me away.
Konstantin Magnus
Here is a version using SOPs.
guoli
Konstantin Magnus
Here is a version using SOPs.
Thanks, this method is also very good and creative. But it doesn't seem to be Apex, yet it's still impressive. Great rig, this technique is a light of humanity. You are the best.
AntonMoss
Konstantin Magnus
Here is a version using SOPs.
This is cool! Fantastic use of copernicus sdf's and the trace sop. Time to study this wrangle.
Konstantin Magnus
AntonMoss
Konstantin Magnus
Here is a version using SOPs.
This is cool! Fantastic use of copernicus sdf's and the trace sop. Time to study this wrangle.

Glad you like it. Here is a breakdown of the wrangle:

// PARAMETER
float speed = chf('speed');
//A multiplier float parameter to adjust the speed of the movement.

// UVW
int num = nuniqueval(0, 'prim', 'copynum');
// The total number of individual integer values of the copynum-attribute.

float u = i@copynum / (num - 1.0);
// Division of the copy number by the total number of copies, effectively creating a float ranging from 0.0 to 1.0 across all copies so each copy gets offset along the curve later.

v@Cd = set(u, 1.0 - u, 0.0);
// Visualization of u ranging from green to red.

// OFFSET
u = (u + @Time * speed) % 1.0;
// offsets u by the current time multiplied by speed. the modulo operator sets values above 1.0 back to its remainder. eg. 1.05 turns into 0.05

// CURVE ATTRIBUTES
vector uvw = set(u, 0.0, 0.0);
vector pos = primuv(1, 'P', 0, uvw);
vector nml = primuv(1, 'N', 0, uvw);
vector up = primuv(1, 'up', 0, uvw);
//The u float value becomes part of the vector uvw to look up position, normals, and up vectors from the curve on the second input.

// TRANSFORMATION
matrix xform = maketransform(up, nml, pos);
setpackedtransform(0, i@primnum, xform);
// Converting these three vectors into a transformation matrix that gets applied to the packed chain elements.
Mike_A
It's not APEX, but couldn't this be done simply with the Chain SOP?
guoli
AntonMoss
Image Not Found


Here's my quick attempt at a solution. I'll upload another version using a more practical example when I get around to it.


Really looking forward to it when you have time to upload your other version.
AntonMoss
guoli
AntonMoss
Image Not Found


Here's my quick attempt at a solution. I'll upload another version using a more practical example when I get around to it.


Really looking forward to it when you have time to upload your other version.

Here's a far better solution. I still have to clean up the file and upload it later today.
guoli
AntonMoss
guoli
AntonMoss
Image Not Found


Here's my quick attempt at a solution. I'll upload another version using a more practical example when I get around to it.


Really looking forward to it when you have time to upload your other version.

Here's a far better solution. I still have to clean up the file and upload it later today.
Image Not Found
Really looking forward to your masterpiece
AntonMoss
As promised. I've attached the needed subgraph and component you'll need for this to work, along with the hip file.
Mark Wallman
Hi. Im following this thread.

I have grabbed your zip file. If I view your am_chain node the chain vanishes. Does your am_chain.2.0.bgeo need to be copied somewhere (i'm guessing that is the issue).

Best. Mark
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB