• Welcome to the Community Forums at HiveWire 3D! Please note that the user name you choose for our forum will be displayed to the public. Our store was closed as January 4, 2021. You can find HiveWire 3D and Lisa's Botanicals products, as well as many of our Contributing Artists, at Renderosity. This thread lists where many are now selling their products. Renderosity is generously putting products which were purchased at HiveWire 3D and are now sold at their store into customer accounts by gifting them. This is not an overnight process so please be patient, if you have already emailed them about this. If you have NOT emailed them, please see the 2nd post in this thread for instructions on what you need to do

RELEASED The "Scatter Tool" plugin for Poser

Ken1171

Esteemed
Contributing Artist
The 1.10 update is coming close to completion. This is the final interface for Windows, and the one for MacOS is on the way. It will be a single distribution for Windows, MacOS, German and Japanese. It will basically support everything.

TheGUI.jpg

What's new? The tool had a major overhaul with many changes and new features.

* The tool auto-rebuilds scene object tracking from the previous session next time you run it. This means the "Remove Selected" button no longer looses track of scattered objects when we close the tool. Next time you run it, left-click will now properly remove objects created in previous sessions.

* New "Overlap" mode: By default, scene object tracking will not allow scattering objects to be placed on top of existing ones. When you check this option, that will be allowed. In this mode, the maximum "amount" counter no longer matters, since you can keep scattering objects on top of existing ones and never run out of space.

* New "Group" mode: You can now select groups on the scatter surface where you want your scattering to happen. You can use existing groups, or create new ones using Poser's Grouping Tool. This gives much more control over placement on the same scatter surface.

* Positional X/Z jitter: This new slider allows adding randomness to object placement, so it doesn't fall exactly over a vertex. This provides a more uneven distribution, avoiding straight lines and rows.

* Surface offset: This allows controlling the distance scattered objects will be from the surface. It can be positive or negative, meaning we can make objects be placed further away from the surface, or instead, sink into it.

* Scale Y: In addition to uniform scaling, we can now stretch scattered objects on the Y axis (non-uniform) separately, making them vary in height. This allows for more distribution variety. The 2 sliders allow controlling the minimum and maximum height variations.

* New random distribution: This version implements a faster and more efficient method for calculating the next position for scattered objects. It adds as second layer of randomness, and reduces the time required to scan the scatter surface for new free positions.

* This version will support both Windows and MacOS, and also German and Japanese languages.

* Optimized surface alignment: The surface alignment module has been revamped to reduce overhead and improve performance.

* Internal reference objects you might have seen while using the tool will no longer show in the Hierarchy Editor. They are now dynamically created and destroyed when needed, and will no longer remain in the scene.

* Slider resetting: We can now reset any slider to default value by right-clicking them.

* Improvements on variation option selections. The tool now automatically ignores settings that do not work, or make no sense when combined with other options. For example, rotations and surface alignment are ignored when using billboards, whether they are enabled or not.

* General code optimization. Many parts have been redesigned and optimized for performance.

* After clicking a slider, we can control it's value using the mouse scroll. This allows for fine control over the values. This is not new, but it's good to know in case you've missed it.
 

Miss B

Drawing Life 1 Pixel at a Time
CV-BEE
One of these days, I have to get back to playing with it. I just haven't had much time to do so.
 

Ken1171

Esteemed
Contributing Artist
This new version will be more fun to play with, offering more control than before. ^^
 

Ken1171

Esteemed
Contributing Artist
Still working on the V1.10 update for the Scatter Tool, which will include a number of bug fixing and new features. For those of you who have scattered something that later you've noticed it couldn't be removed, it appears that this was caused by the object being scattered had spaces on their names. If you remove the spaces, it should work with the "remove selected" button. This has been fixed in V1.10, but you can make it work with v1.02 by just removing spaces from the name. :)
 

Miss B

Drawing Life 1 Pixel at a Time
CV-BEE
Glad to hear you're still working on it. I haven't had a chance to play with it lately, but certainly want to play with it more. :)
 

Ken1171

Esteemed
Contributing Artist
As we all probably know by now, since Charles Taylor had it publicly announce at Rendo, Poser 12 will upgrade to Python 3, which means many good things, but also that ALL existing scripts will stop working. Without the original makers to update them (ShaderWorks, D3D, Netherworks, PhilC), there will be no P12 versions for any of them.

Having that in mind, there are some tools I cannot do without, where perhaps the major one being ShaderWorks "Advanced Figure Manager 2". That is a collection of several modules, including my favorite - the "Parameters" panel. I am attempting to recreate that one so I can have it in P12. It's a searchable and filterable morphs manager where we can quickly find and operate on dials without having to look for them in the Poser parameters panel. No matter how deep the dial is buried, this tool can find it by keyword, filter by dial type or by value, and set/reset one or multiple dials at once.

By now I have a working version I call the "Parameters Manager", and it's a fully native, dockable, panel I have skinned to look native in Poser. I am adding more features and customizing it to be more to my liking and the way I work in Poser. Right now it remembers all settings when we close it, and even the position it was last time, even if docked. By default, the dials list in the same order they exist on the figure or clothing, but they can be sorted alphabetically, and columns can be resized. This is something the existing tool cannot do. Right-clicking parameters reset them to zero, but if we hold SHIFT, it sets them to whatever the individual max vale is for each dial. Holding CTRL sets them to the assigned min value, and holding ALT sets them to whatever the default value is. Click and dragging on the list sets the dial value, just like with Poser dials, but without pixel hunting.

Next feature I will be adding will be more advanced, like filtering dials by those that exist on the clothing, all clothing, or one in particular. This way I can know which dials the clothing will follow, and which will not before I spin the dial. It's all the stuff I wish Poser could do, but it doesn't.

I am very excited to be working on something I know I will need in Poser 12, and it also gives me the opportunity to make it more fitting to my workflow. This is yet another of those projects I am doing for myself, and if more people think it is useful, the better. :)
 

Ken1171

Esteemed
Contributing Artist
One "fun" thing about my "Parameters Manager" will be something most Poser users have dealt with before. How many times you wanted to set a dial to a specific value, but the sensibility was too high (default= 1.0), and you couldn't set it to what you wanted? With a dial sensibility at default value, there are cases where the value changes too fast, even with the smallest mouse movement. This typically requires me changing the dial parameters to use a lower sensibility value, usually 10X smaller than the default.

My tool includes SHIFT, CTRL and ALT key modifiers when we spin a dial, which controls how fast it changes the value. SHIFT reduces sensibility to 50%, while CTRL reduces it to 30%, and then ALT cuts it down to 1%, giving me customizable dial precision without having to actually alter the dial settings. It's things like this that make life easier. The devil is in the little details. If you double-click the parameter, you can type in the specific value if you want to.

One tool I rely on is this: Creator's Toybox - A NetherWorks Studio Creation at HiveWire 3D I like that you can repoint to the geometry rather than having to edit the files with a text editor. Any chance you can make this one for Poser 12?

I definitely can. Extracting geometry and retargeting the Poser file should be fairly straight forward to do with scripting. :)
 
Last edited:

Miss B

Drawing Life 1 Pixel at a Time
CV-BEE
Oh I have a dozen (more likely more) of Joe's goodies, and I'm hoping he'll be able to upgrade them, even if at a later date, or someone, perhaps Snarly, will be able to adjust them for P12.
FingersCrossed.png
 

Ken1171

Esteemed
Contributing Artist
One of the most invaluable tools for me is D3D's XS advanced shader manager. It can do some complex operations, like mass editing multiple MAT zones in one pass, including reconnecting shader nodes to different places in the shader tree. When I say this is "complex", it is suffice to know that the PoserPython API has no means of copying and pasting a material to another - something many of us do everyday in the Materials Room.

The shear amount of operations that single tool can perform is simply amazing. There isn't a single render I have done in the past few years I haven't done using it to edit the materials. Since D3D (Ralf Sesseler) has passed away, there will be nothing from him in P12.

That's what pushed me to start writing my own plugins for Poser. The force of necessity.
 

3dcheapskate

Busy Bee
...it is suffice to know that the PoserPython API has no means of copying and pasting a material to another - something many of us do everyday in the Materials Room...
I believe that my old ShareCG freebie CreateMaterialCode PoserPython Wacro almost does that...
I say almost, because I didn't want to simply copy and paste one material to another - I wanted to be able to apply that material to anything in future, but via Python, not via an MT5 or MC6. So the script creates Python code which it spits out to the debug window, which you can then cut-and-paste and save as a PoserPython Wacro. Rather cack-handed way of doing it I know, but I did it for my own use and it was good enough for me!
Since it was written 4 years ago it only works for Firefly, but the code might give you some ideas. You're welcome to do with it as you please.
 

3dcheapskate

Busy Bee
Ah ! Just re-read your post...
Yes, the PoserPython API has no simple single method/function/whatever-you-call-it-in-Python-these-days to copy one material to another, which you'd think it would have.
And of course Snarly's EzMat does the job in (probably) a much less cack-handed way than I did ! :D
 

Ken1171

Esteemed
Contributing Artist
I have recently talked to Rendo about this, claiming copy'n'paste could be considered one of the most commonly used actions when it comes to Poser materials. They replied PoserPython doesn't have the ability because it would be "too complex" to code it. I was thinking if they already have the ability to send it to disk, what's the difference from exchanging the same structure in memory? They said some trees are really large, and it could be a problem to do it in memory. My argument would be that if Poser can handle 8K textures, what could be larger than that in memory?

Either ways, Poser Python cannot do it, and that was the point in a nutshell. It's frustrating, but that's not the only major thing we cannot do with Poser Python. What about copying morphs to clothing? We do that in basically every scene, and it's not accessible from Python. I have posted the request for the feature, and after this I can only hope for the best. :)
 

RAMWolff

Wolff Playing with Beez!
Contributing Artist
Hopefully Poser Python will get an update at some point. That's just terrible for all the excuses without even trying to see what would happen.
 

Ken1171

Esteemed
Contributing Artist
I believe users and content creators know what they need and what they want. All we can do is place the request/suggestion. In the end, the final decision is Rendo's, just like it was with SMS. For the time being, the workaround is saving MT5/MC6 files to disk, and then reading them back elsewhere, while making believe this is copy and pasting. That's how every 3rd party script that handles Poser materials do it, because there is no direct Poser Python way around this.

The reason I have mentioned copying morphs is that there is no workaround for it. One of the reasons was that SMS thought it would be a good idea to remove this feature from the standard Poser version, reserving it only for "professional" users who have paid for the Pro version. Copying morphs from figure to clothing happens in every possible scene where body morphs are used and the character is clothed, so it has nothing to do with standard or professional users. I have hopes Rendo will correct this discrepancy. I have filed my report to Rendo concerning this, and now it's up to them. Personally, I have faith that Rendo will do things better than SMS did when it comes to business decisions. Time will tell. :)
 
Top