UltraScatter - v1.5.0 released [Commercial]

11617192122

Comments

  • barbultbarbult Posts: 23,209

    Phew, well I finally made it through the whole thread. Amazing work everyone.

    even 50,000 patches of grass ended up patchy. But still, pretty nice results.

    Related to your comment Timmins, I am having a similar problem of unable to fill in a surface completely. Like you, I'm trying to make a lawn of grass, and thus need 100% coverage... But even if I set my instances to 50,000 and spacing to 0, there always seem to be gaps in places. Anyone have a solution to this by chance?

    -P

    Try unchecking the Random Seed setting on the distribution.

  • PhilWPhilW Posts: 5,139

    Are you using a patch of grass? if so, you probably need to set your spacing to approximately the size of your patch, or maybe a little less to allow for some overlap.  Setting the spacing to zero allows instances to occupy the same space, or nearly the same, which is a waste of instances.

  • PA_ThePhilosopherPA_ThePhilosopher Posts: 1,039
    edited July 2017
    barbult said:
    Try unchecking the Random Seed setting on the distribution.

    That helped a lot. Funny, I would have never thought to uncheck that. I'm still getting gaps in some areas, but at least now its better coverage. I might be able to work with this.

     

    PhilW said:

    Are you using a patch of grass? if so, you probably need to set your spacing to approximately the size of your patch, or maybe a little less to allow for some overlap.  Setting the spacing to zero allows instances to occupy the same space, or nearly the same, which is a waste of instances.

    Phil,

    When I do that, then I see even more gaps and empty areas, since the script caps the max number of instances at like ~1/10th of what I enter (for example, if I enter 50,000 instances, it will only populate like 6,000 instead). I need to set my spacing to 0 just to try to fill in every spot and use every instance available. I realize there are overlapping patches, but I don't know any other way to get 100% coverage.

    -p

    Post edited by PA_ThePhilosopher on
  • barbultbarbult Posts: 23,209
    barbult said:
    Try unchecking the Random Seed setting on the distribution.

    That helped a lot. Funny, I would have never thought to uncheck that. I'm still getting gaps in some areas, but at least now its better coverage. I might be able to work with this.

    Unchecking the Random Seed box is especially helpful when the thing you are scattering onto has a high poly count. I got this tip from the UltraScatter creator himself, so although it is not at all intuitive, it does help quite a bit. I'm glad it seems to work for you. smiley Maybe you can fill in any obvious gaps with some manually placed instances. And of course lawns are not all uniform and perfectly lush anyway, so a few gaps might even look more natural.

  • TangoAlphaTangoAlpha Posts: 4,584

    I think the problem there is that the random seed generator has quite a short sequence size - only a few thousand numbers before it starts repeating. So on a large scatter you'll just get instances stacking on top of each other after a while.

    You can also run a second or third scatter with a different grass prop, scaling options etc.

  • Leonides02Leonides02 Posts: 1,379

    I love Ultrascatter.

    However, I'm having a weird problem. Basically, when I turn on "Memory" in the Optimization tab, my character's eyes end up looking like this:

     

    If I turn "Memory" back to "Speed," the look right again...

     

     

    Any ideas how I can fix this? Oddly enough, I only have this problem in the current scene. I used Harpwood Trail the other day and it all looked fantastic...

    Thanks for any help!

     

  • L'AdairL'Adair Posts: 9,479

    A stop-gap solution would be to render the full scene with Optimization set to Memory. Then set Optimization to Speed and use the Spot Render tool for the eyes. Your camera and Render Settings-General need to have the same width and height parameters, and New Window needs to be set in the Tool Settings for Spot Render. It might be a good idea to spot render the full face. Combine the two renders in your favorite photo editing software. If the change between the face and the rest of the body is obvious, you can feather the edges of the spot render.

    Another possible solution is to render the full scene as above. Then hide everything except your character (with clothing, hair, props, etc.,) set Optimization to Speed, set Draw Dome to Off in the Render Settings->Environment, and render just the character. Save the render of your character as a png and the background stays transparent. Then combine those in your photo editing software.

    Granted, the best solution is it working as expected regardless of the Optimization setting, but the reason for the issue could just as easily by Iray or hardware limitations as anything else...

    Hope this helps.

  • Leonides02Leonides02 Posts: 1,379
    L'Adair said:

    A stop-gap solution would be to render the full scene with Optimization set to Memory. Then set Optimization to Speed and use the Spot Render tool for the eyes. Your camera and Render Settings-General need to have the same width and height parameters, and New Window needs to be set in the Tool Settings for Spot Render. It might be a good idea to spot render the full face. Combine the two renders in your favorite photo editing software. If the change between the face and the rest of the body is obvious, you can feather the edges of the spot render.

    Another possible solution is to render the full scene as above. Then hide everything except your character (with clothing, hair, props, etc.,) set Optimization to Speed, set Draw Dome to Off in the Render Settings->Environment, and render just the character. Save the render of your character as a png and the background stays transparent. Then combine those in your photo editing software.

    Granted, the best solution is it working as expected regardless of the Optimization setting, but the reason for the issue could just as easily by Iray or hardware limitations as anything else...

    Hope this helps.

    Yep, this is what I ended up doing. It's just really weird. What's even more strange is when I moved the character, the problem went away. :\

  • L'AdairL'Adair Posts: 9,479
    L'Adair said:

    A stop-gap solution would be to render the full scene with Optimization set to Memory. Then set Optimization to Speed and use the Spot Render tool for the eyes. Your camera and Render Settings-General need to have the same width and height parameters, and New Window needs to be set in the Tool Settings for Spot Render. It might be a good idea to spot render the full face. Combine the two renders in your favorite photo editing software. If the change between the face and the rest of the body is obvious, you can feather the edges of the spot render.

    Another possible solution is to render the full scene as above. Then hide everything except your character (with clothing, hair, props, etc.,) set Optimization to Speed, set Draw Dome to Off in the Render Settings->Environment, and render just the character. Save the render of your character as a png and the background stays transparent. Then combine those in your photo editing software.

    Granted, the best solution is it working as expected regardless of the Optimization setting, but the reason for the issue could just as easily by Iray or hardware limitations as anything else...

    Hope this helps.

    Yep, this is what I ended up doing. It's just really weird. What's even more strange is when I moved the character, the problem went away. :\

    That does sound weird! I've read in other threads where moving the camera can solve some issues as well. Guess the tecnology is a bit finicky... lol

  • PA_ThePhilosopherPA_ThePhilosopher Posts: 1,039
    edited August 2017

    Ok. Been using Ultrascatter extensively and enjoying it very much. Truly so easy to use and well thought out. yes

    There's just one last thing I need to accomplish with it that I can't seem figure out (see attached image). I need to scatter the little green arrows so they point in the same direction as the Red arrows. Can this be done? In other words, I need to have them match the orientation of the target's UV map/surface. Hope that makes sense,

    -P

    Untitled-1.jpg
    2653 x 985 - 639K
    Post edited by PA_ThePhilosopher on
  • barbultbarbult Posts: 23,209

    Ok. Been using Ultrascatter extensively and enjoying it very much. Truly so easy to use and well thought out. yes

    There's just one last thing I need to accomplish with it that I can't seem figure out (see attached image). I need to scatter the little green arrows so they point in the same direction as the Red arrows. Can this be done? In other words, I need to have them match the orientation of the target's UV map/surface. Hope that makes sense,

    -P

    It might be possible with a rotation map, but you would have to make the custom rotation map yourself. Have you tried that?

  • PA_ThePhilosopherPA_ThePhilosopher Posts: 1,039
    edited August 2017

     

    barbult said:

    It might be possible with a rotation map, but you would have to make the custom rotation map yourself. Have you tried that?

    To be honest, I'm at a total loss as to how to do that, as the 3 red planes in my test scene are a single OBJ file (stacked UV's). I suppose worst case scenario I could redo the UV's to unstack them though. Hmmmm....

    -P

    Post edited by PA_ThePhilosopher on
  • barbultbarbult Posts: 23,209
    edited August 2017

    Well, I don't have an OBJ file like you described, so I created a single plane and created a distribution map to control where the small blue planes would be scattered. Then I created a rotation map to rotate the scattered planes in a different direction on each area. After scattering the planes, I had to adjust the Y translation of the scattered instance group by 0.1 so that the scattered planes would not be at the same Y axis point as the plane they were scattered on (Daz Studio doesn't render geometry that intersects like that very well).

    I have the distribution map, rotation map and arrow in D:/DAZ 3D/Studio/My DIM Library/Runtime/Textures/barbult/UltraScatter Distribution Maps. The attached scene file should look for them there, so you will need to modify that to look wherever you put them if you want to try my scene file (the attached DUF file).

     

    Rotation Map Squares Y axis.png
    2048 x 2048 - 24K
    Distribution Map Squares.png
    2048 x 2048 - 7K
    Black Arrow.png
    2048 x 2048 - 41K
    duf
    duf
    Ultrascatter Rotation Map.duf
    32K
    Ultrascatter Rotation Map.png
    2000 x 1500 - 991K
    Post edited by barbult on
  • PA_ThePhilosopherPA_ThePhilosopher Posts: 1,039
    edited August 2017
    barbult said:

    Well, I don't have an OBJ file like you described, so I created a single plane and created a distribution map to control where the small blue planes would be scattered. Then I created a rotation map to rotate the scattered planes in a different direction on each area. After scattering the planes, I had to adjust the Y translation of the scattered instance group by 0.1 so that the scattered planes would not be at the same Y axis point as the plane they were scattered on (Daz Studio doesn't render geometry that intersects like that very well).

    I have the distribution map, rotation map and arrow in D:/DAZ 3D/Studio/My DIM Library/Runtime/Textures/barbult/UltraScatter Distribution Maps. The attached scene file should look for them there, so you will need to modify that to look wherever you put them if you want to try my scene file (the attached DUF file).

     

    Thanks barbult. I really appreciate the help in this. After doing some more testing, I am still running into a slight hurdle with this project. Using a distribution map is helpful. But in my situation, my planes are in a single OBJ file with  overlapping/stacked UVs, which prevents me from using your solution above. IOW, rather than controlling the orientation of the arrows using a UV map, I would need to instead control the orientation of the arrows by the orientation of the UV-projection on each plane (Each plane shares the same UV map---since they are part of the same OBJ file---but rotated in different directions). 

    I am probably making this sound more complicated than it is.

    -P

    Post edited by PA_ThePhilosopher on
  • barbultbarbult Posts: 23,209

    I'm afraid I don't even understand what "overlapping/stacked UVs" and "UV-Projection" mean. Do you want to upload a sample?

  • Is there a way to turn an instance preview from 'bounding box' to 'none'? Without re-running Ultrascatter?

  • L'AdairL'Adair Posts: 9,479

    Is there a way to turn an instance preview from 'bounding box' to 'none'? Without re-running Ultrascatter?

    Maybe.

    It is possible with the latest updates, but the original has to have been created with the updated script. Assuming that is the case, select the Ultrascatter object in the Scene tab and run the Ultrascatter script. Select "none" for the instance preview. Behind the script window, you should notice the bounding boxes are no longer there. Close the script.

    If that doesn't work, the Ultrascatter object was created before the update. In that case, you will have to run the script again. The good news is, after that, you can change the preview without regenerating the instances. (Terminology may be a bit off. I'm writing this from memory.)

  • TangoAlphaTangoAlpha Posts: 4,584

    The bounding boxes are a 'proxy' object, which you can hide by deselecting the eye icon. It'll be in a group with the actual instances, usually parented to the object they're scattered on.

    Also, the latest update can do it through the script, as L'Adair mentioned. But by the time you've reached the Ultrascatter group to run the script, it's only two more clicks to hide the proxy anyway.

  • MarkIsSleepyMarkIsSleepy Posts: 1,496
    edited September 2017

     

    barbult said:

    <snip>

    Thanks barbult. I really appreciate the help in this. After doing some more testing, I am still running into a slight hurdle with this project. Using a distribution map is helpful. But in my situation, my planes are in a single OBJ file with  overlapping/stacked UVs, which prevents me from using your solution above. IOW, rather than controlling the orientation of the arrows using a UV map, I would need to instead control the orientation of the arrows by the orientation of the UV-projection on each plane (Each plane shares the same UV map---since they are part of the same OBJ file---but rotated in different directions). 

    I am probably making this sound more complicated than it is.

    -P

    @PA_ThePhilospher - did you ever solve this? I was just catching up on this thread and saw your post and had an idea based on how I'd do this in Blender.

    DAZ Studio supports multiple UV maps for an object (for example with Genesis you can choose between the Base UV or the Victoria X UV) - I wonder if you could create a second UV map, with the three squares separated in the UV, then use that one for a rotation map and the default/original UV map for the texture? I don't have Ultrascatter (been in my wishlist since it came out, but I don't render in DS enough to get it yet) so I don't know if it allows you to choose which UV map is used or if it just uses the active one.

    Alternately, if you actual use is as simple as what you have shown, then maybe you could just put invisible proxy planes where yours are and scatter on those?

    Post edited by MarkIsSleepy on
  • JoepingletonJoepingleton Posts: 746
    edited September 2017

    This experiment examines combining "UltraScatter Advanced Instancing for Daz Studio" and "Look At My Hair" in DAZ Studio and Iray.  I had to convert the LAMH fur to an object and then I could use UltraScatter to generate 100 HiveWire House Cats from 8 cats (4 grey, 4 orange, 4 long hair, 4 short hair and 8 poses). No post work. 15 min render

    ultraKitty01.jpg
    1175 x 500 - 207K
    Post edited by Joepingleton on
  • MDO2010 said:

    @PA_ThePhilospher - did you ever solve this? I was just catching up on this thread and saw your post and had an idea based on how I'd do this in Blender.

    DAZ Studio supports multiple UV maps for an object (for example with Genesis you can choose between the Base UV or the Victoria X UV) - I wonder if you could create a second UV map, with the three squares separated in the UV, then use that one for a rotation map and the default/original UV map for the texture? I don't have Ultrascatter (been in my wishlist since it came out, but I don't render in DS enough to get it yet) so I don't know if it allows you to choose which UV map is used or if it just uses the active one.

    Alternately, if you actual use is as simple as what you have shown, then maybe you could just put invisible proxy planes where yours are and scatter on those?

    @MDO2010 Thanks for the suggestion. In my real life scenario, I have thousands of these planes, each with their own orientation. So I don't think separating the overlapping UV's will work in this case. I tried that in ZBrush and it just produced a massive UV map with thousands of little squares on it (as opposed to one single square). It just makes things too complicated. I was hoping there was a way for Ultrascatter to automatically detect the orientation of each plane in the OBJ. But it doesn't look like there is.

    I may need to just shelve this project for now and come back to it at a later date.... Or just do it the old fashioned way and not use instancing. 

    -P

  • barbult said:

    I'm afraid I don't even understand what "overlapping/stacked UVs" and "UV-Projection" mean. Do you want to upload a sample?

    @barbult If you want to play with my test scene file, I've attached it to this post. But I am not seeing a solution to this quite yet, so don't waste too much time on it.

    Thanks Barbult,

    -P

    duf
    duf
    Scatter-Testing.duf
    18K
    [directional-calibration].jpg
    500 x 500 - 14K
  • nowefgnowefg Posts: 557

    I finally got around to trying UltraScatter for the first time. A manual download, by the way.

    No-go, the script won't load. I'm hopng it's some simple thing, because I was very excited to get it.

    My version of Studio, 4.9.4.117, is later than the minimum required 4.8.0.59 that the pdf specifies for Ultrascatter 1.1.4.

    Per the pdf, I have an object selected, the seagull, and then try to load the script. Get the error msg.

    Aggravating. I can't see where it's going wrong.

    Screenshot attached with the log file info. Anybody have an idea why the script won't load?

     

     

     

     

     

     

    Ultra Scatter Load Error 2.jpg
    1439 x 848 - 169K
  • AtiAti Posts: 9,083

    Do you also have another object that you want to scatter the seagull on? You need to have at least two objects in the scene. (I haven't tried what happens when I only have one, so this might not be the issue.)

  • So it was a manual install as well as a manual download? The script does need to be able to find some external files so if you didn't use the default paths, especially relative to the main script's folder, that may well be the issue.

  • nowefg said:

    I finally got around to trying UltraScatter for the first time. A manual download, by the way.

    No-go, the script won't load. I'm hopng it's some simple thing, because I was very excited to get it.

    My version of Studio, 4.9.4.117, is later than the minimum required 4.8.0.59 that the pdf specifies for Ultrascatter 1.1.4.

    Per the pdf, I have an object selected, the seagull, and then try to load the script. Get the error msg.

    Aggravating. I can't see where it's going wrong.

    Screenshot attached with the log file info. Anybody have an idea why the script won't load?

     

     

     

     

     

     

    Could be because you renamed the folder it is in. The UltraScatter script needs to be located in the following path:

    "Your Daz 3D Library"/Scripts/UltraScatter/

    but it looks like you named it /Scripts/Howie Farkes Ultra Scatter/ so maybe rename it to /Scripts/UltraScatter/ and try again.

  • nowefgnowefg Posts: 557
    edited September 2017
    nowefg said:

    I finally got around to trying UltraScatter for the first time. A manual download, by the way.

    No-go, the script won't load. I'm hopng it's some simple thing, because I was very excited to get it.

    My version of Studio, 4.9.4.117, is later than the minimum required 4.8.0.59 that the pdf specifies for Ultrascatter 1.1.4.

    Per the pdf, I have an object selected, the seagull, and then try to load the script. Get the error msg.

    Aggravating. I can't see where it's going wrong.

    Screenshot attached with the log file info. Anybody have an idea why the script won't load?

     

     

     

     

     

     

    Could be because you renamed the folder it is in. The UltraScatter script needs to be located in the following path:

    "Your Daz 3D Library"/Scripts/UltraScatter/

    but it looks like you named it /Scripts/Howie Farkes Ultra Scatter/ so maybe rename it to /Scripts/UltraScatter/ and try again.

    Thanks, Howie, and Richard,

    I'm in the habit of putting content where it works best for me, (and my memory, given the size of my ever expanding library.) In almost every case, renaming folders for original loading of things works without a hitch.

    If need be, in some cases I've changed the path in the duf, but that's not possible with encrypted script products, so it sounds like the path issue is the problem. A very simple fix.

    Hope so, anyway.

    Incidentally, I'm amazed by the Harpwood Trail & Pond for Daz products. Incredibly lifelike scenes and iray renders, even on my low-power rig. I hope we'll be seeing more "for Daz" landscapes from Mr. Farkes.

     

    UPDATE: That was indeed the problem. A few seconds to change the path name and the script opened and operated without a hitch. Thanks for the help.

    Post edited by nowefg on
  • PhilWPhilW Posts: 5,139

    This experiment examines combining "UltraScatter Advanced Instancing for Daz Studio" and "Look At My Hair" in DAZ Studio and Iray.  I had to convert the LAMH fur to an object and then I could use UltraScatter to generate 100 HiveWire House Cats from 8 cats (4 grey, 4 orange, 4 long hair, 4 short hair and 8 poses). No post work. 15 min render

    A belated response but this looks awesome - a wonderful experiment!

  • JoepingletonJoepingleton Posts: 746
    edited September 2017
    PhilW said:

    This experiment examines combining "UltraScatter Advanced Instancing for Daz Studio" and "Look At My Hair" in DAZ Studio and Iray.  I had to convert the LAMH fur to an object and then I could use UltraScatter to generate 100 HiveWire House Cats from 8 cats (4 grey, 4 orange, 4 long hair, 4 short hair and 8 poses). No post work. 15 min render

    A belated response but this looks awesome - a wonderful experiment!

    Thanks PhillW

    Ultrascatter is so much like the surface replicator in Cararra :)

    This is a quick experiment to examining how "UltraScatter Advanced Instancing for Daz Studio" works distributing an army of 500 skeletons on the "Through the Woods" model's uneven terrain in DAZ Studio and Iray. No post work

    skelly03.jpg
    960 x 540 - 232K
    Post edited by Joepingleton on
  • Oso3DOso3D Posts: 14,894

    That's REALLY cool

Sign In or Register to comment.