Thursday, July 26, 2018

Optimized Rocks asset pack available on the Marketplace!

I present to you, the Optimized Rocks asset pack!:




Available for purchase here: https://www.unrealengine.com/marketplace/optimized-rocks

Some personal notes: I had taken great pains to create some beautiful and highly optimized rocks for my game, when the prospect of selling them was presented to me, prudence dictated I moved toward that end post haste. So I prepared them by fixing various details needing polish, cleaning up UVs, fixing normals etc., and even upgrading them by including a new distance fading normal material!

Submitting the pack was daunting, as I had heard Epic could take up to a month or more to assess submissions (and indeed I experienced that very time frame), also the thought of rejection was a bit stressful, but after 4 re-submission requests to correct various technical aspects and obscure guidelines (naming conventions and other minor things), it was accepted! For posterity I want to mention the road was not an easy one. Each iteration came at the cost of more time waiting for a word from Epic, but having now become a veteran of the process I understand the reason for Epic's stringent adherence to guidelines and agree with it. A comforting sense of accomplishment is awarded for the efforts!

Grass: Nature's Carpet

What on earth would anyone do without tutorials? Of all the trial and error and tutorial taking I've done thus far, grass has to be the easiest. I've created a nice grass from scratch, first using Maya to create the geometry and UVs, Photoshop to hand paint the blades/tufts, then a nice material with wind properties in UE4. The result is quite nice, and the overdraw is not bad at all! An astute individual shared his findings online concerning overdraw, and it turns out that while more polygons alleviate overdraw, polygon rich foliage noticeably impacted frame rate negatively, while acceptable levels of overdraw did not. My only regret in hind sight is the amount of transparency on the tree branch cards, I could have trimmed them quite a bit at the cost of a few extra triangles, but as it stands the computational impact is still low.



Thursday, March 8, 2018

Cliffs / Ledges

Photogrammetry is excellent, but always keep modular design in mind I discovered, that is, the pieces must be able to be retrofitted into the landscape, not an easy task with semi-flat actors. Unless you can find a nice relatively uniform shelf of rock and earth in the world somewhere to use for photogrammetry, you'll have to model one by hand. The more I go along, the more I understand the importance of modular design, try to create things that can be used many times over with variation, this cannot be understated!

Trees via SpeedTree

At first SpeedTree is a pretty intimidating program, once I sort of got the hang of it I noticed that within just a few simple steps triangle count can skyrocket into the tens of thousands! But did some research and found that the target poly count should be around 8k to 15k for games, the first thing that came to my mind was the game The Witcher 3: Wild Hunt, those trees are so beautiful and high poly looking, how did they pull it off? I jumped into the game and spent some good time just studying the trees, at last I found the secret. Though they've taken optimization a step further than I have, I'm not far off. The secret is to optimize the heck out of the trunk and branches (low triangle count), and at the end of each branch place a generated mesh (much like the shape of a shovel head, or rooftop) that does not move (not camera facing billboards), then on the branch between the generated mesh and the trunk place centered camera facing cards to give the look of fullness! Brilliant. Here are the results (note: all textures were created by me except the pine needles, SpeedTree includes a nice pine needle texture and I didn't see the need to reinvent the wheel) -

Weighing in at just over 8k tris, a beautiful old oak tree:


And at just over 4k tris, a wonderful and tall pine tree:


Materials via Substance

Although it's better I find to use actual photos as a base for creating materials in Substance, I love to just jump in and whip up something I need if I don't have it. It's not always easy to do that, but there are multiple ways to achieve what you are looking for.

A nice wall or ceiling material, with scrapes of drywall compound and spatters of paint:

Wood paneling w/o knots:

Wooden rooftop shingles with parallax occlusion:

Cracked rock surface with water gathered in its crevasses: