Sat, Nov 9, 8:30 PM CST

Renderosity Forums / Poser - OFFICIAL



Welcome to the Poser - OFFICIAL Forum

Forum Coordinators: RedPhantom

Poser - OFFICIAL F.A.Q (Last Updated: 2024 Nov 09 8:27 pm)



Subject: changing poser edit dependencies type


AnyMatter ( ) posted Tue, 21 July 2015 at 10:00 AM · edited Tue, 05 November 2024 at 12:17 PM

greetz members

all i know is that poser has several methods of edit dependencies (  deltaAdd, keyed,times,divideby etc), but it seems to me that we cant change the method directly in poser? is there any tricks on how to do that? using notepad/cr2 editor is a bit tedious so i wish to know the alternative ways... thanks!


pikesPit ( ) posted Tue, 21 July 2015 at 2:55 PM

I don't think that there will be answers to your question, because from all that I know it isn't possible right within Poser for now.

Poser is quite good in creating and editing "valueOpKey"dependencies, and (with limitations) it can add additional dials to the "valueOpDeltaAdd" dependencies.

However, from all I know it can not add any of the other dependency types.

Your best chance to add these is indeed the good'ole text editor - or even better: "Poser File Editor" by Dimension3D (http://d3d.sesseler.de/index.php?software=posertool&product=poser_ed")

I write the code once in a text editor, e.g.:

valueOpTimes // just to pick an easy example
Figure 1 //or respective figure number;
BODY:1 // the location of the master dial;
myNewMorph22 // the internal name of the master dial;

This code remains the same for whereever you paste it to, and I use Poser File Editor for pasting this because the relevant "target dials" are much easier to find in it's hierarchical list. Then a simple "CTRL-V" at the right place, and that's it.

Only when it comes to "valueOpDeltaAdd", I prefer to use "valueOpKey" instead because I can set that up much faster in Poser than hacking it into the .cr2 manually, and to compute the value of "deltaAddDelta xxx" would have to be done for each dependency. The more complex it gets, the more errors may occur... So I'm quite comfortable to buy convenience for the price of some bytes of extra code (the "valueKey xxx xxx" lines)

One last idea:
The "valueOpKey" will only work within the dial range specified:
e.g. if you've set a "valueKey" to "-0,5 -35", the master dial will only work within that range and then stop.
So if you want to extend the range (whether that makes sense isn't the question here), just use a plain text editor, search for term "valueKey", and on each find, multiply both key values by 100, or 1000, or 2525 :)
So, "valueKey -0.5 -35" becomes "valueKey -500 -35000"

Sorry, from your question I guess that you'll probably know all this already, and more.
I only replied more detailed in case others might wish to look into that too, and maybe learn some tricks.

I think especially the "valueOpTimes", when applied cleverly, can do some amazing tricks.

-Peter-

P.S.:
Be cautious with the "valueOpDivideBy" because of the dreaded "division by zero" problem which still, after sooo many years, can still grind a computer to a halt.
So if you want to use this, then use "constants" in the form of specific, hidden, and locked dials:

actor BODY:1
...
...
valueParm zeroPointFive
name NeverChangeThis
initValue 0.5
hidden 1
forceLimits 1
min 0.5
max 0.5
...
keys
k 0 0.5
...

In the dependent parameter:

valueOpDivideBy
Figure 1 //or respective figure number;
BODY:1 // the location of the master dial constant;
zeroPointFive

et voilá, you have reduced the dial value by factor 0.5

P.P.S.: I just remembered that with these "math" valueOps, the order of the dependencies is important in computing the dial's actual value:
Everything that, in the source plain text, comes before the valueOp will be affected by it. Everything that comes after it, won't!

So you can actually add dial "a", subtract dial "b", divide it by >constant< 0.5, then add dial "c", and finally multiply the result with dial "d".
This is an extreme example, but ir has much potential!

P.P.P.S.:
I know that the forum will FU my formatting; sorry for this :


pikesPit ( ) posted Tue, 21 July 2015 at 3:21 PM

Since I can't edit my above post any longer, I'll post an updated, spell-checked, and in some instances more detailed post.
Did I mention that the Rendo limits set to edit a post are ridicoulously narrow?

EDITED POST TO FOLLOW:

I don't think that there will be answers to your question, because from all that I know it isn't possible right within Poser for now.

Poser is quite good in creating and editing "valueOpKey" dependencies, and (with some caveats) it can add additional dials to the "valueOpDeltaAdd" dependencies.

However, from all I know it -can not add- any of the other dependency types.

Your best chance to add these is indeed the good 'ole text editor - or even better: "Poser File Editor" by Dimension3D (http://d3d.sesseler.de/index.php?software=posertool&product=poser_ed")

Here's how I proceed:
I write the code once in a text editor, e.g.:

valueOpTimes // just to pick an easy example
Figure 1 //or respective figure number;
BODY:1 // the location of the master dial; mind the correct figure number!
myNewMorph22 // the internal name of the master dial;

This code remains the same for whereever you paste it to, and I use Poser File Editor for pasting this because the relevant "target dials" are much easier to find in it's hierarchical list. Then a simple "CTRL-V" at the right place, and that's it.// the location of the master dial constant;
(Read the "P.P.S." to learn about where the "right place" is!)

Only when it comes to "valueOpDeltaAdd", I prefer to use "valueOpKey" instead because I can set that up much faster in Poser than hacking a "valueOpDeltaAdd" into the .cr2 manually, and compute the value of "deltaAddDelta xxx" would have to be done for each instance.
--> The more complex it gets, the more errors may occur...
So I'm quite comfortable to buy convenience for the price of some bytes of extra code (the "valueKey xxx xxx" lines)

One last idea:
The "valueOpKey" will only work within the dial range specified:
e.g. if you've set a "valueKey" to "-0,5 -35", the master dial will only work within that range and then stop.
So if you want to extend the range (whether that makes sense isn't the question here), just use a plain text editor, search for term "valueKey", and on each find, multiply both key values by 100, or 1000, or 2525 :)
So, "valueKey -0.5 -35" becomes "valueKey -500 -35000" (if x1000)

Sorry ka06059,
from your question I guess that you'll probably know all this already, and more.
I only replied more detailed in case others might wish to look into that too, and maybe learn some tricks.

I think especially the "valueOpTimes", when applied cleverly, can do some amazing tricks.

-Peter-

P.S.:
Be cautious with the "valueOpDivideBy" because of the dreaded "division by zero" problem which still, after sooo many years, can still grind a computer to a halt.
So if you want to use this, then use "constants" in the form of specific, hidden, and locked dials:

actor BODY:1
...
...
valueParm zeroPointFive
name NeverChangeThis-IMeanIt!
initValue 0.5
hidden 1
forceLimits 1
min 0.5
max 0.5
...
keys
k 0 0.5
...

In the dependent parameter:

valueOpDivideBy
Figure 1 //or respective figure number;
BODY:1 // the location of the master dial constant;
zeroPointFive // the name of the master dial constant;

et voilá, you have reduced the dial value by factor 0.5

P.P.S.: I just remembered that with these "math" valueOps, the order of the dependencies is important in computing the dial's actual value:
Everything that, in the source plain text, comes before the valueOp will be affected by it. Everything that comes after it, won't!

So you can actually add dial "a", subtract dial "b", divide it by >constant< 0.5, then add dial "c", and finally multiply the result with dial "d".
This is an extreme example, but it has much potential!

P.P.P.S.:
I know that the forum will FU my code indents; sorry for this :


EldritchCellar ( ) posted Tue, 21 July 2015 at 4:18 PM

Bookmarked, cool stuff. Over my head at this point, I think I'm clever by just setting up erc controls for eye rotations/morphs in a text editor. I'm sure this will come in handy some day. Thanks.



W10 Pro, HP Envy X360 Laptop, Intel Core i7-10510U, NVIDIA GeForce MX250, Intel UHD, 16 GB DDR4-2400 SDRAM, 1 TB PCIe NVMe M.2 SSD

Mudbox 2022, Adobe PS CC, Poser Pro 11.3, Blender 2.9, Wings3D 2.2.5


My Freestuff and Gallery at ShareCG




Allstereo ( ) posted Wed, 22 July 2015 at 4:01 PM

 Hello EldritchCellar,

You can use my Python script to be found at:

http://www.renderosity.com/mod/freestuff/?item_id=70736

Note however that the sequence of ERC code is important. My script does not take care of that. 

Allstereo  


EldritchCellar ( ) posted Wed, 22 July 2015 at 5:14 PM

Hi AllStereo, Thank you. I already have all of your scripts and tutorials (including the ones with the hip rotations downloads). I'll confess however that I've yet to experiment with your offerings, it's something that's high on my to do list though. It's my understanding that your erc scripts will create functionality that is only Poser 8 or higher compatible. ATM I'm working on a figure that I'd like to be backwards compatible (actually this project has consumed most of my Poser related time the past few months). In this case I've relied on Bloodsong's information as found in 'secrets of figure creation with Poser 5', Nerd's tutorials, and PhilC's ATU scripts for inserting cascading erc into existing rigs. I think that I've been suitably traumatized enough that the scripts you provide will be of great assistance in my next project wherein I'll be foregoing backward compatibility.

Thanks again for taking the time.



W10 Pro, HP Envy X360 Laptop, Intel Core i7-10510U, NVIDIA GeForce MX250, Intel UHD, 16 GB DDR4-2400 SDRAM, 1 TB PCIe NVMe M.2 SSD

Mudbox 2022, Adobe PS CC, Poser Pro 11.3, Blender 2.9, Wings3D 2.2.5


My Freestuff and Gallery at ShareCG




AnyMatter ( ) posted Mon, 27 July 2015 at 10:13 AM

hey there pikesPit big thanks for the detail info! im sure these will come in handy someday... still a bit disappointed tho since we cant really change the ERC type directly in that program


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.