• Advertisement
Sign in to follow this  

Critique my work

Recommended Posts

Hey guys, 
Just looking to see if any of you would be willing to give me some pointers on my work.  Aiming towards being a "hard surface" sort of guy, so the likes of Environments,  props and vehicles.  Any comments welcome, if you feel I have missed important steps etc, that would be appreciated.  
All, but the Environment image are "complete" however the environment is currently a Work in Progress Unreal 4 recreation of a SWTOR environment.   All other assets have been done in unreal, so any comments on how I have handled materials etc that would be great.

Thanks guys

Stuart 

nd06rodf6u9e.jpgc1jv5sjwaxeu.jpg

 

4uvey24v4moi.jpgytvm38046sse.jpgolynqe2dv46q.png

 

Share this post


Link to post
Share on other sites
Advertisement

@Scouting Ninja

Thank you for the reply, very much appreciated.  PBR materials are something I have only recently pick up on, and I am still getting to grips with it.  Are there any resources you would recommend for getting the most out of PBR?  I am currently using Quixel suite, but when ever i follow tutorials, I never seem to get a similar result, always resulting in my materials being flat.  Would maybe playing around with the roughness values work in this regard? or is there something else that I should be looking at?

Edit:  I will upload some wireframe images and some texture snapshots when I I get back to my main PC and get access to the files

Edited by Allba

Share this post


Link to post
Share on other sites
Would maybe playing around with the roughness values work in this regard? or is there something else that I should be looking at?

I find that when working with PBR it helps to think of making a material, not texturing a model.

 

For example: When making the wood for the gun I would first find a wood texture and clean most hard shadows. This is then the Albedo for my wood and as such it should only effect the color. That is they key to a good Albedo it should only be color and brightness based on how much it should reflect.

 

Next I would make a normal for the texture, this will be my wood grain. I won't add any wood grain to the wood Albedo. The normal would be made from the texture, noise, cavity maps an any other details. I will also mix the grain normal map with any baked normal map from a high poly mesh.

 

For the metal map I would pull the highlight from photos, this tutorial will explain: https://www.youtube.com/watch?v=Gnh01WJOK8o.

 

The gloss map(Roughness) I like starting with a real world value and tweaking to match what I want. To get a real world value you can just google search or do your own tests.

 

All this will only be for the wood, I would repeat mapping the other material types.

If I find some time I will see about doing a example for you.

 

 

 

 

 I am currently using Quixel suite, but when ever i follow tutorials, I never seem to get a similar result

Quixel is good for a base to work on and for lesser models, for good materials you will always have to do some manual work.

 

Do research on materials, remember that the art you make is your own interpretation of what you see. So even if some one could teach you what metal looked like it would never be the way you understand it.

Edited by Scouting Ninja

Share this post


Link to post
Share on other sites

Thank you again for the quick response.  So far I have been taking Quixel as gospel and was just assuming it would serve me well.  But I have been looking at it wrong as you mentioned.  I will defiantly do some research on materials and hopefully make some improvements.

 I will also have follow the tutorial you provided to gain a better understanding of the whole process and hopefully come out of it with much better looking materials.



Below I have also attached some images of my wireframes, for any feedback on the meshes.

stuart-speirs-capture.jpg?1484772718

stuart-speirs-capture3.jpg?1484772720

stuart-speirs-capture1.jpg?1484773474stuart-speirs-capture2.jpg?1484773477stuart-speirs-screen01.jpg?1484773779stuart-speirs-screen01.jpg?1484774099

stuart-speirs-screen01.jpg?1484774598

Edited by Allba

Share this post


Link to post
Share on other sites

The Iron Man photo (of his butt) has some bad edge flow going on. It seems like you have some wild vertices and random edges in there. Although, could this be an export / screenshot issue?

[attachment=34608:stuart-speirs-capture3.jpg]

Also, I agree with @Scouting Ninja about doing some work on PBR, especially in UE4.

Edited by _Martin

Share this post


Link to post
Share on other sites

@_Martin

Thanks for the reply Martin, really appreciate it.

I did make the mesh in various different parts, there is unfortunately some clipping issues.  But I should probably try and rectify this for future projects 

Share this post


Link to post
Share on other sites

@_Martin

Thanks for the reply Martin, really appreciate it.

I did make the mesh in various different parts, there is unfortunately some clipping issues.  But I should probably try and rectify this for future projects 

Hey, yah, no problem. I do like the final render - it looks pretty sweet. Keep up the good work, the rest of them look great (but again PBR materials are a great thing to add)

Share this post


Link to post
Share on other sites

About working with PBR MAterials and maps:

 

My personal expierience was that "crutches" like the Quixel suite do not produce very convincing results out of the box. You really need to dig into the theory behind the PBR workflow of your choice (metallic or specular), find out what all the maps do and influence, and then need to check the output of the Quixel suite to make sure the maps are correct.

 

Not saying its the fault of the Quixel suite, not entirely anyway. But there are a ton of things that can influence the map outputs more than you want, like grime and dirt not that visible in the diffuse map, but toning down metallic, specular or smoothness way too much.

 

 

I found it easier to paint the texture in a 3D painting tool like 3D coat, and then use Crazybump to create AO and Specular maps that I then can enhance and tweak in Photoshop, and mix with my diffuse map to give the colors more depth. I had to tweak all the maps anyway after exporting from the Quixel suite, while fighting with masks and all the knobs and levers of the Quixel suite first, so I spent more time going through the Quixel suite than painting by hand first.

But then I am creating not very high resolution textures with many exture details like clothing patterns omitted, so I guess for really HD textures the Quixel suite would work better.

 

 

 

BTW, looking at the meshes, nice clean layout (save errors as already pointed out), but rather high for a game low poly mesh.

Did you already bake a normal map? Many of the bevelled areas could be collapsed to a simple bevel with two edges, or maybe no bevel and a single edge in case of angles bigger than 90°-120°, as a normal map would simulate a rounded edge just fine, and the shillouette would probably still look correct.

Other areas also seem to have an excessive amount of polygons, like the face mask. Sure, its rounded. But you should let a normal map take care of simulating the roundness, instead of going through smooth shading alone and turn up the polycount because of that.

IMO Place the polygons in a game asset low poly model 1. to get an approximation of the high poly shilouette that still looks mostly correct ingame, and 2. to give the skinning enough polys to deform a skinned mesh. Whereever a polygon does not need to bend in a skinned mesh, or does not contribute much to the shillouette, it can be combined with the neighbouring polygons. You will have more than enough other assets that might need the polycount more, and never enough processing power to handle all these polygons at once and still keep up a good framerate.

 

Of course, the needed / acceptable polycount depends a lot on how the game asset should be used. This iron man model seen in a isometric game from 30 metres away is a waste of polygons.

Used in close up cinematics, that polycount might actually be fine. Really depends on the game, and scene its used in.

Edited by Gian-Reto

Share this post


Link to post
Share on other sites

@Gian-Reto

First off, thank you for the reply, much appreciated.  I have had a look at using the "crazybump work flow" and I did use it fairly regularly in my first few years of university.  One of my lectures then suggested Quixel as it was "better."  But it does really seem like its not about the software, its how you use it that counts.  I did also do hand painted textures within zbrush, which I imagine is similar to doing so in 3D coat?  


The Iron Man Model is an older project, where I was still unfamiliar with creating game Assets, so I do agree that some of the polys are unnecessary.  At this point I also did not have a full understanding of how to get good normal map bakes.  So I do agree that the majority of the bevels just do not have to be there for the Iron Man.  I did try to rectify this on the Car model, but I still feel like there are some parts on that that are a bit dense.  

I think My main issue is that I don't fully understand what polygon budget would be used in certain situations.  How high can you do with a 3rd Person Hero character, 3rd and 1st person weapons and environments filler props?

Share this post


Link to post
Share on other sites

Below I have also attached some images of my wireframes, for any feedback on the meshes.

Very nice meshes, you clearly mastered edge flow.

Your wire frames look much better than the mesh would with materials on, I think that you should do some hand painting in Zbrush along the lines to emphasize the lines, so that there is a hint to the edge flow in the materials.

 

Iron man's arm looks like there was no consideration for anatomy, although as you verified it's a older model.

 

Only the light saber and Rifle look game ready. The race car is in need of cleaning, just removing and merging some edge loops, before use. Iron man needs a full retopology.

 

I think My main issue is that I don't fully understand what polygon budget would be used in certain situations.  How high can you do with a 3rd Person Hero character, 3rd and 1st person weapons and environments filler props?

Poly budget changes per game type, however the idea is to use as little polygons you can while getting as smooth a model as you can.

 

Don't bother asking poly counts, remember that games made now are intended to be released in a few years time, who knows what it will be then.

The best way to get a poly budget for your model, is to rip a model from the newest top release in that genre, then add 25% to the poly count and use it as your budget.

 

One thing you will find from ripping models like this, is that games use a lot lower models than you would have expected.

A example is the The Witcher 3, most models average out 35 000 polygons, when they could have made them all at around 45 000. A other interesting thing is that Geralt sword's first LOD exceeded most buildings in polycount.

Share this post


Link to post
Share on other sites

@Scouting Ninja

I will give this a go.  Just adding some subtle highlights on the most prominent edges to give them a little more pop ? 
I do agree with what your saying with Iron Man, that model is in desperate need of a poly reduction, there are some details I really could have done with normal maps.  However, as mentioned, it is an older model and I had no idea how to get accurate bakes, granted I still don't, but i feel like I am closer to getting good bakes now than I was back then.

In terms of the poly counts, I did manage to source a model of Lara Croft from the latest Tomb Raider, and that model had 100k Tris, but I am unsure if that is a game play model or cinematic model, although, I would be more inclined to believe it is for in game cinematic rather than actual gameplay.



I did also have a play around with the material on the gun.  I went in an adjusted the metalness ad roughness values within Quixel for now to see how it would affect the materials.  I feel like it now looks a little better but still not 100% there.  Can't seem to get the dirt to look like it has built up on the model.  The normal information is there, its just not that intense, so maybe just play around with the intensity ?

lxddnuntqzbl.png4fhpd6nv8o5s.pnghzslbu9sgv9c.png53ezhjhoe9c0.png

Share this post


Link to post
Share on other sites

Looks much better, your dust also has more depth now that there is reflection to compare with.

 

I do agree with what your saying with Iron Man, that model is in desperate need of a poly reduction, there are some details I really could have done with normal maps.  However, as mentioned, it is an older model and I had no idea how to get accurate bakes, granted I still don't, but i feel like I am closer to getting good bakes now than I was back then.

Xnormal use to have a manual with it that also explained the general baking guides, don't know if the new one includes it.

 

The way your normal maps are now is good for modern games.

 

In terms of the poly counts, I did manage to source a model of Lara Croft from the latest Tomb Raider, and that model had 100k Tris, but I am unsure if that is a game play model or cinematic model, although, I would be more inclined to believe it is for in game cinematic rather than actual gameplay.

The largest batch at the moment of all engines, at 66k. Most engines have max batches of 52k-56k a model of a 100k would literally be two models, that is definitely the cinematic model, probably using a body part LOD for cutscenes.

 

I did also have a play around with the material on the gun.  I went in an adjusted the metalness ad roughness values within Quixel for now to see how it would affect the materials.  I feel like it now looks a little better but still not 100% there.  Can't seem to get the dirt to look like it has built up on the model.  The normal information is there, its just not that intense, so maybe just play around with the intensity ?

When making dirt or dust I like to brush it on. When you brush dirt use a smaller brush on the roughness map than the albedo. Dust unlike fat doesn't upset the light bounce instantly, instead only where dust is cluster does it really change the way the light bounces.

 

The dust you have covers the whole weapon, breaking contrast. Maybe if you have less dust it would be more noticeable.

The dust on the barrel looks correct now.

Share this post


Link to post
Share on other sites

@Scouting Ninja

I will defiantly give Xnormal a download and will pay about with it.  Right now I have been using Mudbox for my bakes, and it has working out fairly well.  Much better than the mental ray bakes i got in Maya.

I never knew about the batches in engines. so that information is so helpful. 


In the future, i will be use to take more care when applying weathering effects such as dust to objects, to give a more accurate representation of what would actually happen.

Thanks again :-D

Share this post


Link to post
Share on other sites

Done a quick prop of some British Traffic lights.  Kept the poly count low, but I could probably go lower to be honest.

But I feel like I have more interesting and defined materials, hopefully.


stuart-speirs-screen01.jpg?1485463301stuart-speirs-screen04.jpg?1485463309stuart-speirs-untitled-1.jpg?1485466465stuart-speirs-screen05.jpg?1485463312

Edited by Allba

Share this post


Link to post
Share on other sites

what does a normal do and an RMA, I assume a normal adjusts the amount of light being reflected?  does RMA determine what wavelength is reflected more?

Share this post


Link to post
Share on other sites
Done a quick prop of some British Traffic lights.  Kept the poly count low, but I could probably go lower to be honest.

Very nice work. The poly count is what I would expect from a AAA game, no need to go lower.

The material on this one is very nice- the materials are starting to reach the level of the mesh- with a model like this is best to keep it bland so the lights stand out if you add them.

 

A other thing about a piece like this, don't focus too much time on making it look good on it's own. If every small model in a scene is eye catching, it creates a type of noise effect, with the viewers eyes not having any rest points.

 

 

 

what does a normal do and an RMA, I assume a normal adjusts the amount of light being reflected?  does RMA determine what wavelength is reflected more?

The normals in a mesh determine how light is shown. A normal map allows the artist to change the way light acts, often bending light to show detail that isn't really there; like a illusion.

 

RMA is the roughness map (how rough a surface looks), the metallic map (how metal the object is) and the AO map (A fake- yet effective- way of calculating ambient light).

The maps are BW images, allowing a artist to store them as a single RGB image.

Using the Albedo, roughness, metal and AO map a artist can make very realistic and responsive materials for games.

Edited by Scouting Ninja

Share this post


Link to post
Share on other sites

Very nice work. The poly count is what I would expect from a AAA game, no need to go lower. The material on this one is very nice- the materials are starting to reach the level of the mesh- with a model like this is best to keep it bland so the lights stand out if you add them


Thank you for the feedback.  I was maybe thinking i could reduce the count a little more,  but I could do that as LODs if necessary.  

I will also start working on props for a surrounding environment and get it to fit in, and I will post updates when I have it done ^_^   

Share this post


Link to post
Share on other sites

what does a normal do and an RMA, I assume a normal adjusts the amount of light being reflected?  does RMA determine what wavelength is reflected more?

 

A normal is a normalized vector. Vectors represent directions and amounts tied together permanently. However, sometimes you don't care about the amount and only want to represent a direction, especially when doing vector math such as this case.

 

When you model you probably model in quads or maybe n-gons occasionally. But the graphics card doesn't understand that geometry. It only understands triangles. So, it may help to think of your model as nothing but a series of triangles. It will be reduced to that by the time it reaches the graphics card.

 

Each triangle in the mesh has a normal that determines what direction that triangle faces. This normal is used in even the most basic lighting calculations. Basically, if it faces into the light it receives more of the light. If it faces away from the light it receives less light. Fresnel and some other things can affect this, but even they will use the normal of the surface to do their calculations.

 

Back in the days when this is all they had models were very faceted. Blinn and Phong got the idea of doing normals per vertex instead of per face and interpolating (averaging) their values across the face of the surface. This gives us smooth shading on faceted models. It also gives us texturing because the UV coordinates are interpolated across the face of the triangle.

 

Now taking this idea one step further, if you assign normals per pixel instead of per vertex, you can make the surfaces look much more complicated than averaging between the vertices all in one smooth gradient.

 

So, you create a high-poly count mesh and a matching low-poly mesh. In Blender there is a Sub-D modifier where the high-poly mesh is literally built on top of the low-poly mesh. Then you "bake" a normal map. Basically, what it's doing is using a photograph just like for the albedo (colored texture). It's using those same UV coordinates and determining which pixel by interpolating the UV coordinates across the face of the triangle. Then it samples from the photograph to determine the color value of that pixel for an albedo(color) map. But for a normal map, it will sample a color that represents a 3 dimensional vector normal. So, in the baking process it takes the low poly model and determines the position of every pixel on the surface of the model as it will UV map that back to the maps. Then it projects the place on the high-poly model on to the low-poly model to find the direction that pixel faces in the high poly model.

 

Put more simply, for a given triangle in the low-poly model every pixel will be assigned a direction according to the surface of the high-poly model at that point on the model and that direction it faces will be stored as pixels in a normal map.

 

Or put even more simply, a normal map simulates the details of a high-poly model when in reality it is a low-poly model.

 

Roughness mapping is a very similar concept except that it is for surface detail smaller than a pixel on your model (which is the smallest truly measurable unit). I'm new to PBR, so I'm still trying to get the difference between Roughness and Specular straight in my head. I "believe" Specular is reflective of the surface and Roughness is about sub-surface light scattering. As I get better with PBR I will probably be able to tell you more, but pretty much all maps work on similar principles.

 

I think roughness on the metalic work-flow is actually "adjusting the amount of light being reflected" as the micro-surface is assumed to be rougher and rougher and reflecting more and more light in random directions rather than at the camera. The less "rough" it is the more the light reflects directly at the camera and thus becomes metalic reflection. In it's map it's probably a gray scale value between 0 and 1 representing a percentage where 0 is black and 1 is white in the image. But again, these are per-pixel values when the pixel is drawn to the computer screen just like the color of a pixel when drawing it's color to the screen using an albedo or color map.

 

The way a normal map is calculated is that you calculate a normal for a pixel on the surface of the model which is just an arrow that represents it's direction of facing. Normals in game programming are stored as a single triplet (X,Y,Z) coordinate. The tail end of the vector is understood to always be at the origin (0,0,0) and thus you only need one set of numbers to represent the position of the arrow's head. Since it's a direction, the actual position of the 3D arrow is irrelevant. So, you can imagine the origin being at the pixel in question and the position of the head as being an offset from that position.

 

Since you want to reduce this to a color you need to put the numbers into the color space. The definition of a vector normal is that it has a length of one. Having a length of one means we do not care about the length (amount) and only care about the direction. So, the position of the head will always be in the range of -1 to +1. Colors have no negative values. So, you add 1 to X,Y, and Z putting it in the range of 0 to 2. Colors only have a range of 0 to 1. So, you divide by 2 to put the numbers in that range. Now you have X,Y,Z values that can be stored as RGB color values in a photograph like a .PNG. or JPeg. And those color values represent the direction in 3D space that pixel faces. Reverse the math to turn the color back into a 3D mathematical vector that describes what direction the pixel faces.

 

These pixel normals are relative to the direction the triangle itself faces. So, the direction that triangle or quad in the model faces is irrelevant for these calculations. Basically, a flat triangle is going to have a normal of 0,0,1 where the normal faces straight down the Z axis (relative to the triangle it lives on) regardless of what direction the triangle actually faces. (That will be factored into the math when creating the normals and converting colors back to normals, but it doesn't affect the colors in the map.) So, a perfectly flat shaded model will give you a perfectly blue normal map because Z of X,Y,Z maps to Blue in RGB. So, it will be 0,0,1 in X,Y,Z and 0,0,1 in RGB. Any colors you see in the normal map are deviations from the direction the triangle faces that the pixel lives.

 

To make things a bit more complicated, DirectX and OpenGl use two different coordinate systems, left handed and right handed. I find this especially confusing because both allow you to set this. So, I don't associate one or the other with DX or OGL. And so I never know which is which. I think I use the OGL coordinate system for everything including DX and off the top of my head I couldn't tell you if that's left or right handed. The only difference is the direction Z faces. If you have an X,Y 2D plane there's only one way you can configure that. But when you add a Z axis to make it 3D it can face in or out of the plane, either one and the choice will give different results.

 

I'm not certain how this affects normal maps, but it would seem to me that if you reverse the Z values most normals would be 0,0,0 when facing straight forward instead of 0,0,1 which would make the map black except where the directions deviate from straight forward. That's a guess. I'm not certain exactly how it's done in this case, but I do know you will see the question of whether to use DX or OGL normals come up a lot. The main thing is to know that they are different.

 

Trying to think of a way to summarize what I just said: A Normal Map stores color values that represent the direction a pixel faces. Remember that in reality everything is flat surfaced triangles in your mesh. Everything else is just mathematical "tricks" to work around this. You can do a uber high-poly mesh and get more detail but that's expensive on the graphics card. But one trick is to bake that uber high-poly mesh down on a low-poly mesh of the same model. This allows the calculations for drawing to work at the pixel level rather than the vertex or triangle level, because the maps store information per-pixel rather than per-vertex or per-triangle. So, the end result looks almost like you have an uber high-poly mesh, when in reality what you have is a low-poly mesh and the maps allow mathematical tricks to do the lighting and drawing calculations per-pixel rather than per-vertex or per-triangle. Ambient Occlusion, Roughness, Specular, and other values can be stored per-pixel this same way by baking a high-poly mesh down against a low-poly mesh. Think of your basic texture(color) map and how that draws pixels across the face of the triangle based on the triangle surface being mapped to a photograph. Now do that same process with other information other than color such as normals or specular values.

Edited by BBeck

Share this post


Link to post
Share on other sites

Hey again guys,
Been working on some new things, mostly character based, felt like a change

Darth Malgus Bust

stuart-speirs-screenshot005.jpg?14883909

stuart-speirs-screenshot006.jpg?14883909

stuart-speirs-screenshot007.jpg?14883909
Here's a link to the Art Station page, it has a Marmoset viewer window, so you can have a look at the maps and topology

Any feedback would be appreciated, been looking to improve at doing faces, so anything anatomy specific would be greatly appreciated

Thanks!!

Share this post


Link to post
Share on other sites

Brilliant work, the best piece yet.

so anything anatomy specific would be greatly appreciated

The scull looks very round, kind of how it was drawn in the old text books. Also above the eyebrow is a "bag", the way you did it doesn't look wrong it even makes the character look smart; it's just anatomically it looks like you didn't consider the Corrugator supercilii muscle, so it looks like the head and face are two parts; although it's working in your favour here.

Share this post


Link to post
Share on other sites

@Scouting Ninja

It is my first proper attempt at creating a human head, so I was bound to miss something, so many muscles, my brain, couldn't comprehend it all :P

But yeah, I will be sure to consider the Corrugator supercilii muscle next time round.  Thinking I may go for a female Bust next time, just to mix things up.

Watch this space :-D

Share this post


Link to post
Share on other sites

 Any comments welcome

at a quick glance....

in general: excellent meshes unless otherwise noted

lightsabers: specular seems a bit high, especially the grips. are they supposed to be leather bound?

rifle: stock is too low poly in the front, should be rounder, not a hex.  Wood, steel barrel, and burlap textures should all be higher resolution.

car and ironman: awesome. i see nothing wrong here.

 star wars interior: interior is fine. the character mesh is a little off. musculature of the upper buttocks is insufficient, musculature of upper thigh is too much.

overall: very good / excellent work.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Advertisement