Landscape Grass Output mesh placement

Testing out the grass system in 4.8p1 and getting some very weird behavior. In a new empty project, desktop/console, max quality, no starter, I made a new blank scene, added a simple landscape object, made a basic landscape material using the landscape layer node with two weighted layers, both having a simple color piped into them. That is then piped into both the baseColor and the landscape Grass output. I expect to see the simple mesh I selected in the grass node to show up across the surface of the landscape wherever the “grass” layer is painted. Instead, I am seeing the mesh spawn far below the surface of the landscape. However, the meshes are still spawning in the appropriate area in regards to the color painted on the landscape.

Example:

It’s weird right? I have replicated this on both brand new projects as well as projects converted from 4.7.6.

Also, if possible I’d like to confirm that this system will only work with landscape objects. I’ve tried using it for static mesh terrain objects and I get no mesh spawns so I’m assuming that is the case which is disappointing as during the stream where this system was covered, I asked if it was landscape only and was told it was not. Perhaps they assumed I was asking about the foliage spawning system which is indeed not landscape only.

Either way, if someone could please replicate this and verify if it’s a bug, I’d appreciate it. Cheers,

J^2

BTW, the landscape grass type is using all default values except the mesh, which is the Pillar_50x500 static mesh from the starter content.

The landscape material is very basic:

Hi, this is the wrong way to hook up grass. What you are attempting to do is used blended colors as an alpha. Still shouldn’t result in grass under the terrain but lets start by using the correct setup.

If you want to mask by layer, you need to use a “LayerSample” node that has the same name as the layer you want. Then you hook up the result of that layer sample to your grass input. You add a new grass type on the grass node for each layer.

You should also be able to enter a constant “1” there to see grass everywhere.

quickest was to change to the constant. Same basic results:

Anything else I can try out?

J^2

aaand with the layer sampler:

Am I the only one seeing this? I haven’t tried on a windows system yet, this is all on Macs so far. Could be a factor. Will test on a windows 8.1 system later today…

I will load up the 4.8 build and try it out. Is your landscape actor at 0,0,0? if not,what effect does moving it have?

Sorry but I am unable to reproduce the issue. I made a new level, new landscape, new grasstype and material.

I set the grasstype mesh to be one from engine content (StaticMesh’/Engine/BasicShapes/Cone.Cone’). Then I opened the landscape material, assigned the grasstype asset and a constant ‘1’ for the input and saw the mesh blanket my landscape and it stayed on the landscape while moving it around.

It is possible you are seeing an integration bug. What mesh are you using for your grass mesh? Have you tried using different meshes under engine?

Also what if you turn off settings like align to surface or random rotation?

I have tried several different meshes, ones from starter content, engine, and my own creations.

I have tried toggling settings like align to surface, random rotation, use grid, etc.

No changes.

Moving the landscape just moves the “grass” along with it.

As I said, I have so far only tried this on Macs. I am installing the preview on a windows box now and will update once I have replicated on that.

J^2

I’ve verified this problem is only happening on Macs. Doing the same steps on a windows 8.1 system results in the expected behavior of having the meshes spawning on the surface of the landscape.

So, to repeat, this seems to be a Mac specific bug. Does anyone over there have a mac they can test on?

J^2

Thanks for the report. It seems the render to texture isn’t working on Mac.

I’ve opened ticket UE-15422 and I’ll make sure it’s fixed for release. I think I’m too late for preview 2 but it should be in preview 3.

Hi JJ, I just compiled on my Mac Mini with integrated Intel HD Graphics 4000 and grass is working properly for me.

Could you give us some more info about your Mac? Is you use Apple menu, About This Mac, More Info and then save the result from the System Information program, that would be helpful in tracking down the cause.

Thanks

I can post details tomorrow, but the two I have tested are:

Mac Pro model 5,1 12-cores, 12 GB RAM running OSX 10.10.3 and nVidia 970 GPU

Mac Pro model 6,1 6-cores, 32 GB RAM running OSX 10.10.3 and dual ATI D700s (iirc)

You said compiled. I did not compile but downloaded via the launcher. If I may recommend testing apples to apples. I know it shouldn’t matter, but it can…

Thanks, this doesn’t seem like video drivers if you’re seeing it on devices with different GPUs. I’m still running 10.9.x on this Mac Mini, but we’re trying on another Mac with 10.10.x installed now.

Yep I’ll try that also. Probably be quicker than my compile :-/

OK, I’ve upgraded my mac mini to 10.10.3 and the problem is now occurring for me. I’ll find a workaround.

Huzzah for replication! Let me know if there’s anything more I can provide. Cheers,

J^2

If I may ask a semi-related question, could you please verify that this grass system will only work with landscapes. I was hoping to be able to use this system to spawn objects on static mesh terrains I have made. These can’t be made as landscapes but I could really use this functionality.

It is only for landscape currently. We wish it could work on static meshes too. If so we’d use it on fortnite right away :slight_smile:

I hope that this is a feature request in the pipeline then. Being able to use a material to spawn objects would be insanely powerful for those of us creating procedural content based games. BTW, who do I have to murder to get my alpha application for fortnite approved? :slight_smile:

J^2