Sooo... added another feature in the shader, I can now have more colors on the same prop with almost no extra cost. Optimised the texture a bit more :]
edit: oh, and i just colored the wall like that as an example, will not go with those colors ^^
Added textures and shaders for monitors :] And some papers, some jars with pills and stuff ^^ Light looks like shit because..yeah. only medium quality rebake
very cool. at what point in your process did you create the cubemap for this? or are you using a temporary one? does your material use image based reflections?
very cool. at what point in your process did you create the cubmap for this? or are you using a temporary one? does your material use image based reflections?
Why does everything got to be so low poly? Double chamfer dem edges on your highest LOD, gets some specular highlights. Your not rebaking for each LOD so its minor work that will make everything look nicer.
Snefer, why exactly do you use a 2:1 texture when using this method? What advantage does going 2:1 give over doing 1:1? (eg: 512x256 as opposed to 512x512 or 256x256, sans the fact that higher res is pretty)
Computron: Weeell, I do chamfer my edges in alot of places actually, but not on tiny props and where I have seams anyway :] I prefer to keep the polycount low on smaller objects, and not when I want the edges to be hard :] Also there are tiny chamfers in the normalmap in some places, so I just use that instead for that tiny highlight. But yeah, sometimes I just dont chamfer cause Im lazy and its easier to unwrap this way. But mostly because of the other reasons xD
well, if you have some blanks spaces on your normal map you could map to the edges you could make the smoothing groups do all the work for free without needing any difficult unwrapping for them, do it after the initial unrwap.
coots: Hmm, i only have one cubemap actually, and two scene-captureactors ^^ (yes its superexpensive but its FUN! ) and yes, the scene-capture reflection is realtime :]
This is totally fantastic work man. Awesome to see what you can do with great, imposed limitations. The color variation for the walls you had, thats still all one material on the model. Not multi material walls?
PogoP: i think the plainness is more to the lack of things in the environment and the unfinished state its in, together with the clean style, more than the lack of textures. :]
danjohncox: thanks, yes the colorvariations is still one material on the model, the only things with two materials are the monitors and the glowy beds (one material for glowy, one for normal) even though I could probably solve that in the shader aswell..hmmm. I should do that. But yes, imposing limitations is a nice exercise to force yourself outside of your comfort zone :]
This is an excellent 101 in modular texture design! Really love the results you got from this exercise.
That being said, is there any advantage of what your doing on a technical level? It seems like your trading texture memory for multiple render passes (provided what i know of how unreal renders objects with multiple uv's is correct.)
So i'm wondering, is it practical to texture objects in this way? I know this project pushes it to an extreme, i'm just curious which method is less 'costly' or whether this is comparing apples to oranges.
bgoodsell: on a technical level, yes. I am trading texturememory for shaderinstructions (because it takes a few shaderinstructions to assemble everything) but since everything is only using one shader per objects its only one drawcall per object. It also allows me to have larger objects combined together because they share the same shader. (like the bookshelf, with folder, pills, clipboard in it, all the same material) So technically its all very sound, however, there isnt really any point of optimising something this hard, this is mostly an exercise and example of what you can do with smaller textures. :] Optimising is never bad
This is totally awesome! I have a sci fi scene I had to put on hold a for a while. I was struggling balancing small details and the overall picture and had come to a real slow crawl. This is realy inspiring, I cannot wait to get back to it, brilliant!
This scene is so powerful. You're really showcasing the abilities of using an engine for portfolio work.
Is the screencapture actor working properly with the tiledshot command? I had problems with that in the past. Your reflections are coming out real nice.
I was looking around in Halo: Reach the other day and I noticed they used a similar technique on a lot of their maps like Sword Base and Zealot. They use the same trim everywhere but it has no diffuse, only a normal map (maybe an AO as well?). This way they can stretch it out or rescale it to break tiling without anyone noticing stretch marks. Then it looks like they use a second non-stretched 1:1 UV channel for detail normals, this way the can keep the same texel density everywhere even if they stretch other UV channels.
Is there any easy way to make a beveled edge that is also unwrapped automatically to fit one of these modular textures? You could sweep a spline with genrate mapping coordinates but then you have to cut this bevel into your model and weld it in but that is an assload of tedious work. Any quick modifiers that can perform this?
EDIT: NVM, I figured out if you sweep a 1/4 pipe and use its radius in the edge chamfer operation all the verts stack right on top of eachother making them easy to weld as well as perfectly UV'ed. Adam Bromell was right in his talk, there is a lot of inspirational learning to be had from people like Snefer (Congrats by the way), thanks!
wow awesome work Snefer I got a question for you is it safe to say that your texture is size pixel by poly meaning that a 128 by 512 texture is attached to a 128 by 512 poly mesh?
Literally just read through this whole thread with my jaw on the floor, really great inspiration and shows quite how wasteful i usually am in my environments
PogoP, I think this is more of an experiment to see how far he can push himself on the technical side. Learning new techniques and see what the limitations really are. But i agree with skillmister, that its no more "boring" than the majority of sci-fi scenes. Snefer has essentially done the same as alot of people, but with ALOT less.
Personally, snefer, I think this is absoultely amazing. I totally missed this thread before. I saw your cybernetics core thread and was blown away, then missed this one till I went to Adams talk at IDGA and he showed it. Amazing stuff. simply amazing. And Kudos for pushing yourself even further. Very inspirational
wow, like what your doing. I'm obsessed with graphics programming (mostly lighting and radiosity calculation) always interested in the strangely brilliant!
would you be able to give an abstract and method? just an explanation of the theory and how you go about implementing it?
im lost on your step two, why is the unwrap so fugly for the normal? am i missing something?
I'm guessing it's because he has tiling details or bevels in in the normal map. He's just putting his shells on the details that he wants for that for that particular area, so no need to make it pretty.
The light map UV set needs to be optimized and in the 0 to 1 space in order to get proper light maps.
This is just my guess though, you'll have to wait for snefer to reply to get a 100% correct answer. :P
haha, I love it. I wish more environment artists would try out these kind of uber-optimisation techniques, you learn so much from it , especially when it comes to being fast and efficient.
so you're saying his normal map itself, the baked image is going to look pretty nasty because everythings stacked up but as long as the light map set is nice and neat its ok? i mean you wouldnt be able to show off the baked normal map when showing off the textures but that works?
so you're saying his normal map itself, the baked image is going to look pretty nasty because everythings stacked up but as long as the light map set is nice and neat its ok? i mean you wouldnt be able to show off the baked normal map when showing off the textures but that works?
you dont understand, he isnt baking with these UV's, he already made theses normalmaps by hand or from previous bakes, and is just overlaying UV's shells on the details in the exiting normal map he wanst to put on his objects.
he working in reverse of what most do, starting with the textures, and making models that fit to and use the existing texture, to allow him to reuse elements in the textures as much as possible.
Thanks for all the comments! See if I can answer some of the questions. :]
dpaynter26: Yup, Disting got it right, I dont have a baked normalmap. I map the UVs after the existing texture :] It doesnt matter how the UVmap looks aslong as the model looks good. I use the lightmap UVs for a tiling metal texture, and for the lightmaps. Thats more or less how i do it. I have changed the shader a bit since, so I will post an updated version aswell later, right now i have some annoying bugs and crashes when baking lights, no clue as to why.
hey man
First off, awesome stuff dude, also great to see you doing more clean stuff lately.
Now enough with the sugar coating,I couldn't help but notice the fugly lightmap seam on thet microscope (pretty sure there are some in other places, just not as noticeable, and looking at your lightmap uvs, I'm wondering, is there a particular reason you didn't gridmap, or at least straighten those sloped edges on the microscope ? it'a a bit of a shame seeing such a cool piece having nasty lightmap seams
also, any reason you use a dxt5 instead of 2 DXT1 ? that would give you 2 extra channels at no texture memory cost IIRC ? or was it just a self imposed restriction of only one texture lookup ?
again cool stuff man good to see smart use of high end tech to do heavy optimisation at little to no quality cost
Do you mean the seams when its baked and in the scene? And no, there is no specific reason really, more than lazyness I suppose. I generally try to keep the Lightmap UVs as seamless as possible, but I dont bother overly much with pieces that are angled etc. However, I am not sure if the seams will show when rebaked at production quality. My computer at home is pretty shit and I havent had the time to rebake on higher quality, so that causes seams even wth perfect UVs, so I will have to look into that, if it actually shows :]
And yeah, the only reason I went with a dxt5 was the self imposed restriction I actually redid the shader so I got rid of one channel for awhile (the decalalfa), but then I added the monitor-shader so I used upp the alfa-channel again. But actually, I got an idea now, so I miiiight be able to free up one more channel again And yeah, the restriction is two lookups, since I have the normalmap aswell. Doesnt really make sense in a real world scenario, but it gives food for thought :]
Awesome stuff, I had to do this when creating a set of train cars for the last game I was working on. We couldn't use giant texture sheets for each one so we used this method exactly. It's really cool to see you using it for a whole environment. Nice Work!
Replies
btw, this scene keeps looking sexier and sexier.
thanks for the breaks down makes super sense now.
Sooo... added another feature in the shader, I can now have more colors on the same prop with almost no extra cost. Optimised the texture a bit more :]
edit: oh, and i just colored the wall like that as an example, will not go with those colors ^^
pretty sure he said earlier it was a RTT cubemap
The scene looks amazing by the way, even on meduim quality
Why does everything got to be so low poly? Double chamfer dem edges on your highest LOD, gets some specular highlights. Your not rebaking for each LOD so its minor work that will make everything look nicer.
+1
Added some random stuff, filling out the space. For example.. the new ipad 18! ahwell. slooow progresss...
It's no more plain than the majority of sci-fi scenes that use way more textures though really.
danjohncox: thanks, yes the colorvariations is still one material on the model, the only things with two materials are the monitors and the glowy beds (one material for glowy, one for normal) even though I could probably solve that in the shader aswell..hmmm. I should do that. But yes, imposing limitations is a nice exercise to force yourself outside of your comfort zone :]
That being said, is there any advantage of what your doing on a technical level? It seems like your trading texture memory for multiple render passes (provided what i know of how unreal renders objects with multiple uv's is correct.)
So i'm wondering, is it practical to texture objects in this way? I know this project pushes it to an extreme, i'm just curious which method is less 'costly' or whether this is comparing apples to oranges.
Congrats on the feature in the recap.
Is the screencapture actor working properly with the tiledshot command? I had problems with that in the past. Your reflections are coming out real nice.
DEM BEVELED EDGES SON:
EDIT: NVM, I figured out if you sweep a 1/4 pipe and use its radius in the edge chamfer operation all the verts stack right on top of eachother making them easy to weld as well as perfectly UV'ed. Adam Bromell was right in his talk, there is a lot of inspirational learning to be had from people like Snefer (Congrats by the way), thanks!
Personally, snefer, I think this is absoultely amazing. I totally missed this thread before. I saw your cybernetics core thread and was blown away, then missed this one till I went to Adams talk at IDGA and he showed it. Amazing stuff. simply amazing. And Kudos for pushing yourself even further. Very inspirational
would you be able to give an abstract and method? just an explanation of the theory and how you go about implementing it?
im lost on your step two, why is the unwrap so fugly for the normal? am i missing something?
I'm guessing it's because he has tiling details or bevels in in the normal map. He's just putting his shells on the details that he wants for that for that particular area, so no need to make it pretty.
The light map UV set needs to be optimized and in the 0 to 1 space in order to get proper light maps.
This is just my guess though, you'll have to wait for snefer to reply to get a 100% correct answer. :P
you dont understand, he isnt baking with these UV's, he already made theses normalmaps by hand or from previous bakes, and is just overlaying UV's shells on the details in the exiting normal map he wanst to put on his objects.
he working in reverse of what most do, starting with the textures, and making models that fit to and use the existing texture, to allow him to reuse elements in the textures as much as possible.
dpaynter26: Yup, Disting got it right, I dont have a baked normalmap. I map the UVs after the existing texture :] It doesnt matter how the UVmap looks aslong as the model looks good. I use the lightmap UVs for a tiling metal texture, and for the lightmaps. Thats more or less how i do it. I have changed the shader a bit since, so I will post an updated version aswell later, right now i have some annoying bugs and crashes when baking lights, no clue as to why.
First off, awesome stuff dude, also great to see you doing more clean stuff lately.
Now enough with the sugar coating,I couldn't help but notice the fugly lightmap seam on thet microscope (pretty sure there are some in other places, just not as noticeable, and looking at your lightmap uvs, I'm wondering, is there a particular reason you didn't gridmap, or at least straighten those sloped edges on the microscope ? it'a a bit of a shame seeing such a cool piece having nasty lightmap seams
also, any reason you use a dxt5 instead of 2 DXT1 ? that would give you 2 extra channels at no texture memory cost IIRC ? or was it just a self imposed restriction of only one texture lookup ?
again cool stuff man good to see smart use of high end tech to do heavy optimisation at little to no quality cost
And yeah, the only reason I went with a dxt5 was the self imposed restriction I actually redid the shader so I got rid of one channel for awhile (the decalalfa), but then I added the monitor-shader so I used upp the alfa-channel again. But actually, I got an idea now, so I miiiight be able to free up one more channel again And yeah, the restriction is two lookups, since I have the normalmap aswell. Doesnt really make sense in a real world scenario, but it gives food for thought :]