Wed, Oct 2, 11:29 PM CDT

Renderosity Forums / Poser Technical



Welcome to the Poser Technical Forum

Forum Moderators: Staff

Poser Technical F.A.Q (Last Updated: 2024 Sep 17 7:30 pm)

Welcome to the Poser Technical Forum.

Where computer nerds can Pull out their slide rules and not get laughed at. Pocket protectors are not required. ;-)

This is the place you come to ask questions and share new ideas about using the internal file structure of Poser to push the program past it's normal limits.

New users are encouraged to read the FAQ sections here and on the Poser forum before asking questions.



Checkout the Renderosity MarketPlace - Your source for digital art content!



Subject: Has anyone tried cascading JCMs yet?


odf ( ) posted Tue, 19 May 2009 at 8:29 AM · edited Wed, 02 October 2024 at 9:43 PM

Content Advisory! This message contains nudity

I have, and I think it's a great way of dealing with complicated joints. Here's what I currently have for the knee bend of my Antonia figure:

http://www.youtube.com/watch?v=bhq0s47--5U
http://www.youtube.com/watch?v=BBDS30dQxmQ

The idea is to use a series of JCMs instead of just one, each starting to take effect at a different angle. In particular, I would start to model the effect of the shin and calf being pressed onto each other at the correct angle at which this actually happens, but not earlier.

This is probably a well-known technique, but it is new to me, so I thought I'd share. If anyone's interested, I'm happy to explain in more detail what I did.

-- I'm not mad at you, just Westphalian.


EnglishBob ( ) posted Tue, 19 May 2009 at 9:29 AM

I never got that far myself, but I know that some used "switched" JCMs on V3's collars - one morph optimised for the collar up movement, and one for the collar down. Then limits would be forced for each, so that the morphs would swap over at the zero up-down point. If your technique is markedly different I'd be interested to know more.

If you haven't done so already, you may want to check that your JCM linkages survive being saved to the library, and that there is no crosstalk when more than one figure is in the scene.

I'd better not watch your videos while at work, but will do so later. :-)


lesbentley ( ) posted Tue, 19 May 2009 at 4:39 PM

file_431146.gif

> Quote - This is probably a well-known technique, but it is new to me, so I thought I'd share.

Can't say that I have heard of it being done with JCM, but with joint controlled joints this type of thing is sometimes done in mechanical figures. I recently did something with JCJ in a set of cameras. It would take too long to explain how it worked in cameras, but is easier to explain in a test I did for it with box props.

One master dial is used raise each box in sequence, whilst keeping the other boxes on the ground.  Each box has its ytran limits forced to between 'min 0' and 'max 1', this ensures that no box can move downwards below zero yTran. Each boxes yTran is slaved to a valueParm channel named 'neg1' with a deltaAddDelta of -1, neg 1 has a dial value of 1, this channel is hidden and its value remains unchanged. Each box is also slaved to another valueParm channel named 'master' with a deltaAddDelta of 1, so that it tends to pull all the boxes up as the master dial is incremented.

Box 1 is then slaved to each subsequent boxes yTran with a minus deltaAddDelta value that matches the box number. So box 1 is slaved to box 2 with a  deltaAddDelta value of -2, to box 3 deltaAddDelta value of -3, etc. Each box then has the same slaving code, except that it is not slaved to any of the preceding boxes. So box 2 is not slaved to box 1, and box 3 is not slaved to boxes 1 or 2, etc, and box 6 is not slaved to any other boxes.

I got severe brain strain trying to work out how to do this, but got there in the end. I can post the file if anyone is interested.

Quote - If anyone's interested, I'm happy to explain in more detail what I did.

I would be very interested to hear the details.


ockham ( ) posted Tue, 19 May 2009 at 10:41 PM · edited Tue, 19 May 2009 at 10:49 PM

file_431154.gif

I rigged a venetian blind this way.  The main trick in the blinds is to use the same deltaAddDelta in each slat, and a slightly different Max Y. All the slats are childs of the bottom bar; when you pull up the bottom bar, each slat moves linearly upward with the bottom bar until it reaches its own Max.  It then stops while the slats below continue moving up.

The result is a neatly spaced pile of slats.

(I think this description is sort of backwards, but trying to parse it out
again would give me a headache.)

My python page
My ShareCG freebies


odf ( ) posted Tue, 19 May 2009 at 11:08 PM · edited Tue, 19 May 2009 at 11:08 PM

You guys are way ahead of me (not unexpectedly, of course).

What I did was a generalization of the method EnglishBob described. Or a simpler version of lesbentley's, depending on how you prefer to look at it. 😄 I didn't interpolate between the different morphs, just stacked them on top of each other. So in my version of lesbentley's demo, the boxes would just stay up and never go back down.

More specifically: I used three morphs A, B and C for that knee bend, all of them with enforced limits of 0 and 1 and slaved to the shin's x-rotate channel with factors of 0.011111, 0.033333 and 0.033333, respectively. Then I created a channel called 'one' in the BODY actor with a fixed value of 1. I slaved the B morph to that with a factor of -3 and the C morph with -4. So between 0 and 90 degrees, only the A morph is active. From 90 degrees on, A stays frozen at 1 and B reaches its lower limit of 0, so it start becoming effective. Then at 120 degrees, B is at 1 as well and C starts to take effect.

PS: I love those blinds, by the way.

-- I'm not mad at you, just Westphalian.


ockham ( ) posted Tue, 19 May 2009 at 11:24 PM

Almost anything is possible along these lines if you have enough
concentration and enough aspirin.

You might also take a look at the "Dependent Parameters" or "Keyframed ERC"
technique, new in P7.  It probably wouldn't be any easier for your particular
joint switch, but it opens up a whole range of sequencing operations; basically
capturing any animated pose in a control dial.

My python page
My ShareCG freebies


odf ( ) posted Tue, 19 May 2009 at 11:29 PM

lesbentley: I thought about your box example some more. I would probably try to reduce the brain strain by decoupling the boxes. You could add a channel "down" to each box that is slaved to the master channel with a factor of -1, clamped at 0 and 1 and with some offset added by slaving it to your constant channel with an appropriate factor. Then slave the ytran to the master channel, the constant channel (this time with a different factor for each box) and the down channel.

The downside is that you would need more additional channels. The upside is that you could make one template box and simply copy that with the factors adjusted appropriately.

-- I'm not mad at you, just Westphalian.


Privacy Notice

This site uses cookies to deliver the best experience. Our own cookies make user accounts and other features possible. Third-party cookies are used to display relevant ads and to analyze how Renderosity is used. By using our site, you acknowledge that you have read and understood our Terms of Service, including our Cookie Policy and our Privacy Policy.