NEW UPDATE:
So these are the final shots that I decided on, they are not perfect but they each have something that I liked and decided to keep
Could keep on tweaking for ages but at some point you just have to say "when in rome" :P
Moving on to the next scene, which I think will be a sunset/sunrise.
https://www.artstation.com/artwork/Wv1ZJ[Warning for lots of big images.]








Hey!
This will be my first thread in like 3 or 4 years I think... been busy with.. stuff, work. Been continuously lurking this whole time though.
Anyway I recently started doing some art on my free time again, and what better way to begin than to continue/reboot an old project of mine that I started back in 2014. Scanning and recreating the forest near where I live using Photogrammetry and only my Iphone for the pictures.
Now I've upgraded some since 2014, using an Iphone 7+ now instead of the 4 (or was it 5?) that I used back then, I've also invested in some real Photogrammetry software, so I am now using Reality Capture instead of the 123D Catch iPhone App :P
This is very much a learning experience and I am mostly just winging it when it comes to techniques and processes used.
At the moment I am still building up my asset library with scans and trees while slowly trying out the scene. So any layout you see here is only temporary as I try out the assets to see that they fit.
My general process so far looks something like this
* Take pictures with the Camera+ App which allows me to control things like ISO, shutter speed and whitebalance.
* Bring photos into Lightroom for adjustments(reduce contrast etc) before going into Reality Capture to process the scan.
* Build lowpoly using Instant Meshes(I am using tessellation in Unreal so the very even triangulation from Instant Meshes is perfect) in 3ds Max and then bake maps in Xnormal.
* I then use a mixture of Substance Painter(I use clone tool!) and Substance Designer to clean up and delight the textures before bringing it all into Unreal.
Why I am doing this with an Iphone? Well it started out as a fun thing when I discovered the 123D Catch App. Then it just grew from there, I wanted to see what could be done without any "real" equipment. And as it turns out, you can get pretty decent scans with just a phone! Now of course it won't be as sharp or high res as with a proper camera. But I think it is more than enough and more importantly, shows that you don't need much to have fun with Photogrammetry!
On to the Art! I'll start out with just some assets, but there is more to come.
I am using real time tessellation for most of this just because I can and I like how it breaks the silhouettes, even if it's just a tiny bit

For the moss I am using a mask with Unreals fuzzy shading.
These are all captured within 1 km of my apartment. For the firs I manually modeled the branches and alphas inside 3Ds Max.
Next up on my todo list is more variations of trees, pines, birches, maples etc, as well as smaller foliage and twigs to cover the ground.






Replies
Added some smaller foliage today and roots poking through the ground.
Used an approach very similar to Epic's Kite Demo where I modeled out individual pine clusters and placed them on a separate alpha branch.
Pretty triangle heavy but with less alpha overdraw and it gives a very nice volume from all angles. This also allows me to remove alpha masking completely at a distance while still keeping the general shape.
It's all on the shader haha..well mostly ^^
Thank you!
Still looooots of stuff to do.. but it's getting there
What's the thing with the fuzzy moss shading? Never heard of anything like that in unreal, would be really interesting to know
ah it's really just a fresnel calculation put into a material function. It brightens glancing angles based in the surface normal and darkens surfaces directly facing the camera. Simulating the fuzzy look of moss.
There is a premade node for it in Unreal, but its real easy to make yourself as well if you want to do it in some other engine.
Thank you!
Some of the smaller undergrowth that I am using atm sprinkled around a rock.
I'm impressed with your scan quality especially considering it's with a phone. And that moss is just looking splendid.
I'm only a bit concerned with the overall color of the scene. Everything is pretty much in the same blue/green tone, it's really hard to see what is going on, you might benefit a lot from slightly changing your albedo hue on various meshes. For instance making the bark look more red, the leaves more green and the rock more blue.
For instance look at how clear your last screenshot is, I'd say it's because the assets really stand out on a white ground, now just apply one of your ground textures and I bet it's going to be pretty hard to read, just because the ground is almost the same color as the leaves.
I'd be curious to have a look at an Unlit screenshot, it's probably looking too flat at the moment.
Also that fog is probably not really helping at the moment
Eager to see more
Tried to do one myself a while back, but it looked awful compared to yours.
Haven't had any time to work on this for a few weeks now, but I hope that will change now that summer is soon coming to an end
Thanks everyone
Looks fantastic @PixelGoat! This is really making me want to get into photogrammetry.
A level designer, for example, could use choose to keep the natural elements within a narrow color palette of greens and browns, and use color variation strategically for highlighting design elements like paths or structures.
So, since I am not much of a video person I am just gonna post some graphs. My mastershader looks like a complete clusterf*ck, so I am gonna isolate the parts that are relevant to the moss, otherwise it will be too messy :P I am going to assume some basic knowledge of Unreal and SD for this. Otherwise there are great tutorials on youtube to get you started with both
A little disclaimer, I suck at math, most the things I do are through trial and error, if it works, it works is my philosophy, so If you see stuff that maybe are not entire correct mathematically, its probably because it still looked the way I wanted it to look.
The Moss
To blend moss we first need some moss textures to actually blend, I created mine in Substance Designer by just blending some noises together, its quick and it's dirty, but it gets the job done. I've learned from working on small teams with tight deadlines for a long time, never to spend more time on an asset or texture than necessary, that pixel perfect tweaking may feel good for the ego or the portfolio, but if no one but you will notice the difference in the final product anyway, it is wasted time.
After I exporting the textures from SD I did some manual color matching of the Albedo in Photoshop to match up the color with the color of the moss on my scanned assets.
Setting up the moss in Unreal I chose to go with a Material Function so I can easily plug the moss into any materiaI want in the future and easily tweak the moss in all materials at the same time.
The most important part of the moss is the FuzzyShading node, which is a node that comes with UE4, so its just plug and play. Basically it brightens glancing angles and darkens surfaces facing the camera. The inputs are pretty self explanatory.
Next up is the Displacement, since I use tessellation on all my rocks and tree trunks I can use the displacement to give my moss some nice volume. I store my heightmap in the blue channel of my Mask Texture and feed it into a LERP to transform it from 0-1 to -1-1, so that it can both push verts in and outward, not just outward.(This step may not be necessary, but I added it anyway). Then multiply the height with the World Space Vertex Normal to push the verts in the proper direction.
At the end I added a constant to give my moss some extra height, this all depends on how heavy you want to go with displacement, I personally always like to overdo it as I am a sucked for exaggerated shapes :P
Once you have the Material Function complete you can drag drop it into any Material and use the Break Material Attributes node to expose all the difference channels for use.
The Blending
For the blending I use a very common heightmap based blend mixed with VertexColors painted inside Unreal. I think most blends of this type look very similar so nothing new here. Multiply the Heightmap with the vertexcolor and then Add the Vertex Color again on top of that. The Sharpness of the Blend is the controlled by a Power Parameter.
As an additional layer to the mask I added my topdown blend that allows me to mask the moss to only end up on surfaces with a upward facing world normal. It's basically the same setup as before but instead of Vertex Color I use a WorldNormalWS node where I mask out the Blue channel(Z-axis).
Combine the two blends with a Multiply and then use a Static Switch Parameter to turn the Topdown Mask On and Off. Plug the Regular mask into the False input and the combined mask into the True input.
Now that the blend is done just use a LERP node and blend between the moss and what ever surface you want beneath. with the mask in the LERPs Alpha input.
And then you get:
That's about all there is to it. Sorry if this was too specific or not specific enough, first time writing something like this to explain so I am a bit uncertain on what to include and what to leave out..
Hope it helps some atleast
The firs are between 10-15k, and a large chunk of that being base of the trunk that I tessellate quite alot to get some nice displacement shapes.
The pine trees are.. well. way to expensive :P lets leave it at that. The individual pine clusters eat up ALOT of tris, as you can see in the wireframe above. I used Epics Kite demo as a guideline for those, and they are somewhere in the neighbourhood of 30k tris.
The upside of it is that they are easy to LOD and the cost to render the opacity should be alot cheaper as there are much fewer discarded pixels.
30k tris seams okay for a lod0 tree but with this kind of setup (for the leaves) you can't just use a decimation tool to get your lod1? Do you create another leaf card material for other lod?!
Decimating it works just fine, I use Unreals autolod on pretty much all my assets.
If this was for an actual game though I would probably create a billboard to use as a lastlod aswell
I did some thinking and decided to adjust my scope in order to be able to finish this sometime in the not to distant future.
My original plan was to make a fairly large patch of forest that you could run around freely in, but I've decided to scrap that and instead just make a few select scenes with inspiration from locations where I did the scanning.
Started working on the first scene/shot today and this is as far as I got. Some small things missing asset wise, but I feel I got a pretty solid base to build on now
Learning alot about Unreals lighting and cameras while doing this
Based it loosely on these refs I took while out scanning a few weeks ago.
That did it! turning off real time preview before taking the screen seem to work
Here are high res screens of the same shots as yesterday
(right click and open in new tab for full res version)
Great feedback!
Hmm the foliage placed with the foliage brush seem to lose their shadows very quickly, much quicker than the cascaded shadow setting says, need to look into that.
Good that you pointed out the roughness, reworking that entire part of my shader now
Maybe making the bark less green will help differentiate it from the leaves. The bark looks very, very green compared to your refs.
Hmm, It might be a tad to green yes, but alot of the green you see is coming from the LPV i use for realtime GI, still need to tweak that to a reasonable level I guess
(Warning: huge images, open in new tab to see full res)
Tonights work:
* Reworked the path some to give a better sense of scale and darkened the albedo a bit
* Reworked Roughness
* Adjusted the albedo of the tree trunks to be less green as Sebvhe suggested, turned out great!
* Tweaked post processing and started playing with camera settings and a new camera angle. (DoF is love)
Need to keep tweaking the DFAO and LPV to avoid pitch black treetops.