Tue, Apr 23, 8:43 PM CDT

Welcome to the MarketPlace Showcase Forum

Forum Moderators: Staff

MarketPlace Showcase F.A.Q (Last Updated: 2024 Apr 19 12:42 pm)



Welcome to the MarketPlace Showcase Forum. The Showcase Forum and Gallery are intended for all commercial related postings by active Renderosity MarketPlace Vendors only. This is a highlight area where our membership is invited to review in greater detail the various art products, software and resource site subscriptions available for purchase in the Renderosity MarketPlace.


 



Subject: Scatter Tool II Python Script for Poser 12


Ken1171_Designs ( ) posted Sun, 07 March 2021 at 11:39 PM · edited Wed, 17 April 2024 at 12:02 PM

~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

Video tutorial HERE

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. I will update here when it gets released.


infinity10 ( ) posted Sun, 07 March 2021 at 11:54 PM

I'd like to try it with low-resolution buildings. I suppose it would work as well.

Eternal Hobbyist

 


Ken1171_Designs ( ) posted Mon, 08 March 2021 at 1:00 AM

infinity10 posted at 12:46AM Mon, 08 March 2021 - #4414518

I'd like to try it with low-resolution buildings. I suppose it would work as well.

Oh I did that with the original Scatter Tool for Poser 11 to build a random city. I have used the cube primitive, mapped with a building texture. It came out like this.

Promo13_800x600.jpg

Maybe it could look more realistic if I used more texture variety, and reduced the rotation variations, since cities use more of a regular grid layout. In another variation with cubes, I made a maze by disabling size and rotation variations, and making the cube size so it fits the others. This is what came out.

Promo11_800x600.jpg

In this new version for Poser 12, we can now paint scattering zones straight on the surfaces using the Group Editor, so we could paint a city layout with roads, and scatter a much more realistic city. On another example, I have used the tool to build me brick walls to use in Bullet physics simulations with 1-click. It used to be tedious to pile the bricks by hand.

Promo12_800x600.jpg

Every brick is placed at a vertex from the scatter plane, so I shift every other vertex row to the side, and make it a morph dial, which can be used to scatter bricks to look like a wall. If you are more nature inclined, the tool can be used to create landscapes, like the one below. I have placed one of Lisa Botanics cherry trees on the plane, and the scatter tool did the rest. ^___^

Promo03_800x600.jpg


infinity10 ( ) posted Mon, 08 March 2021 at 1:11 AM

COOL ! I like the results for the city.

Eternal Hobbyist

 


Miss B ( ) posted Mon, 08 March 2021 at 6:05 PM

Ohhh, this is definitely on my wishlist for when I start using my Poser 12 more. 😉

_______________

OK . . . Where's my chocolate?

Butterfly Dezignz


Rhia474 ( ) posted Wed, 10 March 2021 at 6:42 PM

I'm waiting for this one with bated breath. Thank you!


Ken1171_Designs ( ) posted Thu, 11 March 2021 at 9:11 PM

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.

image.png

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 logarithmic (like the 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.

image.png


vagabondallen ( ) posted Tue, 23 March 2021 at 8:25 PM

I bought the previous version at Hivewire and didn't realize it wasn't Mac compatible. Will this one work on Macs?


Ken1171_Designs ( ) posted Tue, 23 March 2021 at 8:59 PM

vagabondallen posted at 8:50PM Tue, 23 March 2021 - #4415472

I bought the previous version at Hivewire and didn't realize it wasn't Mac compatible. Will this one work on Macs?

Here's the thing about Mac compatibility - my code will work on Macs perfectly, I have tested. HOWEVER, the wxPython graphical interface doesn't because it is not compatible. It claims to be on paper, but it is not in the real world. So the Python code is 100% compatible with MacOS, but the WX graphical interface is not. This will remain like that until Poser chooses another graphical interface for Python that would also work on Macs, so there isn't much I can do about it.

I have even worked with a guy who has a Mac computer, trying to make a WX interface that works on MacOS, but it was so much work, where it took months, and some things had to be changed on the interface because, well, MacOS will not allow it. In the end I have realized that even if I could have an interface that worked in Macs, I cannot test it because I am on Windows. Since I am the one who gives tech support for my scripts, I need to be able to run it, so that wouldn't be possible - even when I tried so hard.


vagabondallen ( ) posted Tue, 23 March 2021 at 9:28 PM

Is the interface the only way to access the scripts? This seems like such an amazingly useful tool that I'm surprised Bondware wouldn't have a solution for that. Seems like it would be in their best interests to ensure cross platform.


Ken1171_Designs ( ) posted Tue, 23 March 2021 at 11:36 PM

vagabondallen posted at 11:06PM Tue, 23 March 2021 - #4415475

Is the interface the only way to access the scripts? This seems like such an amazingly useful tool that I'm surprised Bondware wouldn't have a solution for that. Seems like it would be in their best interests to ensure cross platform.

Maybe if enough Mac users joined forces to ask Bondware for better WX support on MacOS, it would have better chances of happening? :)


Ken1171_Designs ( ) posted Wed, 07 April 2021 at 9:25 PM

I am happy to announce that all adjustments and internal beta are now completed, and the tool has been submitted to Rendo for QAV. However, we have identified some issues with the Rendo store backend that is currently being addressed. I will not be able to sell any new Python tools at Rendo until this is resolved (they are putting them on hold), and I hope it will happen soon. But the important thing is that Rendo now has the tool and it is awaiting QAV to be approved.


Ken1171_Designs ( ) posted Thu, 22 April 2021 at 4:31 PM

Good news! The Scatter Tool II for Poser 12 is finally released at Renderosity! φ(゜▽゜*)♪

You can get it HERE

Promo_00_Main_1000x1300.jpg


Ken1171_Designs ( ) posted Sun, 25 April 2021 at 11:20 PM

Here's a LIVE DEMONSTRATION VIDEO of some of the new features, where I recreate the promo image below, from beginning to end in only 12 minutes. Among the new features, I demonstrate the new positional jitter, random height, and ability of painting where we want things to be scattered using a brush directly on the scatter surface in Poser. How cool is that? Check the video and find out! ^____^

Promo_03_LightBox_600x800.jpg


vagabondallen ( ) posted Wed, 28 April 2021 at 10:12 PM

Hey, if this is Windows only, the store page should reflect that. I missed that detail when I bought the Poser 11 version at Hivewire and I was never able to use it.


Ken1171_Designs ( ) posted Wed, 28 April 2021 at 10:34 PM

vagabondallen posted at 10:29PM Wed, 28 April 2021 - #4417953

Hey, if this is Windows only, the store page should reflect that. I missed that detail when I bought the Poser 11 version at Hivewire and I was never able to use it.

The Python code in my tools works fine in MacOS, but wxPython we have to use to build the graphical interface doesn't. That's a shame when Python is multiplatform, but the graphical interface is not.


vagabondallen ( ) posted Fri, 07 May 2021 at 8:31 PM

This makes me sad. LOL But seriously, I hope you still sell many. It's a great looking product!


vagabondallen ( ) posted Wed, 27 October 2021 at 9:27 AM

Hey Ken, have the updates in Poser 12.0.703 had any impact on how Python behaves on Mac with this tool? Probably not, but it never hurts to ask.


Ken1171_Designs ( ) posted Wed, 27 October 2021 at 2:02 PM

vagabondallen posted at 9:27 AM Wed, 27 October 2021 - #4429452

Hey Ken, have the updates in Poser 12.0.703 had any impact on how Python behaves on Mac with this tool? Probably not, but it never hurts to ask.

Hi Allen, there were some SERIOUS additions to this last Poser 12 update - probably the most significant so far! Like the Hierarchy Editor now starts with all nodes collapsed (yay!), and there are new buttons on the top to collapse/expand everything at once. One of my personal requests was the ability to ALT+Click a node to expand/contract the tree nodes starting from the selected one - super useful, and it's now in build 703. ^____^

There were many new additions to the Python API, but the dev team have stated that the WX graphical interface library is made and maintained by 3rd party, so they will not touch it. I have also tried working with another person to create an interface that works on Macs, but after some weeks, the guy didn't show up anymore. And then I realized that even if I made a Mac interface, if someone reported a bug in that version, I would not be able to provide support, since Apple forbids developers from testing Mac code in Windows. I have really tried for months, but WX requires different code on Macs, and Apple won't let me do it. The only kind of script I could make for both Win and Macs would be the ones without a graphical interface, since Python is naturally cross-platform.

In a way, it's not that WX Phoenix needs to be "fixed", but instead that MacOS requires different code to handle graphical interface interactions. Even the simplest thing, like detecting a single mouse click requires different WX code to handle it on Macs, and I cannot test this on Windows because Apple forbids it. If it depended on me, all of my scripts would also work on Macs, but no matter how hard I tried, there are forces against it. Just wanted you to know that I tried. :)


vagabondallen ( ) posted Tue, 02 November 2021 at 4:15 PM

Hey Ken, I appreciate your effort. It's an amazing tool that I wish I could use, but with M1 coming on Macs, it's even more of a hassle for developers trying to create cross platform. And as someone who's avoided DS for years because of how it's different from Poser, I would never expect anyone to feel obligated to learn both if it's not worth the effort. Thanks for the detailed reply. I know you genuinely want people to be able to use the product and it shows.


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.