• 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

Towards better grass in Poser...

3dcheapskate

Engaged
Regarding magnets - after a few fairly simple tests it appears that they don't work with a figure that uses geometry swapping.
 

3dcheapskate

Engaged
Also ran into a minor problem trying to use both (1) geometry variant dials for each individual actors, and (2) a master dial that controls all of the actors together. Poser (I've tried PP2014 and Poser 11) appears to set the min/max values for the variant dials for each actor ('geomChan' sections in the CR2) in accordance with the actual number of alternate geometries ('alternateGeom' sections in the CR2) for that actor, and sets 'Force Limits'true. Regardless of theMin/Max/ForceLimits settings in the 'geomChan' section in the CR2. It seems that you can change them by right-clicking the dial,selecting settings, and making changes - but if you do the same again you'll see that they didn't actually change. This makes perfect sense - you wouldn't want to set an invalid number for the alternate geometry. However, if you use the master dial to set all actors to say geometry variant 2, then the geometry variant dials for the individual actors cannot be set to -2 or-1, which would be necessary to actually select geometry variants 0 and 1 respectively.
The workaround I can see is to have a master dial on each actor with a range from-N to+N which drives the actual geometry variant dial. The overall master variant dial could then drive these individual master dials, which drive the actualgeometry variant dials. Alternatively, the overall master and the individual actor masters could both drive the actual geometry dial. Either way the min/max/forcelimits on the actual geometry dial will ensure only valid values.
But the extra dial on each actor makes it a bit less tidy than I'd wanted.
 
Last edited:

DanaTA

Distinguished
If I'd just exported the grass from the first 37 hexes and used that as my new mesh that would have been 37x176=6512 faces. I manually deleted a load of grass to reduce it to 2515 faces (arbitrary figure)
View attachment 60487View attachment 60488
That tool looks pretty nifty, but apparently it hasn't been tested on a Mac (and not all Poser Python things work on a Mac, depending on the python library used), so I haven't purchased it. But I look forward to hearing from others how it works!

Ken is working on a Mac version and says it's showing promise. It may be ready soon, from what I understand.

Dana
 

3dcheapskate

Engaged
I've been busy on other non-3D stuff for a while and forgot to post this:
What if I use that 2515 face grass geom for one of the original 0.2PNU hex tiles instead of the hex tile scaled up to 616% ? The grass will be just over 80% shorter, but what will it look like ?

Render 2.jpg


The plethora of blades pointing towards the top left rather spoils it for me, but as I said before that's simply because I forgot to randomly rotate each of the original geometriesafter loading the original figure, before exporting it as an OBJ.
The grass all looks to be the same length, even though there is actually some variation. Probably a good basis for a manicured lawn.
 

3dcheapskate

Engaged
And now a ridiculously hugely high-poly grass...
Render .jpg


...a whopping* 20 faces per stalk ! Most of that in the stalk, which is 3-sided (1-sided and 2-sided just didn't do it for me) with 4 segments so I can bend it a bit. Which I forgot to do. I do that a lot. Forget.

uhpg.jpg


Probably want more height variation too.

*Yes, my planet is different from most peoples... (should that s be apostrophesised ?)
 
Last edited:

3dcheapskate

Engaged
Still haven't worked out how to cope with groundplanes that are non-totally-flat surfaces. Maybe I'll leave that for Ken1171's scatter tool ? :)
 

3dcheapskate

Engaged
I can't believe that it was almost two years ago that I last posted on this thread - it seems like it was just yesterday.

The reason for posting is that I've just discovered something(s) called "Flinks Instant Meadow" over at the Renderosity MarketPlace. Lots of them. Versions 1, 2 and 3. Makes my "Towards better grass In Poser..." topic title sound a bit off since they've been around a long, long time and, at least from the promos, they do look rather spiffing.

But I'm pleased to say that I don't feel that I'm trying to reinvent the wheel, and I believe that it's worth putting a bit more time and effort into this. If I can be bothered... ;)
 

seachnasaigh

Energetic
Still haven't worked out how to cope with groundplanes that are non-totally-flat surfaces. Maybe I'll leave that for Ken1171's scatter tool ? :)
I have been re-doing some scenes for rendering at 4K (3840x2160 pixels), making some scene upgrades while I was at it. This one (squished down to 1200 pixels wide) has Flink's meadow #1, with grass fitted to the terrain using Silo's soft selection to pull some areas of grass down and push other areas up to fit the ground level. Not an ideal solution, since you have to use a modeler, but it got the job done. The bigger clumps of grass are Esha's Forest Grass, and there are a few of her poseable Forest Trees in the background.
Faerie door - fae side - 1200p.jpg


I looked up Flink's other stuff at R'osity; I'll probably buy that complete set which has the flowers and weeds as well as grass.
 

3dcheapskate

Engaged
Fitting grass to an uneven terrain is the biggest challenge I think - there's a rather vague (and probably unworkable) idea at the back of my mind about having the ground as a figure and conforming grass and plants to it as you would clothing. Maybe I need to put those thoughts into words and pictures and post them - that's usually a good way to see if it'll go anywhere.

On the other hand PerpetualRevision's suggestion (post #17) about using magnets sounds promising, despite my assertion that it doesn't work with geometry-swapping figures. I'm no longer sure that geometry swapping is really necessary for this grass stuff.
 

3dcheapskate

Engaged
Over the past two years I've reinstalled Windows from scratch 2 or 3 times and replaced a crashed hard disk. Inevitably I lost some stuff. But I'm pleased to say that thanks to some foresighted posting of zips to this thread I'm able to pick up more or less where I left off.

I mentioned something about a large proportion of grass blades pointing in the same direction because I'd forgotten to rotate the individual bones (since the bones relate to hexes in a grid layout Y-rotations should be in 60° steps). Here's what it looked like before - there's about 6.5K faces, each face being a single complete blade of grass (note: the colour variation is due to a Clouds node using global coordinates in the grass material):
SameRot.jpg


And here's what it looked like after. Does it look more random to you? :
RandRot1.jpg


I used the geometry swapping when I was setting up the rotations - I created a texture for the small hex with one sector black. I think I should have also inscribed a circle because it's not easy to see which corners of the black triangles are at the centres of the hexex:
RandRot1C.jpg


I've also attached a zipped copy of the runtime I'm using. I realized that I'd used absolute paths in one of my previous uploads so I've fixed that here. Simply unzip so the folder 'GRASS RESTARTING 2022-05-06' is wherever you want (desktop for me), open Poser, add this folder as a runtime, open one of the two Hex37-ver1 scene files, and play. Geometry variant 1 is the hexes, 2 is the grass patches, and 0 is huge playing cards - a leftover from the original geometry-swapping figure which I intend to remove.
In the geometries folder only 'GeomSwapAlt01.obj' (a hex) and 'GeomSwapAlt01.obj' (a grass patch) are used.
 

Attachments

  • GRASS RESTARTING 2022-05-06.zip
    981.6 KB · Views: 173

3dcheapskate

Engaged
A couple of photos of real grass that I took recently to highlight another of those things that's been in the back of my mind for ages.

The first is a top view, looking straight down onto a patch of grass. Note the lower half is in shadow, while the upper half is in sunlight. Other than that there's nothing really special to see here.

RealGrassTopView.jpg



But now the same patch of grass viewed more horizontally from close to ground level. Hopefully you'll be struck by the same observation that I was. It's one of those things you're so used to seeing that you take it for granted unless you stop and think. And it's one reason why a lot of 3D grass (and leaves) never looks right.

RealGrassLowView.jpg



And going off on a completely different tack, just as reminder for myself, I also want to create patches of grass growing out of a horizontal line, for use in such things as gaps between paving stones and along the base of a wall
 

3dcheapskate

Engaged
I mentioned yesterday about a vague idea of having the ground as a figure and conforming grass and plants to it as you would clothing. Well, I did a bit of thinking and scribbling.

Assuming the same hex grid approach for the terrain, with each hex being attached to a separate bone, but unlike the figure I've used so far using a normal type of skeleton. (The figure I've used so far has each body-part completely independent of the others - remember, it was originally created to be a pack of cards that could be thrown in the air).

I can imagine two approaches. The start (Hip equivalent) is at the centre for both.

On the left the 'Hip' has six children. Each child/grandchild/etc to the left/right has three children, while each child/grandchild above/below has one child. The arrangement I've picked has a 180° rotational symmetry, not that that's important at all.

On the right we have a snake/tentacle type skeleton, each bone having a single child, and the skeleton goes round in a spiral.

Hex Terrain Bones.jpg


Considering only the bone rotation that would rotate a bone up out of the paper/screen, i.e. alter the height of the child using a slope, there's an obvious, probably insurmountable, problem. A bone only affects it's parent and direct children. So while the shared edge between a hex and it's parent or direct child could stay smooth and contiguous (assuming the mesh for each hex is made of sufficient smaller triangles or quads for the normal Poser joint bending type stuff to go on nicely), edges shared between any non-parent/sibling pair of hexes would simply split. The snake skeleton is even worse than the other one for this. But the other one is bad enough.

Any thoughts ? Non-starter, eh ?
 

3dcheapskate

Engaged
I'm beginning to remember all the other problems I was running into.

I recall that bagginsbill explained how translucence was supposed to be used (I'm talking FireFly here) - I'm fairly sure it was in a thread over on the Smith Micro forums. I'm also fairly certain that I took a copy of the whole thread to be on the safe side, but I can't find it at the moment. The key I recall was to use two separate Diffuse nodes, both with Normals Forward ticked, plugged into Translucence Colour and Alternate Diffuse.

UsingTranslucence.png


Even more key was that any node connected (either directly or indirectly) to the input of one Diffuse node must not be connected to the other ! Hence the duplicated networks driving the two Diffuse nodes in my Simple Grass.mt5

Simple Grass.png


This all works fine with an infinite light (spot and point too I think?). One infinite light at 12 o'clock - top view you only see the Alt Diffuse colour, but from lower angles you see Translucence in some places, Alt Diffuse in other.

Inf.jpg


However, if you use an IBL instead you seem to get both Translucence and Alt Diffuse at 100% regardless. I recall a comment on that thread that Translucence (in FireFly) doesn't work with IBL.

ButWithAnIBL.jpg


Since my favourite Firefly lighting is an infinite plus an IBL (which is what I've used on all renders in this thread I think) the extent of this problem for me depends on the intensities of the two lights - usually about the same. :(

How about SuperFly ? I don't use it yet, so I've no idea
 

3dcheapskate

Engaged
Anyway... regardless of all that I thought I'd have a quick play with another idea...

(Instructions just to remind me - the stuff I'm using to do this is post oprevious zip upload)
Load up one Hex37 figure, select geom variant 1 (hexes) and apply a ground texture.
Load up another Hex37 figure, select geom variant 2 (grass).
Conform the grass figure to the ground figure (N.B. when I conformed the geom variant was set back to default, 0, playing cards, so I had to set it back to 2, grass)
Apply a pose that gives each hex a randomish (in 60 steps) rotation.

Render 1.jpg


I wonder why that flips some of the grass body parts upside down ? (I like the way the underground grass is brown, like roots - unintentional foresight perhaps ;) ?)

On a hunch... apply an updated version of my rotation-checking hex texture - a pattern emerges

pattern.jpg


I think that's enough for today.
 
Last edited:

3dcheapskate

Engaged
(Edit: something's definitely up when yRotate hits 180° - I even see it happen in the preview pane if I slowly twiddle the dial through 180. Tomorrow perhaps.)
 
I also saved that thread where BB discussed translucence, and I kept it in a notebook app (EagleFiler for Mac), so I was able to find it just now and export it as a PDF, which I'm attaching! I hope this is what you were looking for and that it helps.

I haven't read through all your details above, as I only just randomly stumbled back across this thread while looking for something else, but I know how frustrating it is to be certain you've read info before but to not be able to find it! Given what happened to RDNA and then SM forums, I'm now in the habit of copy-paste saving any forum info that looks useful :)
 

Attachments

  • BB on Translucence in Poser.pdf
    643.4 KB · Views: 213

3dcheapskate

Engaged
I have been re-doing some scenes for rendering at 4K (3840x2160 pixels), making some scene upgrades while I was at it. This one (squished down to 1200 pixels wide) has Flink's meadow #1, with grass fitted to the terrain using Silo's soft selection to pull some areas of grass down and push other areas up to fit the ground level. Not an ideal solution, since you have to use a modeler, but it got the job done. The bigger clumps of grass are Esha's Forest Grass, and there are a few of her poseable Forest Trees in the background.
View attachment 73958

I looked up Flink's other stuff at R'osity; I'll probably buy that complete set which has the flowers and weeds as well as grass.
Just in case you hadn't spotted it Flinks Instant Meadow Complete is 70% off this week in their Down Memory Lane Second Week promotion
 

seachnasaigh

Energetic
I bought Instant Meadow Complete, Instant Meadow 3, Instant Forest, and Ivy for Instant Forest.:p The broadleaf "weed 7" in IM Complete has very convincing depth; I'm re-doing my old Galadriel's mirror promo scene with it.;)
 

3dcheapskate

Engaged
(Edit: something's definitely up when yRotate hits 180° - I even see it happen in the preview pane if I slowly twiddle the dial through 180. Tomorrow perhaps.)
Not quite tomorrow, more like a year and a half later...
Every time I see Flinks instant meadow stuff on sale I think about buying it, but then think that I should really finish this instead.
And then forget - but not this time.

For the first time in a year and a bit my old craptop isn't complaining when I open Poser or Blender so I had a little play to remind myself of what I was doing in May last year. Ah yes, that 180° y rotatioin flipping the hex when I have one 37 hex figure conformed to another.
Right. Firstly it appears to be just the hexes of the figure that's been conformed that flip - the hexes of the figure to which it is conformed are fine. Secondly it's only y rotations between about 179.9994 and 180.0007 that cause the flip. Thirdly, the joint order I've used is apparently standard YZX.

Possible sidestep 1 - forget about conforming and just parent the second figure to the first.
Possible workaround 2 - use a key/value for y rotation that only allows values of 60, 120, 179.9993, 240, and 300.
Non-solution 3 - changing the joint order just seems to make the first in the list (eg X if XZY) control the rotation around a vertical axis and the same problem appears.

Anyway, I'm going back to square one and creating a new 37 hex figure as the starting point, mainly to get rid of those playing cards! Each hex geometry will be just 6 vertices and two trapezoid faces. Let's see how far I get this time before boredom or distraction sets in.
 
Top