Tuesday 26 September 2017

Physically Based Rendering Theories

The main aim of a Physically Based Rendering system, and what makes it different to other methods of texturing, is that it strives to create realism. Using lighting techniques that ‘treat light the way it behaves in the world’ (Gamer's Nexus 2015) and using key principles of physics, and how light interacts with matter, objects are given a ‘photo-realistic’ appearance.

Light Rays and Ray-Trace
Light is generated along ray-traces, which are generated from the camera viewing position, onto the scene. How the ray-traces interact with geometry and objects, determines how light behaves and what properties that object displays visually.

Distribution
When light hits an object, how that light reacts to the object denotes characteristics like, opacity, reflectiveness etc. The light is either reflected from the object, or refracted, meaning it passes through it to some degree.

Absorption and Scattering

Absorption
When the light is absorbed by an object the intensity changes into another form of energy, such as heat. In a PBR Shader, the rays themselves do not change, as they are just a representation of the path that the light must follow.

Scattering
Scattering refers to light entering an object, and ‘scattering’ before it is emitted back out. The intensity of the light doesn’t change, but the thickness denotes how much of the light is scattered inside the object.

Diffuse and Specular Reflections

Specular
Specular is the light that is reflected off a surface, and follows the law of reflection, as per the laws of physics. This means that the angle of incidence, the angle that the light hits the object, is equal to the angle of reflection. The light intensity remains the same, even on uneven surfaces.

Diffuse
A diffuse material allows light to enter an object, scattering the light directions before it is refracted out again, however, diffuse is absorbent, meaning that refracted light has a chance to be completely absorbed if it travels for too long. An object that has high light scattering properties, but low absorption, allowing light to pass through it, gives a translucent effect, like frosted glass.

Microfacet Theory
This theory suggests that a surface is made of small, scaled planar surfaces that reflect light, meaning that if these are irregular due to an uneven surface, the light that would’ve normally been reflected, is instead diffused. This gives a surface its rough, or smooth texture.

Colour
Colour is determined by light reflections, and which wavelengths are emitted by the object, and reflected.

BRDF
Bidirectional Reflectance Distribution Function or BRDF describes the reflectance properties of a Surface. For a BRDF to work, it must conserve energy, as per the laws of physics, and exhibit reciprocity.

Reciprocity Principle
Helmholtz reciprocity principle states that incoming and outgoing rays are reversals of each other, without affecting the outcome of the BRDF.

Energy Conservation
Following the physics of light in the real world, physically based rendering uses energy conservation, where the light reemitted from an object is less than what is received. Energy has been converted into other forms. Allegorithmic cites that this is handled in their PBR Shader, and isn’t necessary to adjust.

Fresnel Effect
This is the effect where the amount of light that is reflected off an object is dependent on the viewing angle. For example, viewing a pool of water from a perpendicular angle, the viewer would see straight through the water, depending on if it was clean or not. But as the viewer puts distance between themselves and the pool, their viewing angle changes, and so does the way that light is reflected at their eyes.

F0 (Fresnel reflectance at 0 degrees)
F0 is the amount of light that is reflected at a 0degree viewing angle, that is, at a straight on angle. In a PBR Shader, this value is given to non-metals (Dielectrics/Insulators) as opposed to metals (Conductors)

Conductors and Insulators (Metals and Non-Metals)
For Physically based rendering, there are set guidelines for metal and non-metal surfaces, with values that correspond to real life values.

Metals
Metals are good conductor of heat and electricity, and so light that hits a metal surface is reflected. All refracted light is absorbed. Any painted metals or rusted metals are treated as dielectrics, as they do not behave as metals do.

Non-Metals
Dielectrics are poor conductors of electricity, and so they reflect a smaller amount of light. Common dielectrics have an F0 value of between 2-5%

Linear Space Rendering
This means that intensity values are not corrected as post production volumes and so are proportionate to how they are perceived. This means that light behaves how it does in the real world, and so contributes to a photo-realistic look.



Sources
Gamers Nexus. (2015). What is PBR? Physically-Based Rendering Explained. [Online Video]. 13 March 2015. Available from: https://www.youtube.com/watch?v=7NjGETJMZvY. [Accessed: 18 October 2017].

Monday 18 September 2017

Detailed Job Research

I have researched into environmental 3D Modelling jobs in an effort to identify key skills that are specific requirements to work in this area of the industry.


Blizzard



Fast and efficient 3D Modeller
This suggests a fast output time is needed from the 3D Modeller. This would mean that they would need sufficient knowledge of the tools to avoid any hindrances, and a workflow that was tried and perfected to produce a professional, consistent outcome each time

Superior eye for light, shade, and detail in creating texture maps and materials
This requirement outlines some skills that are needed from the artist. Firstly, knowledge and ability to texture and use materials with different maps. This would mean that this job isn't outsourced to another department, and so the qualities of a texture artist are needed. Attention to detail gives some indication of the quality they expect, probably not looking for stylised, hand drawn textures. More towards the photo-manipulation method of texture art.

Experience in Unity3D and Substance Painter
Both of these tools are capable of rendering PBR systems, so its likely this is a required skill. 'Superior eye for light, shade and detail' may also have been calling for a PBR workflow. Substance Painter is also used to bake different maps to lower poly meshes as a workflow for games.
(Blizzard, 2017)

Id Sotware - Bethesda

Create Models, textures and set pieces based on concept art
The artist will be working from reference material, and need to display the skills to interpret concepts that are most likely 2D Imagery into 3D models. It may also require communication between the modeller and the artist to achieve their vision, or to clarify aspects of the concepts that they may not be clear on.

Work closely with the lead, designers and other artists to model props and world builds
This ties back in with the previous skill of communicating between members of teams and different teams. It also suggests that your work is going to be transferred to different departments, and so needs to maintain consistent naming conventions and a clear, understandable workflow for members besides yourself. This responsibility also gives some scale to the projects you'd be undergoing, modelling on a world scale.

Familiarity with working on futuristic Hard surface Modeling
This gives the type of modelling that you'll be undertaking in this position, and the style and theme that you'll be emulating ; albeit a vague style and theme. Although it may be testing the modeler to display their skills in researching and informing an idea, demonstrating a wide variety of types of 'futuristic' themed assets. 

Solid experience with world building, texturing and lighting inside a game editor such as Radiant, Unreal or comparable editor
From my research in the different 3D Modelling workflows, this sounds similar to a Level Design Workflow, making sure the assets are game ready, and replacing assets from greybox builds. Although not familiar with Radiant, I found that Unreal uses a renderer capable of rendering PBR systems, and this would be consistent with their statement at the top of the listing.

Comparison of DOOM gameplay, the final verison using id tech 6 with Dynamic lighting and Physically based rendering


Understanding of modern 3D Modelling packages/ Familiarity with the id software family of engine, tools and material creation
This assumes the applicant has researched the company itself, but also gives some idea of what software is expected. Through some research, I found that the engine they use is: id tech 6, which uses a Physically based rendering system. (Bethesda, 2015) One of the skill requirements states: 'Solid experience in environment asset creation using contemporary, real time rendering methods' which shows what quality of work they are expecting, and how their company has designed their engine around this system.
(Zenimax Careers, 2017)

Criterion Games

Create high quality 3D environment art based off of concept art and photo reference
This requirement calls for the artist to actually be able to 3D Model geometry using concepts. This would mean working to a set scale, and an attention to detail. Possibly working with the concept artists tot achieve this goal. Again, this requirement calls for the ability to work from concepts, and explicitly states: from photo reference. They expect a photo-realistic appearance, that has the level of detail that a physically based rendering workflow would achieve.

Production techniques - High- low poly baking, modular asset creation, white boxing, physically based rendering, sculpting etc.
The company lists techniques they expect you to be familiar with, indicating that you would be working with sculpting and 'high poly' modelling, then baking to a lower poly mesh. This requires a knowledge of this workflow, and the individual skills that make it up.

Knowledge of tools
The company requires certain tools that are professional standard, which it is worth me investigating if I am not familiar with them.

A strong sense of composition and eye for lighting, colour and detail
Attention to detail, and detailed modelling methods are needed with an artistic perspective in mind. Therefore, some knowledge on colour theory and using high quality images for textures to provide detail. This skill suggests the applicant should be able to demonstrate a knowledge of using these theories to design an atmosphere in an environment. To demonstrate that they an manipulate the mood of a scene, or render.
(Criterion Games, 2017)

Guerilla Games

Create Lush, compelling and immersive worlds
This requirement suggests that the company is using an engine that can handle the rendering/running of organic environment modelling, which generally requires high amounts of polys. This may also require detailed textures, using photo realism, or high poly-low poly baking.

Mockups, detailed sculpts, game meshes and texture bakes
This states the specific techniques expected of the modeller, which tallies with what the previous requirement calls for. The typical workflow they are expecting is also suggested, as high-poly to low-poly baking requires a specific order of work.

Mountain peaks, river rocks and everything in between/ natural set pieces
This shows a realistic style, using organic modelling, requiring sculpting knowledge. The engine capabilities are, again, hinted at, an 'Open World experience' meaning that the engine can obviously handle processing large, open world environments, so attention to detail is necessary. So maps like normal maps and grime maps may be required, or a knowledge of producing them.

Managing a library of both sources and game content
Not only is the prospective employee responsible for knowledge in these techniques, they are also expected to work professionally, and to have collated a collection of resources, both secondary and primary, to work with. Such as photo reference and photo manipulated textures they have produced themselves.


Ubisoft

Assist with optimisation and debugging
Shows optimisation techniques and knowledge is expected, so workflows using high poly to low poly baking is expected. Common XView Checks would also be expected in the workflow, and conserving the poly count.

Applicants should, again, have an eye for detail, which means they should be able to demonstrate this ,in their 3D Modelling and renders, showing high resolution texturing, that has used photo reference to maintain a consistent quality of assets, and uses PBR Systems to replicate real life lighting, and surfaces


Conclusion

Evident in all of these listings is the need for applicants to have knowledge of PBR Systems. Therefore, this is a definite skill that I need to display in my final project, and also need to go away and research extensively into.

Sculpting is another skill that is prevalent throughout the listing, which indicates the workflow that I should research and follow for my project. In some listings it explicitly states that the workflow of baking a high-poly mesh to low-poly mesh is necessary. So this is another absolute requirement for my final project that I need to be displaying.

Optimisation is cited a few times, particularity in the listings that pertain to open world, large environment construction. It doesn't state the exact constraints and limitations in place, so this is something I will need to explore further using my findings from: Optimisation in 3D Modelling However, this is definately something I need to convey in my final project, and consider throughout.

'Attention to detail, lighting and colour' was repeated a lot in these listings, which I found very vague and could have applied to many different aspects of 3D Modelling. However, I have chosen to interpret 'attention to detail' as Using photo-realistic images, and shading techniques, such as PBR shading, and sculpting/organic modelling to produce assets that are suitable to be used in a First-Person environment, maintaining geometry shape and texture resolution when viewed close up from this perspective. For 'lighting and colour' I intercepted this to mean that a 3D Modeler should knowledgeable in the theories of lighting and colour, and be capable of displaying assets that demonstrate this capability. For my final project, this could be achieved through market renders, or in-game renders that light scenes or assets in a variety of ways to achieve specific moods and atmospheres.

Sources: 

Bethesda Softworks (2015). Powering DOOM with id Tech 6. [video] Available at: https://www.youtube.com/watch?time_continue=16&v=R6itJ19T99c [Accessed 18 Sep. 2017].
Careers.blizzard.com. (2017). Environment Artist, Unannounced Project - Art/Animation/Sound. [online] Available at: https://careers.blizzard.com/en-gb/openings/opS25fw8 [Accessed 18 Sep. 2017].
Criterion Games. (2017). Environment Artist – Contract. [online] Available at: http://criteriongames.com/environment-artist-contract/ [Accessed 18 Sep. 2017].
Guerrilla-games.com. (2017). Environment Artist. [online] Available at: https://www.guerrilla-games.com/join/environment-artist [Accessed 18 Sep. 2017].
Ubisoft.com. (2017). Ubisoft - Careers / Search for Jobs. [online] Available at: https://www.ubisoft.com/en-us/careers/search.aspx#sr-post-id=743999660515827&is-redirect=true [Accessed 18 Sep. 2017].
ZeniMax Careers. (2017). ZeniMax Careers - Environment Artist - id Software. [online] Available at: https://jobs.zenimax.com/requisitions/view/1039 [Accessed 18 Sep. 2017].

Monday 11 September 2017

High Poly Sculpting

Like the pbr texture test, Job searches led me to explore high poly sculpting. Whether these can be used in my final project is still to be determined, but I found that it took longer to render, and impacted on runtime when exported into engines, so might not be an efficient method if this pipeline is one I follow.

However, this method is still viable to produce photo-realistic textures, if the high poly models were baked to a low poly model. This reduces the impact on runtime but maintains the detail that high poly sculpts would bring to the model.


Saturday 9 September 2017

PBR Shader

PBR


Today I experimented with PBR in Substance Painter.

Exploring different ways of achieving a photo realistic look, I explored PBR (Physically Based Rendering) and the different engines that can render this. Unity 5 and Unreal Engine 4 are two of the engines that are available to me to use, and can also use PBR shading, so it makes sense that these are two of the engines that I may consider if I need to use my assets in a game engine, or showcase them as such. 

These engines are also industry standard, being requirements in some of the job listings I looked at to know about, and having researched Indie games and Triple A titles, it is clear that these are two engines that are heavily customised within the companies, and are used a lot.

Below is a product of following a tutorial. I feel that the texturing is very different to working on textures in 3ds Max and Photoshop. A lot of the UV mapping can be left to the program to remap and I found it handy that the painting and texturing bakes in real time to new normal maps.


Product of a tutorial in texturing a 3D asset in Substance Painter using PBR shading


Sources:

Allegorithmic. (2017). Substance Painter: Texturing an asset from start to finish. [Online Video]. 16 June 2017. Available from: https://www.youtube.com/watch?v=Qk_YRkDsJrQ. [Accessed: 9 September 2017]

3D Modelling Production Pipeline

I've looked at different skills, requirements and experience that prospective 3D Modellers generally need when applying for jobs as Professionals. To complement this research, I've looked at the different pipelines that 3D Modellers follow to narrow down a specific workflow that I should be following. This differs slightly depending on the position

Brandon Hix documents the pipeline that he uses in the software Blender. He makes a point that 'As a 3d artist you can choose to familiarize yourself as much or as little as you want with each step, but choose carefully' and that you increase your prospects and desirability to be employed if you can boast a broader range of skills. That as a 3D Artist, you should research as much as you can into the fields he mentions:

Modelling
The initial 3D Modelling/Sculpting of the assets using polygon modelling. This creates the base mesh with which to work with

Shading
Using materials and textures to add depth and detail to the models. Bump maps, specularity maps and diffuse colour maps define the surface of the 3D Model. He makes the point that Blender uses a Physically Based Rendering system to create realistic lighting, which is noted as a requirement in a lot of the Job Listings I looked at, to be able to work with PBR to produce photo-realism.

Lighting
Using lights to compliment the textures and geometry of the model. There are lights that give realistic lighting, enable for manual control of lights and can define the mood for the entire scene.

Animation
This area is where characters, objects and environments are animated using keyframe animation, pose-to-pose animation and recommends researching the history of animation in general, rather than just 3D animation.

Rendering
Though commonly viewed as a final step, Hix discourages this attitude, making the case that a 3D artist should always be thinking about how their work is going to work in the final render.

However, Castillo and Novak focus on 3d modelling from the perspective of the level designer. Emphasis is placed on concepts, laying out the ground works for level designs. For example, Castillo and Novak cover a section in their book called ‘blocking in’ which goes over creating grey box builds of levels. Though not always the job of the 3D Modeller, they can be involved in this process and still need to be aware of the workflow that has preceded their involvement.
(Castillo and Novak, 2008. Pg. 132)

This relates to the job search I conducted, as a lot of roles call for level design experience, or knowledge of it. In comparison, a level designer will follow this workflow:

Concepts and paper design
Concepts and rough designs on paper allow for easy iteration and serve as a template when blocking out levels, usually in a top down perspective, like a map

Blocking in
Level designers block the level in as grey boxing. Some of the job adverts I looked at used the phrasing ‘white boxing’ This is where the top down map creation helps to establish composition and scale. Castillo and Novak refer to this a ‘’Broad Strokes Theory’ testing the composition of the map, scale alongside character models with engine perspective

Asset creation
This stage is the actual 3D Modelling, and involves taking the geometry from grey box builds, and refining it. This is then reimported into engine to replace the grey boxing elements

Lighting
This covers colour and shadows, setting a model up to be lit and rendered to create a certain mood or atmosphere.

Post processing
Image editing, such as bloom, exposure control and tint to the colour of the scene

Rendering

Final render showcases the model using all the lighting and composition methods.


Sources:

Castillo, T. and Novak, J. (2008). Game development essentials. New York: Delmar.

Hix, B. (2016). Making Sense of the 3d Production Pipeline – Blender Unleashed. [online] Blenderunleashed.com. Available at: http://www.blenderunleashed.com/tutorials/making-sense-of-the-3d-production-pipeline/ [Accessed 9 Sep. 2017].

Friday 1 September 2017

Optimisation in 3D Modelling

Luke Ahearn prioritises optimisation throughout the pipeline he follows. His book: '3D Game Environments' focuses on environmental modelling, and ways that he handles optimising these assets and construction in a video game environment throughout his pipeline.

When modelling the geometry of assets and environment, he constantly considers the poly count, and aims to keep it as low as possible. This includes things like, deleting backfaces that wont be seen, common XView Checks and elaborates on Level of Detail (LOD) that handles scaling down the detail with distance.

In terms of texturing, a lot of detail is faked using Normal maps, or baking the high poly mesh and making a normal map. Texture Atlases are generally used to conserve the strain on the engine, but he makes a note that a lot of modern industries are moving away from this method. (Ahearn , 2008 pg. 6)

Castillo and Novak go over the process from the perspective of a level designer, and, I feel, present a very quick, and modular process when compared to Ahearn's process. (Castillo and Novak, 2008 Pg.195) He recommends breaking models up to ensure they are as optimal as possible. So this is a method worth researching, and comparing how watertight assets compare to the methods of modular construction. 

I also face limitations in the performance of the technology I am using throughout this project, and so have conducted tests to determine the capabilities of the software available to me, both in the University, and using personal computers.

3D Studio Max sees the decreased performance when the poly count begins to reach 200k. This is without effects and lighting. With these added, rendering time increases, but the same rig and effects, I have found run more optimally in Game engines. This probably because that is what they're designed for, but I also tested these.

Game Engines vary depending on a number of assets in scenes, and effects, such as lighting, and particle systems. 

Unreal Engine 4 provides documentation on this topic, placing importance on poly count reaching over 300 polys, and limiting the amount of elements per object. In terms of texturing, materials that use alpha masks process slower than opaque materials, and the higher the resolution of these, the more it can impact performance of the game. (Unreal Engine 4 Docs 2017)

Current Goals
My next step is to research Environmental Artist Jobs, and compare these optimisation methods to any requirements that they list. In doing this, I hope to give myself realistic constraints to work by, and follow a professional workflow.

Sources:
Ahearn, L. (2008). 3d game environments. Boca Raton: Crc Press.
Unreal Engine 4 Documentation (2017). Performance Guidelines for Artists and Designers. [online]Available at:https://docs.unrealengine.com/latest/INT/Engine/Performance/Guidelines/index.html [Accessed 1 Sep. 2017].

Castillo, T. and Novak, J. (2008). Game development essentials. New York: Delmar.

Meeting With Tutor

Today I met with my tutor Dave to discuss my Dissertation. I told him what direction I wanted to take with it, and what research I had already undertaken. 

Firstly, the fact that it was environmental meant that I had narrowed down the skills and workflow I would need to follow to be working at a professional level, and he recommended looking at specific job roles and skills that they require of this role.

I mentioned that my research had listed: Photo realistic textures and modelling as a required skill, which he said I needed to interpret as using modern, PBR methods of material creation. For modelling, he recommended looking at sculpting in programs like ZBrush or Mudbox, and organic modelling. Creating organic objects in these programs, rather than primitive models, and low poly meshes. 

This could mean I have to look at a high poly to low poly bake workflow, where I outsource the organic modelling/ sculpting to anther program, and re-import to be baked as a texture for a low poly asset. This is something I have had experience in for previous projects, but never really followed a professional workflow when doing so.

Current Goals
I have to research more definite skills and workflows for the job of Environmental Modeling and compare how they differ from the roles i've previously researched.
I want to test different methods of modelling in 3DS Max, following tutorials and working from reference. From this, I hope to be able to take models into Sculpting programs and follow a high poly to low poly workflow. 
Similarly, using the same models, I want to compare the process of sculpting to that of PBR Materials. Whether there is any harmony in using the two together or if this is a choice I must make as another constraint.