Just like to share the last model i did. Some lowpoly police first person arms.
I use marmoset to render it.
Polycount is 3800, 2k textures (dif, spec, gloss, normal, disp). I also use the toolbag tesselation.
PLS give some texture flats ! i need to see that displacement map!
Where did you bake the textures in and did you use any specific settings worth mentioning?
Pretty nice. But you should make the mirroring on the fingers less obvious. Prolly unwrap a finger uniquely so that you can add non mirrored detail to it.
I disagree here. The odds of actually seeing the areas you are talking about are slim to none. Hold a pistol or a rifle in FPV and you'll never see or notice the mirroring on the fingers. Hold a knife, you'll still never notice it. Depending on the FOV and what the animation calls into the players view, the only place you will ever notice any symmetry is on the sleeves and gloves, and even that is going to be in special instances like holding a knife or carrying a grenade for example. It would be better to optimize the tri count on the arms as much as possible and add in overlaying geo (a watch, duct tape, etc.) that can utilize the same UV space to break up the symmetry.
I would rather see a single mirrored arm that is nicely optimized, utilizes UV space well, and has additional geo/models or accessory pieces to break up the symmetry than see a mirrored mesh withe multiple maps or poor UV textel density. Splitting up the UVs for each arm in this particular instance is a waste IMO. Creating a new layout, or simply duplicating the existing and applying a new texture is even worse and more costly.
These are very, very nice though. Definitely show wires and texture flats! The gloss is just a tad tight on the fingers and the spec could come down a little bit, but the texture detail you have going on it great and works well. Excellent piece!
About the symmetry thing i didn't thought to much about, special because you almost never see both side in the same position. But about the scare, i can fix it easy.. just move the mapping of the finger to an other finger.. think this will be enough.
I just noticed right now about how fat the fingers are and the displace map is doing it stronger.. my bad, have to tweak it.
Texture size and polycount is high because in my mind it was done for a nextnext-gen console or a kick ass pc.
Next: i bake it with xnormal and no changes on the default settings.
here some more shots.
i can easy optimize it, but don't need because like i said, it is somehow done for a nextnextgenwhateverspec
ignore the this big empty space in the normal map, at this place is the arm part and there is no normal map details.
just a little part of the displace map for the tesselation.
Nice job man, its rare to see really nice FPV hands. I dont think the tricount is excessive or anything. I think its important to remember that in shooters, your player character is literally your hands/weapon. Its the most important character in the game, its literally the player's only way to interact with the world in most cases, and is on screen 100% of the time. Its not like you'll ever be drawing 30x arm models on screen at once, and its always rendered up close, so really there are very few reasons to go lowpoly on an asset like this.
Pretty nice. But you should make the mirroring on the fingers less obvious. Prolly unwrap a finger uniquely so that you can add non mirrored detail to it.
Also, the shape of the fingers themselves are kinda odd They seem too wide on the palm side.
allaze-eroler: there is nothing special about the tessellation workflow. Just bake your displace map and use slightly the tessellation settings in marmoset.
allright ! i do guess the displacement bake should be done with xnormal or other software ? because when i use zbrush as displacement bake, it went all horrible ):
why so? i recently just used it for some highpoly art and it worked like a charm - i would guess thats because you'r lowpoly isn't the basemesh of your highpoly? Haven't done that in zBrush so far, the biggest difference i saw from marmosets displacements to zbrushs are that the lowpoly triangulation is part of the resulting displacement, pretty much like the lowpoly tangents are in the resulting normalmaps - my displacements from zbrush always came out very clean, i should try how well they would work in marmoset.
why so? i recently just used it for some highpoly art and it worked like a charm - i would guess thats because you'r lowpoly isn't the basemesh of your highpoly? Haven't done that in zBrush so far, the biggest difference i saw from marmosets displacements to zbrushs are that the lowpoly triangulation is part of the resulting displacement, pretty much like the lowpoly tangents are in the resulting normalmaps - my displacements from zbrush always came out very clean, i should try how well they would work in marmoset.
i guess it's because my low poly is all quad ? i will test with a simple sphere for to see how it work, is there any extra information i should know ?
ps : for your arms, it would be interesting if you add the SSS stuff because i did noticed that directx 11 can use it without problem but do need a graphic card can deal with it.
i don't want to derail Efgenis thread, but could you show the resulting displacement and tell what you did to achieve it? Or maybe better open your own thread or put it in waywo i guess there is a way to get the right results
LRoy: I model this arm in the right pose ( frist person view). But also only for the folds on the top of the arm, the rest of the folds are just general arm think..
ps : for your arms, it would be interesting if you add the SSS stuff because i did noticed that directx 11 can use it without problem but do need a graphic card can deal with it.
I use for the fingers and the arm part the SSS shader from marmoset. In my opinion is the best realtime sss shader i worked with, also a lot better as the cryengine3 sss shader.
your displacement map looks really strange. try tesselating (not turbo/meshsmoothing) the mesh a couple of times and then baking the displacement map, it might come out better.
your displacement map looks really strange. try tesselating (not turbo/meshsmoothing) the mesh a couple of times and then baking the displacement map, it might come out better.
looks great though man =]
lol no.
The displacement map is a map of the height difference between the low and the high. Because the low is a lowpoly mesh, you're going to get gradiated artifacts in the displacement that represent the triangles in the low. This is a good thing, it tells the shader how much to displace.
If you smooth it out, and then apply it to your un-smooth mesh, it would be wrong. It would be like adding sub-d to your lowpoly, baking a normal map, removing it and then wondering why you have smoothing errors.
You can't look at a normals/displacement map in photoshop and say "it looks wrong". Thats just not how it works.
Simply tessellating it would have no effect, because it is a map of depth/height.
The displacement map is a map of the height difference between the low and the high. Because the low is a lowpoly mesh, you're going to get gradiated artifacts in the displacement that represent the triangles in the low. This is a good thing, it tells the shader how much to displace.
If you smooth it out, and then apply it to your un-smooth mesh, it would be wrong. It would be like adding sub-d to your lowpoly, baking a normal map, removing it and then wondering why you have smoothing errors.
You can't look at a normals/displacement map in photoshop and say "it looks wrong". Thats just not how it works.
Simply tessellating it would have no effect, because it is a map of depth/height.
ah sorry, i was under the impression that marmoset tesselated with displacement. doing it the way i suggested gives better results in UDK because it gives the hightmap values of the tesselated product rather than the original low poly.
Replies
But yeah, it's a heck of a job!
Where did you bake the textures in and did you use any specific settings worth mentioning?
cheers
I disagree here. The odds of actually seeing the areas you are talking about are slim to none. Hold a pistol or a rifle in FPV and you'll never see or notice the mirroring on the fingers. Hold a knife, you'll still never notice it. Depending on the FOV and what the animation calls into the players view, the only place you will ever notice any symmetry is on the sleeves and gloves, and even that is going to be in special instances like holding a knife or carrying a grenade for example. It would be better to optimize the tri count on the arms as much as possible and add in overlaying geo (a watch, duct tape, etc.) that can utilize the same UV space to break up the symmetry.
I would rather see a single mirrored arm that is nicely optimized, utilizes UV space well, and has additional geo/models or accessory pieces to break up the symmetry than see a mirrored mesh withe multiple maps or poor UV textel density. Splitting up the UVs for each arm in this particular instance is a waste IMO. Creating a new layout, or simply duplicating the existing and applying a new texture is even worse and more costly.
These are very, very nice though. Definitely show wires and texture flats! The gloss is just a tad tight on the fingers and the spec could come down a little bit, but the texture detail you have going on it great and works well. Excellent piece!
been looking into animating some fps arms hand handguns! this is the stuff I need to see right now! great all around!
About the symmetry thing i didn't thought to much about, special because you almost never see both side in the same position. But about the scare, i can fix it easy.. just move the mapping of the finger to an other finger.. think this will be enough.
I just noticed right now about how fat the fingers are and the displace map is doing it stronger.. my bad, have to tweak it.
Texture size and polycount is high because in my mind it was done for a nextnext-gen console or a kick ass pc.
Next: i bake it with xnormal and no changes on the default settings.
here some more shots.
i can easy optimize it, but don't need because like i said, it is somehow done for a nextnextgenwhateverspec
ignore the this big empty space in the normal map, at this place is the arm part and there is no normal map details.
just a little part of the displace map for the tesselation.
Doubtful this would ever be noticed ingame.
Its because of counter strike haha
i love it, good work
I will tweak the fingers and the spec/gloss map. Hope will be more kickass..
make me happy to see so many people like it.
ffffffffff stupid keyboard ! i posted too early -_-
allaze-eroler: there is nothing special about the tessellation workflow. Just bake your displace map and use slightly the tessellation settings in marmoset.
Your material definition is fantastic!
i guess it's because my low poly is all quad ? i will test with a simple sphere for to see how it work, is there any extra information i should know ?
ps : for your arms, it would be interesting if you add the SSS stuff because i did noticed that directx 11 can use it without problem but do need a graphic card can deal with it.
I use for the fingers and the arm part the SSS shader from marmoset. In my opinion is the best realtime sss shader i worked with, also a lot better as the cryengine3 sss shader.
looks great though man =]
lol no.
The displacement map is a map of the height difference between the low and the high. Because the low is a lowpoly mesh, you're going to get gradiated artifacts in the displacement that represent the triangles in the low. This is a good thing, it tells the shader how much to displace.
If you smooth it out, and then apply it to your un-smooth mesh, it would be wrong. It would be like adding sub-d to your lowpoly, baking a normal map, removing it and then wondering why you have smoothing errors.
You can't look at a normals/displacement map in photoshop and say "it looks wrong". Thats just not how it works.
Simply tessellating it would have no effect, because it is a map of depth/height.
Awesome hands! Want watch on this, in game.
ah sorry, i was under the impression that marmoset tesselated with displacement. doing it the way i suggested gives better results in UDK because it gives the hightmap values of the tesselated product rather than the original low poly.
I did already a quick test rig, but i am not happy yet. After i have something cool to show, i will post it here.
malcolm: haha ;D