Forum Coordinators: RedPhantom
Poser - OFFICIAL F.A.Q (Last Updated: 2024 Nov 29 7:57 am)
Oooh, cool. I missed this the first time around! Thanks for the topic bump :)
Hi, my namez: "NO, Bad Kitteh, NO!" Whaz
yurs?
BadKittehCo
Store BadKittehCo Freebies
and product support
Quote - These ARE cool! Is there a Python script for a multiple figure delete as well props?
Yes, the Delete script will delete selected figures, props, lights, or cameras from a scene.
Dimension 3D - Poser Tools, Poser Props and Morphs, Cinema 4D
Plugins, and more
Renderosity Store / D3D Web Site
Many, many thanks
JB
____________________________________________________________________________________________________________________________
Asus N50-600 - Intel Core i5-8400 CPU @ 2.80GHz · Windows 10 Home/11 upgrade 64-bit · 16GB DDR4 RAM · 1TB SSD and 1TB HDD; Graphics: NVIDIA Geforce GTX 1060 - 6GB GDDR5 VRAM; Software: Poser Pro 11x
FYI P7 Mac OSX 10.5.2 Conform, Delete and Reset only ones I have tested so far work as expected. For those on mac's give them a whirl they are fantastic even if there is a disclaimer that Mac use has not been tested.
Thanks a ton for these scripts
Gary
"Those who lose themselves in a passion lose less than those who lose their passion"
Thanks very much D3D! These are very handy. I'm especially enamored of the Copy Morphs script since I'm migrating my figure control magnets to morph targets (so I can render in Vue). The Copy Morphs script will let me quickly copy the shaping morphs to the conforming clothing. But I'm wondering...
... how difficult would it be to add a looping subroutine so the morphs are copied to all frames of an animation?
Thanks again!
Quote - ... how difficult would it be to add a looping subroutine so the morphs are copied to all frames of an animation?
Should be easy. Add the following code at the beginning of the method copyMorph, and put the current code of this method into the loop:
for f in range(scene.NumFrames()):
scene.SetFrame(f)
I haven't tested it, but this should copy the morph setting for each frame in the scene.
Dimension 3D - Poser Tools, Poser Props and Morphs, Cinema 4D
Plugins, and more
Renderosity Store / D3D Web Site
Heads up to Mac users in Quick Browser edit the script like this and it works like a champ
["Poser 7", "/Applications/Poser 7/Runtime"], etc for each runtime you have. Need to start at the Users level to your runtime if you have multiple runtimes like I do.
Mac's need a right leaning slash and a leading slash. This goes for Quick Access too (without the brackets as above)
Great scripts. really works coool as I have all my wardrobe wiz stuff go to a WW2 runtime I set up for testing first. With quick browser, loading converted clothes for testing is quick and easy with this script vs switching runtimes back and forth which can take sometime depending on how big the runtime is.
Gary
"Those who lose themselves in a passion lose less than those who lose their passion"
Quote - > Quote - ... how difficult would it be to add a looping subroutine so the morphs are copied to all frames of an animation?
Should be easy. Add the following code at the beginning of the method copyMorph, and put the current code of this method into the loop:
for f in range(scene.NumFrames()):
scene.SetFrame(f)I haven't tested it, but this should copy the morph setting for each frame in the scene.
Ulp. I'm afraid I'm not much of a pythoner yet, though I'm trying to learn. Seems like I should've been able to get this to work but just couldn't find the right spot to insert the looping code lines.
Here's the code in case D3D or any other python experts are willing to point to the corect insertion point... and thanks! (D3D-- I hope you don't mind my pasting the code in the message. Please let me know if I've done bad.... and thanks again for the great script!)
partialMatch = 1
noJCM = 0
import poser
import string
def copyMorph(figure, conform):
number = conform.Actors()[0].InternalName()
number = number[number.index(':'):]
for figActor in figure.Actors():
try:
conActor = figActor.InternalName()
conActor = conActor[:conActor.index(':')] + number
conActor = conform.ActorByInternalName(conActor)
except:
continue
for figParam in figActor.Parameters():
name = figParam.Name()
if noJCM and (string.find(name, "JCM") == 0):
continue
conParam = conActor.Parameter(name)
if (conParam == None) and partialMatch:
m = 1000
params = conActor.Parameters()
for p in params:
i = string.find(p.Name(), name)
l = len(p.Name()) - len(name)
if i >= 0 and l < m:
conParam = p
m = l
if (conParam != None and ((figParam.IsMorphTarget() and conParam.IsMorphTarget())
or (figParam.IsValueParameter() and conParam.IsValueParameter()))
and conParam.Value() != figParam.Value()):
conParam.SetValue(0)
conParam.SetValue(figParam.Value() - conParam.Value())
scene = poser.Scene()
conform = scene.CurrentFigure()
if conform:
figure = conform.ConformTarget()
if figure == None:
figure = scene.Figures()
for fig in figure:
c = fig.ConformTarget()
if (c != None) and (c.InternalName() == conform.InternalName()):
copyMorph(conform, fig)
else:
copyMorph(figure, conform)
scene.Draw()
The lines for the loop belong here:
def copyMorph(figure, conform):
for f in range(scene.NumFrames()):
scene.SetFrame(f)
number = conform.Actors()[0].InternalName()
number = number[number.index(':'):]
...
It's important to have the indention that way, so the complete current method code will be inside the loop.
Dimension 3D - Poser Tools, Poser Props and Morphs, Cinema 4D
Plugins, and more
Renderosity Store / D3D Web Site
Quote - The lines for the loop belong here:
def copyMorph(figure, conform):
for f in range(scene.NumFrames()):
scene.SetFrame(f)
number = conform.Actors()[0].InternalName()
number = number[number.index(':'):]
...It's important to have the indention that way, so the complete current method code will be inside the loop.
It worked! Thank you VERY much! This is great!
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.
Attached Link: Free Dimension 3D Python Scripts
I recently made two new Python scripts for Poser. The Add Deformers script transfers all deformers from a main character to conformed characters (just as magnetize poses do, but it works for any deformers on any figure). The Conform Figures script conforms several figures at once to the selected figure.I also updated all other Python scripts with new features and some improvements or bug fixes. If you are using one of it, get the new version. The largest change is for the quick link script which has several new features to automate tasks in Poser.
The scripts can be downloaded from my site www.ralf-sesseler.de (see link above) and from my free stuff section at Renderosity.
Dimension 3D - Poser Tools, Poser Props and Morphs, Cinema 4D Plugins, and more
Renderosity Store / D3D Web Site