First attempt at making a plant

I found a few interesting tutorials on creating plants. I ignored the speedtree ones as I dont have it. After 2hrs of trial and error, it turned out ok.
I managed to make it with only 180 polys, is that too much or just right.
I just want some comments from the community.

i sadly dont know much about whether or not the poly count is good/bad, but on looks alone it looks really good, nicely done ^^

Looks good, a little tip from me: Add a SkyLight to eliminate these black shadows and set your plant material Shading Model to “Two Sided Foliage”. If shadows would still be pure black, try unchecking “Lower Hemisphere Is Black” in SkyLight details panel.

Tutorial on how to setup cool foliage shading: Unreal Engine 4 New 4.7 Features - Foliage Lighting Model - YouTube

180 is not bad at all for a nice medium sized bush.

Although, the performance implications for a mesh like that will mostly be determined by the masked overdraw rather than the polycount. Reducing the masked area is the biggest thing you can do to help which means making sure the polys are cut as close to the texture edge as they can be and that there is no wasted empty space. Your leaf alpha looks to be a bit less than 50% opaque which is pretty normal (negative space defines the shape) , but make sure there is no unnecessary overdraw as well. The goal is to have no pink or white in shader complexity since white pixels are over 1000 instructions. If you can get a bush or tree to be all dark green or light orange (in shader complexity view), that is pretty good. Keeping the instruction count low in the leaf material will also help avoid the dreaded white.

Already looks pretty good!
Just one thing -> I dont know if it should be like that, but make sure to overwork your alpha channel, because of the blue lines at the leaves :slight_smile:

Thanks all for the words of encouragement. The blue tint was an effect I put in photoshop. The alpha is a black & white texture. I’ll do some more research on the suggestions given and see if the outcome are better. Also nothing fancy when I created the material, the only thing fancy was I gave the plant some wind movement. I did watch the setup cool foliage shading link and I will try what was suggested.

Update:
Added suggestions from video after it compiled I got these stats.

Info Base pass shader with static lighting: 91 instructions
Info Base pass shader with only dynamic lighting: 49 instructions
Info Vertex shader: 62 instructions
Info Texture samplers: 6/16

The FPS was around 120.

Try Shader Complexity view from side-on, and make sure there’s not too much overlap (the white areas that Ryan mentioned).

I am going to redo my prop with less leaves so I can avoid Shader Complexity. I am also going to add a alpha channel on the texture instead of having an opacity map and see if that helps as well.

I can’t find the backup for this statement, but I believe masked is cheaper than translucent. Advise sticking with masked shader model.

Actually I’m curious if storing opacity mask in alpha channel does any difference comparing to having separate opacity mask texture. Practically it’s the same black-white texture, but connected from alpha output in material editor instead of separate Texture2D node. Personally I always store opacity masks in alpha channel of textures.

Indeed masked will be cheaper in the majority of cases. Strangely the only place translucent may be faster is on mobile and there, both materials will both be really slow so you won’t be able to do too much anyways.

Using the alpha channel of a texture changes the compression type of the asset. It will use more memory and disk space than using a separate T2D with discrete maps in the RGB.

That is partly true although the cost is only greater if the resolution could have been reduced on the mask.

A DXT5 is about twice the size as a DXT1 so packing your mask at into a DXT5 has no effect assuming they are the same resolution. But you may be able to optimize by changing the resolution of the textures independently if they are separate. Not a big deal either way.