Hey all, So been trying to find the right approach with this and it's got a me a bit stuck. I'm building a lookdev rig and I seek to create a repeating 360 rotation with a pause before repeating the rotation. The rotation needs to start at a frame controlled by a parameter ©. The duration of the rotation (b) is controlled by a parameter, as is the pause(a). An alternating curve will also be needed but naturally can leverage the same solution.
So far I've tinkered with a conditional in the rotation - and it got me the result but for only one cycle (I need this to ideally continue indefinitely). The script would become a bloated series of elif's and felt there has got to be a better way.
I tried building the curve in CHOP's using wave set to triangle but became really fiddly and not sure how to the allow for a non uniform (a) and (b) size.
I tried plotting the keys in a graph and additionally controlling the beizer() result via experessions. Got the values as i needed but can't control start frame, which would be offsetting anim©.
Would be interested to here suggestions. My gut says CHOP's is indeed the place to tackle this but is an area I don't know very well.
Parameter driven anim curve
1683 2 0- revilo3d
- Member
- 27 posts
- Joined: July 2005
- Offline
- Snackovich
- Member
- 21 posts
- Joined: April 2015
- Offline
EDIT: I see you're wanting to link transform on geo to lights.. okay this won't help much as it's just for geo.
If you're talking about geometry you could do it with a point vop, have a look at the attached hip.
Basic idea is using the modulus vop to get the repeating rotation pattern.
If you're talking about geometry you could do it with a point vop, have a look at the attached hip.
Basic idea is using the modulus vop to get the repeating rotation pattern.
Edited by Snackovich - Aug. 13, 2018 04:51:15
- revilo3d
- Member
- 27 posts
- Joined: July 2005
- Offline
Ahh Thank you.
Indeed it doesn't directly solve my issue but think I could use it to make it work. Was a bit perplexed (still am a bit) at the modulo operator.
I've always know it to working in the following way (just through basic python learning)
5%4 = 1. 4 fits 1x into 5 leaving 1 remainder
In your example you are leveraging non divisible to control the state right?
4%5 = 4?? 5 does not fit into 4 - so it returns the original 4 as the remainder? Is that how it works?
5%5 = 0
6%5 = 1 (we repeat…)
EDIT: Got it working by the way - just bind the rotation to attr and call it in the light rotate parameter!
point(“/obj/geo1/rotator/”, 0, “rotation”, 0)
Cheers,
Ollie
Indeed it doesn't directly solve my issue but think I could use it to make it work. Was a bit perplexed (still am a bit) at the modulo operator.
I've always know it to working in the following way (just through basic python learning)
5%4 = 1. 4 fits 1x into 5 leaving 1 remainder
In your example you are leveraging non divisible to control the state right?
4%5 = 4?? 5 does not fit into 4 - so it returns the original 4 as the remainder? Is that how it works?
5%5 = 0
6%5 = 1 (we repeat…)
EDIT: Got it working by the way - just bind the rotation to attr and call it in the light rotate parameter!
point(“/obj/geo1/rotator/”, 0, “rotation”, 0)
Cheers,
Ollie
Edited by revilo3d - Aug. 18, 2018 16:17:14
-
- Quick Links