Wed, Dec 18, 11:59 AM CST

Renderosity Forums / Poser - OFFICIAL



Welcome to the Poser - OFFICIAL Forum

Forum Coordinators: RedPhantom

Poser - OFFICIAL F.A.Q (Last Updated: 2024 Dec 17 1:08 pm)



Subject: ERC questions.


xantor ( ) posted Tue, 06 February 2007 at 12:51 AM · edited Wed, 18 December 2024 at 11:59 AM

If I have a figure with two pistons for example, and they are each seperate groups, can ERC be used to animate them so that one piston raises as the other one lowers?  If yes then how is it done?

The other question is can ERC be made so that the object moves a certain amount, for example, if I want the piston to raise 3 in y trans can that be done and can decimal numbers be used and if it can be done then how do I do it?

Can an object like a piston be made to move up a certain amount and to move back down a certain different amount?  For example moving up in y 5 and down 3?


svdl ( ) posted Tue, 06 February 2007 at 4:47 AM

I've done some experimenting with pistons in the past. What worked best (trick derived from the book 'Secrets of figure creation with Poser 5' by B.L. Render) is making the piston a body part, and use "point at" another body part (usually a bone without geometry, positioned so that the piston direction is exactly right). 
Whatever the body part movements, the piston will move and point in exactly the right direction. No ERC needed.

I can HIGHLY recommend that book. ISBN is 0-240-51929-9

The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter

My gallery   My freestuff


xantor ( ) posted Tue, 06 February 2007 at 4:56 AM

Pistons were just an example but it is the actual movement that I want to know if it can be controlled using ERC thanks, anyway.


svdl ( ) posted Tue, 06 February 2007 at 5:03 AM · edited Tue, 06 February 2007 at 5:05 AM

An exact amount, well, it would need some calculations. But yes, it can be done.
If you want to move the piston up by a different amount than moving it down: yes, that can be done too. You'll have to use two "intermediate" valueParms, set their min/max limits to 0 and 1, and -1 and 0 respectively, slave those valueParms to your master dial(s), and slave the actual movement parameters of the piston to the intermediate dials, at different "deltaAddDelta" values.

Moving one piston up while the other moves down: slave both movement parameters to a master dial, one at detlaAddDelta=1, one at deltaAddDelta=-1.

The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter

My gallery   My freestuff


xantor ( ) posted Tue, 06 February 2007 at 5:59 AM

I really don`t know very much about ERC, what do you mean by slave the parameters?


ockham ( ) posted Tue, 06 February 2007 at 9:32 AM

If you want to work purely in Poser 7, of course, you can do it very simply.

http://ockhamsbungalow.com/PPP/KeyframeERC.zip

My python page
My ShareCG freebies


xantor ( ) posted Tue, 06 February 2007 at 9:56 AM

No, thank you ockham, I want it to work in older versions too.


svdl ( ) posted Tue, 06 February 2007 at 10:12 AM

If you want to know about ERC, again, I really recommend that book I mentioned. It's far more than a cookbook, it explains HOW things work, so that you can appy the knowledge to your own situation. Definitely the best 50 euros I ever spent on Poser material.

nerd3D also has a pretty good explanation on how it works (he calls it "superconforming") on his site, www.nerd3d.com

The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter

My gallery   My freestuff


markschum ( ) posted Tue, 06 February 2007 at 10:48 AM

There is a document on erc available for download that gives quite a lot of information.

Its titled something like "How to code ERC"

http://rbtwhiz.com/rbtwhiz_ERC.html  < i think here.

Its not that difficult , just very tedious if you have a lot of body parts to do .


svdl ( ) posted Tue, 06 February 2007 at 10:55 AM

CR2Builder by kim99 is a handy free tool for creating ERC channels. While you still have to do a few things by hand, it'll do the bulk of the "typing" for you.
Whenever I do ERC work, I use CR2Builder. You can find it here

Caveat: CR2Builder can NOT handle Poser files that have been involved in dynamic cloth or hair calculations.

The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter

My gallery   My freestuff


lesbentley ( ) posted Wed, 07 February 2007 at 6:21 PM

Q: If I have a figure with two pistons for example, and they are each seperate groups, can ERC be used to animate them so that one piston raises as the other one lowers? If yes then how is it done? A: Yes! It's quite easy. There are a couple of ways you could do it. Let's say for example that the 'yTran' dial moves the pistons up and down, and that the actor number used in the figure is ":1". Place this valueParm channel in the figures 'BODY' actor:

           valueParm Pistons
                        {
                        name Pistons
                        initValue 0
                        hidden 0
                        forceLimits 0
                        min -100000
                        max 100000
                        trackingScale 0.004
                        keys
                                {
                                static  0
                                k  0  0
                                }
                        interpStyleLocked 0
                        }

Let's say the first piston is named "piston_1:1". Find the 'translateY' channel in "piston_1:1". Next find the the line in that cahnnel that says "interpStyleLocked", under that line paste the following slaving code: valueOpDeltaAdd Figure 1 BODY:1 Pistons deltaAddDelta 1.000000

Now find the 'translateY' channel in in the second pistin "piston_2:1". Paste in this code: valueOpDeltaAdd Figure 1 BODY:1 Pistons deltaAddDelta 1.000000

The only diffrence is the "-" in the 'deltaAddDelta' line. Now turnind the "Pistons" dial in the Body actor should make the pistons move in opposite directions. To explain the slaving code: Figure 1 = the figure number BODY:1 = the actor where the master channel lives Pistons = the name of the master channel deltaAddDelta 1.000000 = the control ratio, you can change this number to make the slave channels responde more or less strongly to the dial of the master channel. I said there are a couple of ways to do it. Another way would be to directly slave the translateY channel in "piston_2:1" to the translateY channel in "piston_1:1", using a minus sign in the deltaAddDelta line: valueOpDeltaAdd Figure 1 piston_1:1 Pistons deltaAddDelta -1.000000

You would then move both pistons by moving "piston_1:1".


lesbentley ( ) posted Wed, 07 February 2007 at 6:40 PM · edited Wed, 07 February 2007 at 6:43 PM

Q: The other question is can ERC be made so that the object moves a certain amount, for example, if I want the piston to raise 3 in y trans can that be done and can decimal numbers be used and if it can be done then how do I do it? A: I think I know what you are asking, but I may have misunderstood. You can limit the movement in the master channel by forcing the limits, to set a maximum value for the dial of "3.5" and a minimum of "-1.2" you would edit the channel like so:

           valueParm Pistons
                        {
                        name Pistons
                        initValue 0
                        hidden 0
                        forceLimits 
                        min 
                        max 
                        trackingScale 0.004
                        keys
                                {
                                static  0
                                k  0  0
                                }
                        interpStyleLocked 0
                        }

These values refer to Poser Units, the values displayed on the dials may be diffrent if Poser is not set to dislplay measurements in Poser Units. Limits forced in a slave channel will be ignored when the slave is being controled via a master channel. The 'trackingScale' line determins the minimum increment that the dial can change by.


lesbentley ( ) posted Wed, 07 February 2007 at 7:00 PM

Q: Can an object like a piston be made to move up a certain amount and to move back down a certain different amount? For example moving up in y 5 and down 3? A: There may be a way to do this with ERC, but I don't know how. You could record the movement as an animated pose, I think that's how I would do it. Also you can incorporate an animated pose into a cr2, let me know if you want details of how to incorporate an animated pose into a cr2. In P7 only, you could use 'dependent parameters' see Ockham's "Tutorial for new 'dependent parameters' in p7": http://www.3dcommune.com/3d/forum.mv?Poser+read+8830039578 ...Or use his Python script linked in his post above.


xantor ( ) posted Thu, 08 February 2007 at 3:43 AM

Lesbentley thank you, your first answer particularly was exactly what I wanted.  :biggrin:


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.