Dear friends and fans of the Half-Life universe!
Winter is finally stepping back and spring is taking over, which means that we are happy to present our new Dev.Log! Initially the topic for this article was supposed to be a part of Dev.Log №3 prepared for the «Indie DB - 2015 Indie of the Year Awards» contest, but due to numeral reasons we couldn't talk about it in our previous Dev.Log. But as a saying goes - everything is happening for a reason. Now we have more time and a small remark has grown into a full developer's diary so big that we had to split it into two parts!
As for the topic of the diary, we've already given you a hint in our question to you: «What common is there between a cloudy day and a 15 sm. wood screw?». Surprisingly we've received a lot of different answers: silly ones, funny ones, strange ones and deadly serious ones of course. Unfortunately none of you were right, even though some of you were very-very close. :)
And now, drumroll please… What common is there between a cloudy day and a 15 sm. wood screw? The correct answer is - both of them help in creating a soft diffuse lighting used in creating of a photogrammetry. As you may have already guessed, the photogrammetry, or specifically content created with it, will be our current topic. The first part will be dedicated to model creation while the second part will be about the materials.
But first of all, let's start with theory for those who has never come across such a term before. Photogrammetry is a scientific-technical discipline that reflects shapes, sizes and locations of certain objects based on their photo-imagery. There are two basic types of photogrammetry: Earth mapping (also applies to other space objects) based on the photo images (photo-topography) and solving applied problems in architecture, construction, medicine, criminalistics, etc. (ground, applied photogrammetry).
In case of 3D graphics this term usually means a process of creating a 3D model of an object and information of the color of it's diffuse reflection (simply put - color of the object) based on various photos of said object from different angles. Usually the process is automated and takes several steps with the help of special programs, but the quality of the final product mostly relies on how well made were the initial photos.
Why the photogrammetry?
At least because it's interesting :) We've already conducted several experiments on photogrammetry of some objects and got some experience in this field of work and now we would like to put the potential in good use.
We'll tell more about the main reason. Lost Story will take place in various vast locations where the player will have to travel dozens of kilometers and it was quite obvious for us from the beginning that most of the time the player will traverse through open landscapes out of cities.
The appearance of natural locations is based on three basic factors: sky texture above the player, ground texture under the player and models of animate and inanimate nature surrounding the player. And here we've stumbled upon a problem: how can a small team realize these factors and get the highest quality possible during the release of the game? We'll talk about the sky in later Dev.Logs, right now we would like to focus on the other factors.
So we've began to go through possible variants. Creating usual low poly models and phototextures is a quick way, but the result is in poor quality, especially on natural objects. Creating handmade high poly models for each tree stump, rock or bush makes a fine quality products, but it is nearly impossible for a small team to make it in a short period of time. It will take dozens of models to custom craft.
As a result we've decided to conduct an experiment - to use photogrammetry for creating natural textures and models and to find out about possible problems with such method. Another reason for such experiment was to check if it really can be helpful in creating high quality content with using minimal team resources.
We've began our photoshoots with taking footage at the closest forested park areas. Our goal was to get the perfect diffuse lighting, so we were getting out when the weather was cloudy. Obviously we could not completely get rid of shadows, so a small shadowing of an object on a border with ground is acceptable.
The one thing that we really tried to avoid most of all was a strong variation of bright and dark «sectors» on the surface of an object. Such variation appears during bright and sunny days with precise shadows which leads to shadows and glares to appear on the game models as well, and so the object will be impossible to implement into the game with another lighting.
Generally speaking the photoshoot in natural environment doesn't cause much trouble and one person can normally shoot 4-5 objects during a day, which is already a big thing actually. Another bad factor in such work aside from weather dependency is that the most interesting objects are often far deep in the forest. And sometimes even the monopod can't help there, this is where agility and acrobatics come in place.
After some of our ventures we now know firsthand how did the 90-s action film star from the photo above train exactly :D
The idea of shooting in a «studio» came up when we realized that the rocks that were shot in the forest were not good enough for implementing them into the game. Most of the rocks a buried into the ground a little and in the game it might look so as if rocks don't have one side completely. Because of such issue it would be very difficult to work with such elements during the level design process. The «hole» in such rocks does not allow certain rotation angles, which will consequentially not allow to use copies of models in close proximity to each other - the fact that these are the very same models would be noted immediately. Because of said reasons we've decided to gather some small rocks with an interesting texture and to shoot in the «studio».
Why do we put the word «studio» in quotes? Simply because the shooting was done at home where we created an improvised «studio»! A high quality photoshooting session requires heavy lighting, which is usually not enough in a simple flat, so we had to do some shopping. After visiting several photo stores and crying out loud after seeing the prices for photo equipment we've decided to take another course of action.
Couple of days and several visits to department stores later we've finished creating our «studio». Our magic hands were able to create such things as: a softbox for light dissipation made out of six white blankets; bright street lights with sockets, switches and handles; a stand made out of three metal table legs, small tabletop and cloth.
The frosting on the cake was a homemade pedestal with the «famous» wood screw that allowed us to get steady diffuse lighting and to shoot the object from any side so that there were no holes in the final model.
«Studio» shooting is usually slower as there is not as much light as there is outside and because of a necessity of using a tripod. Nevertheless it is possible to completely shoot 3-4 objects in one day. The biggest difficulty there is - coping with dull and boring process but we've made it through and shot about a dozen of rocks and several other items as well.
The next step after the photoshoot is the photogrammetry itself. Before uploading the photo into the special program we perform additional processing to get rid of shadows and glares. The photogrammetry process itself takes several steps to complete and each requires special settings that could take a lot of time to adjust in case if your photos are of poor quality. However if you already have some experience in the field like we do the process will take about 2 hours on a standard last year-made PC.
As a result we've got a polycount of 9-13 million triangles and albedo map sized in 16 384 pixels for each model (examples below).
As you can see, the rocks that were shot in the «studio» got a full closed polygonal net, and thanks to usage of photo masks there are no traces of wood screws that were used to hold the rocks.
After getting high poly models the process doesn't differ much from the process of creating custom high quality content with usual means, there are only a few new elements. First of all some of the high poly models were fixed in terms of relief defects, then the low poly versions of the same model were created using the retopology method.
It should be noted that since natural objects possess chaotic structure the retopology was conducted almost completely automatically. Another difference is that after creating a UV map it was possible to transfer the albedo map onto the texture coordinates of the low poly model in addition to the usual information (relief, shading, surface bend, etc.)
The final stage of the work was preparing the materials and engine models, albedo map color settings and other methods of making the models seem in harmony with each other in the game environment. But that's not all! At the end we've conducted yet another small experiment.
Our rock models possess a closed mesh and that means that we can place them at any angle on the level. There is no moss on our models, but we have a separate material for moss acquired through the photogrammetry (we'll talk more on the materials in part 2). It allows us to apply the moss on any side of the rocks so that each of the models would look unique.
«But moss is supposed to be fluffy!» - you might say. And you're right! And this is when we remembered a method used since PlayStation2 era which is multi-layered mesh with transparency mask. The result was perfectly fine for us: it looks great and almost didn't need any additional resources! And so the photogrammetry allows content creators to make custom fuzzy materials like moss, fluff or even wool ;)
You can see the final versions of low poly models above and below. They are rendered to look as much as possible to the in-game version. The in-game model screenshots will be waiting for you in part 2 of this diary which will be available shortly.
In conclusion we would like to point out that the process of creating a single complete model took approximately 2-3 days (without the photoshooting). Only one 3D artist had been working on these models and considering the final quality of the models it is pretty impressive.
And that is all for today. Stay in touch for part 2 of the diary and don't forget to share your opinion in the comment section.
Your hedgehogs in shades from
Rock Path Collective.
This is state of art right now :O)
Wow, the realism in here is mindblowing! Excellent work.
Just a month ago i did read about this photogrammetry option in game developing and i LOVE it. Am very glad you are looking in to this and implementing it in to your game!