• 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 Scatter Tool II Python Script for Poser 12

Ken1171

Esteemed
Contributing Artist

~Scatter Tool II Python Script for Poser 12~​

**REQUIRES Poser 12.0.396 or newer.

The Scatter Tool II brings a new level of automation when scattering objects into your Poser scenes. Check some of the new features below.

Promo_02_LightBox_600x800.jpg

Ever wanted to scatter objects at random on a scene, like grass, rocks and trees? Then resize and rotate each piece so they don’t look all the same? And then align each object to the terrain so they line up properly? Then welcome to the Scatter Tool - that’s exactly what this was meant to automate. Just load the objects you want to scatter from the library, and then this tool will show them on a list. Pick one, enter how many copies you want, if you want rotations, scaling and how much of each, if you want automatic surface alignment, and then press the scatter button. Then watch as your scene is populated for you in seconds. It is as simple as that!

We can now (optionally) paint where exactly we want things to be scattered directly on the surface using Poser's Group Editor! To do so, you can use the brush or the rectangular lasso, with options to add or remove polys from the selection. Here's a quick productivity HINT: If you don't want to click the + and - buttons, holding the CTRL key down when painting inverts the current operation. :)

Promo_07_LightBox_600x800.jpg

Better showing than explaining. The scene below was made with the Poser ground plane, and the single-sided square from the Props > Primitives library. I have used the Morphing Tool to add some hills and valleys, and put a PBR water material on the single-sided square to make a little pond. Then scattered some vegetation, and rendered in Superfly with HDRI to add water reflections. And here's the thing - I have painted the scatter area so nothing is placed inside the water. Total control over where things are placed! ^___^

Promo_03_LightBox_600x800.jpg

In this scene, I have just scattered everywhere over the Poser ground plane. The cacti are flat billboards, but I didn't set them up as billboards (don't face the camera), so I could make a render more from above without everything tilting to the sides. For that, I have disabled rotations, so they all face front. The advantage of using billboards is that I can place a LOT of cacti on the scene without slowing Poser down, and (with luck), people won't notice the difference. :)

Promo_04_LightBox_600x800.jpg

In this render (using the Poser ground plane), I have placed a ruined wall and some trees, and I have painted the scatter zones so that nothing is placed in these areas. For example, we don't want plants or rocks coming out of the wall, or the trees. However, random scaling and positional jitter variations may cause intersections, and we can easily move things around after the scattering is done. Here I have used the new positional jitter, and also random heights, so the grass is not only larger, but also taller at some places. Scale and height are independent controls, so the grass may also be smaller and taller, in any combination.

Promo_05_LightBox_600x800.jpg

The power of billboards! We can easily kill Poser by placing even a fraction of these people in a scene. Each of these billboard people is made of a single poly, so even a crowd of 200 people cannot even slow Poser previews down. If you need background crowds, this is the way to go!

Promo_08_LightBox_600x800.jpg

In other cases, when whatever you want to scatter is too heavy for Poser, render it and make a billboard out of it. Don't know how to make billboards? Follow my video tutorial, and create a billboard our of a high poly tree using only the single-side square from the Poser props library, and a single render of the tree. Then make a dense forest out of it, and notice it doesn't slow Poser previews down! :D


I have improved the surface alignment performance in this version, so the internal alignment objects from the original version won't even show in the scene anymore. They are created and disposed of automatically during scattering. In this render, I have used a Geosphere (evenly distributed vertexes sphere), and painted a "rim" scatter zone, so figures were only placed around the sphere, and not at the centers. The Geosphere was very low poly, so I had it subdivided twice, which made it shrink a bit. To compensate, I have used the new "surface offset" distance to place the figures closer to the surface, so they don't float around it. This is a good example for when we should use the new surface offset feature.

Promo_09_LightBox_600x800.jpg

During internal beta, I was requested to increase the range of the positional jitter, scale, and height variations. That was to compensate for when people want to scatter over HUGE areas, such as the inside of the Construct prop. I have increased all of these dial ranges, and now we can have random distributions over very large areas. However, that also makes it more finicky to adjust these sliders in smaller scenes, so I am trying to find a middle term between these two.

And talking about sliders, this version now shows the current value as we drag them, so you know exactly what values you are using. Another improvement was the addition of tooltips when we hover the mouse over any control, showing what they do. If you want the values to (temporarily) replace the tooltips for the slider value, you can do it by using the mouse scroll wheel, which can also be used to make small value adjustments. We also have a new HELP button that opens the PDF manual straight from the tool when you need it. And if you run out of places to scatter, we now have the new "Overlap" mode, which removes the amount limit per surface, so you can continue scattering as much as you want - or until you run out of memory! LOL

The scene management was completely redesigned. In the previous version, the tool would "forget" what objects were scattered over what areas if we closed it. Now, it automatically scans the current scene next time it is launched, and rebuilds all tracking information. This means that even if we close the tool, it will still remember what objects were scattered over what object, surface, and even group. This is useful when we want to add or remove objects from these specific areas. This means we can now close the tool and continue the work some other time, and it will remember everything.

Last, but not least, the Scatter Tool P12 is now a Poser native WX panel, so it can be positioned, sized, and even docked into Poser. I also made it smart, so it remembers the last position, size and docking state next time we launch it. So even though some features remain the same, this is a complete revamp of the original idea.

I have finished the promos, documentation, manual, and internal beta-testing. I just have to adjust the dial ranges a bit more, and it will be ready to go.
 
Last edited:

Ken1171

Esteemed
Contributing Artist
During the internal beta, I have found a few issues everybody else has missed, and I took the opportunity to make some improvements in the way it functions. One of them is in the way rotation variations work.

Rotation variations now apply in both clockwise and counterclockwise directions. In the example below (scattered cubes seen from the top), I have set the rotation variations slider to 25 degrees, and below we can see it now rotates in both directions, providing a true random distribution.

1615486109586.png

I am still trying to balance dial limits in relation to scene scales. Limits for large scenes don't work so well with small scenes, and vice-versa. I have some ideas on how to deal with this, and have to give them a try. :)
 

Ken1171

Esteemed
Contributing Artist
Ok, I came up with a solution for the scene scale affecting the positional jitter slider limits. All is fine if the scene is very large, like scattering over the interior of the Construct ground, which is huge. However, what if we want to scatter over small objects, like the blue cube in the image below? If the jitter slider is tuned for large scales, all the green objects would be placed outside the blue cube. The solution was to make the initial low values on the dial exponential (like first 12 values), while the rest is linear. This means the first 12 values gives us much finer control over positional jitter, which is great for small scenes, while values above 12 are linear, which is good for large scale scenes. This way the same dial can handle both small and large scale scenes.

1615493896788.png
 

seachnasaigh

Energetic
...the Construct ground, which is huge.

Not in my usage habits:laugh:; construct at default size, dropped into Lothlorien III terrain:
construct in Lothlorien III.png


I frequently need to scale up the construct for my scenes. The underwater ruins scene used the construct at 15x default size. Didn't want the camera to see the "walls" of the construct.
undersea ruins techno-pixie C 1184x740.jpg



Hopefully, the Scatter Tool II will accommodate terrains larger than the (default size) construct?

I'd be OK with using multiple scatter areas, if need be.
 
Last edited:

Ken1171

Esteemed
Contributing Artist
Had a final version submitted, just waiting for Rendo to update their store backend so I can sell it there.
 

Ken1171

Esteemed
Contributing Artist
Still waiting on Rendo to complete the required changes on Poser 12 to support my new Python scripts. The tool is already with Rendo awaiting QAV. Please bear with me as we wait for them to get it done. ^^
 

Ken1171

Esteemed
Contributing Artist
Made some progress with the Poser dev team, ironing some wrinkles with the Python API, and also with the new way scripts are installed in Poser 12. I have reworked the wxPython interface, cleaning it up, optimizing, and adding my new Info & Help buttons. Since the interface has changed a bit, I had to update the manual and promos.

1618705626228.png

I believe this is the final release candidate that complies with all the changes on the Python API, the new Poser 12 script ZIP installer, and the backend changes at Rendo. It has never been so easy to install Python scripts as it is now in Poser 12. Now proceeding to internal beta, followed by Rendo QAV.

I can't wait to get my new scripts out to the store, after all the changes and technical issues with the Rendo store and the Python API I was facing since early March. I am the first one to make scripts for Poser 12, using the new installer format, and the new Rendo purchase verification process, so there were no lack of technical issues until the dust settled. At least I hope it has finally settled. LOL Testings looked promising, and everything has worked. Fingers crossed it will go smoothly with internal beta and QAV. ^____^
 

Ken1171

Esteemed
Contributing Artist
Thanks for your kind support, Hornet! I appreciate it! Now is the time for people to show that they will support me in this new endeavor, if I am to continue doing it. ^__^
 

Hornet3d

Wise
Thanks for your kind support, Hornet! I appreciate it! Now is the time for people to show that they will support me in this new endeavor, if I am to continue doing it. ^__^

The pleasure is all mine, I do make a point of trying to support those that are still writing for Poser but in your case it is a no brainer as your offerings are almost always must have's.
 

Ken1171

Esteemed
Contributing Artist
Thank you, Hornet! Encouragement is good. ^____^

Next up in line for release is the IK Manager P12. It will make figure posing much easier and snappy by bringing all IK features to our fingertips, including setting multiple IK in various combinations, clear separation of hands and feet IKs, and visual cues for IK states on any figure.

And then next will come the Light Dots P12, which is both memory dots for lights, and also a mini lights manager with many useful batch controls for lights.
 

Hornet3d

Wise
Thank you, Hornet! Encouragement is good. ^____^

Next up in line for release is the IK Manager P12. It will make figure posing much easier and snappy by bringing all IK features to our fingertips, including setting multiple IK in various combinations, clear separation of hands and feet IKs, and visual cues for IK states on any figure.

And then next will come the Light Dots P12, which is both memory dots for lights, and also a mini lights manager with many useful batch controls for lights.

I will keep my credit card warm then.
 

seachnasaigh

Energetic
@Ken1171 I have the P12 versions of LockMaster and ScatterTool; which method of install would provide you and the devs the more useful feedback? (In the sense of "it works!" or "it doesn't work!").
 

Ken1171

Esteemed
Contributing Artist
@Ken1171 I have the P12 versions of LockMaster and ScatterTool; which method of install would provide you and the devs the more useful feedback? (In the sense of "it works!" or "it doesn't work!").

Thank you for your support, Seachnasaigh! :D Over here I have tested installing as both downloaded ZIP archive, and also directly from the Poser embedded store, and it has worked either ways. I believed the new installation process in P12 makes it much easier to get scripts installed, compared to how it was before. Either ways should work. ^___^

One of the new things in P12 is that when we install scripts this way, they automatically show in the scripts menu without having to restart Poser.
 

Ken1171

Esteemed
Contributing Artist
Which runtime do I install to?

Poser scripts meant for P12 no longer install at the root runtime like it has always been until now. Rendo has changed it by creating 2 new runtimes outside the root one - Downloads and Purchases. They are located where you chose to place your contents during Poser 12 installation, so the location will vary from person to person. If you install from a ZIP file, it will be placed on Downloads. If from the embedded store, on Purchases. This applies to all contents you have purchased, not just to scripts.

During testing, I have always chose the defaults, so from ZIPs it gets installed on the Downloads runtime (but you are asked if you want to change it), and if from the embedded store, it ends up on the Purchases runtime. No matter where you choose to install these scripts, they will still show in the Scripts menu right after installed, without having to restart Poser.
 

seachnasaigh

Energetic
Poser scripts meant for P12 no longer install at the root runtime like it has always been until now.

I thought that needed to be said. ;) It's a significant change.

I just noticed that I don't see the embedded store; I saw it before, and even installed from it, but I no longer see it. Probably some coding change that doesn't work for Win7.

For the bees reading, here is the install from zip archive command:
P12 Python - install from zip.png


@Ken1171 or someone else can post a screengrab showing the embedded store tab
 
Top