Home Featured Artwork

An exercise in modular textures - Scifi lab UDK

12467

Replies

  • Snader
    Options
    Offline / Send Message
    Snader polycounter lvl 15
    I've not read the entire thread, so I might be off here. But you're using lightmaps, right? Doesn't that pretty much defeat the purpose of limiting yourself to a small texture?
  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    Snader wrote: »
    I've not read the entire thread, so I might be off here. But you're using lightmaps, right? Doesn't that pretty much defeat the purpose of limiting yourself to a small texture?


    You still get a memory saving by using fewer textures. Since you need the lighting data no matter what you're doing.
  • krateos_29
    Options
    Offline / Send Message
    This is awesome!

    When the final udk materials are done, are you showing them to us? :P
  • Snefer
    Options
    Offline / Send Message
    Snefer polycounter lvl 16
    Snader: Using less memory and fewer textures is NEVER a waste :]

    krateos: I will :]

    Playing around a bit, added a bunch of new props, and did some optimsation, nothing to really show off by itself really. Im gonna add some traffic in the city aswell, right now its palceholder boxes flying around, but ill get around to building real spacecars instead. Also added a car that drives by close to the window, MMM SPOTLIGHT AND LENSFLARES! xD

    tile21.jpg
    tile22.jpg
  • toxic_h2o
    Options
    Offline / Send Message
    toxic_h2o polycounter lvl 8
    I want to steal you brain and use it for myself. :) I'm curious to know how much time you put into this on a daily basis and how much time have you invested into it so far?
  • metalliandy
    Options
    Offline / Send Message
    metalliandy interpolator
    Truly amazing...
  • d1ver
    Options
    Offline / Send Message
    d1ver polycounter lvl 14
  • Snader
    Options
    Offline / Send Message
    Snader polycounter lvl 15
    Snefer wrote: »
    Using less memory and fewer textures is NEVER a waste :]

    Well, sure, I get that. But at this point you use a 512x256 diffuse/normal spec (which is awesome) and what seems to be a 256² for just the microscope lightmap. So in the end, going down from 1x1024² in textures and 10x1024² in lightmaps, to 1x512x256 in textures and 10x1024² in lightmaps gives very little reward for a lot of work.

    Maybe it's more effective to look into painted lightmaps and UV them yourself? Or to try and optimize the geo for vert lighting?

    Not to say what you're doing is very impressive and inspirational, but it feels somewhat dampened by using lightmaps at the end.



    also, it could be considered a waste of time to optimize too much ;)
  • Alex3d
    Options
    Offline / Send Message
    Alex3d polycounter lvl 9
    Snader wrote: »
    Well, sure, I get that. But at this point you use a 512x256 diffuse/normal spec (which is awesome) and what seems to be a 256² for just the microscope lightmap. So in the end, going down from 1x1024² in textures and 10x1024² in lightmaps, to 1x512x256 in textures and 10x1024² in lightmaps gives very little reward for a lot of work.

    Maybe it's more effective to look into painted lightmaps and UV them yourself? Or to try and optimize the geo for vert lighting?

    Not to say what you're doing is very impressive and inspirational, but it feels somewhat dampened by using lightmaps at the end.



    also, it could be considered a waste of time to optimize too much ;)

    The lightmap is a separate UV channel, unless you are texturing using unique UVs. If we are to follow your logic, game companies must be stupid to spend so much time optimizing textures and building game levels modularly...
  • Snefer
    Options
    Offline / Send Message
    Snefer polycounter lvl 16
    toxic_h2o: hehe, I havent really kept track of the hours, i do put quite some time into it. Assets are very fast to make, alot of time was spent on thinking and trying to get inspiration for what to build, and how to work around stuff. I have been trying out alot of new stuff I havent tried before, outside of what im doing with the tiling etc.

    Snader: The Lightmap for the microscope is a 64 or 32 texture, and rendered at 50% quality, so it doesnt look nearly as good as it will be when baked at production quality. the largest lightmap is a 256*256, which is for a huge segment of floors combined together. Also lightmaps are not compressed the same as normal dx1 and dxt5 textures, and I can optimise them down to 25% of their current size with a few clicks if needed.

    Yes, it can definately be considered a waste to optimise too much, that is why I do this. I have learned some new tricks, explored new dead ends, learned alot. Also, if there is one point where you should spend optimisation, its where the benefits are the largest. Now I have built probably 50 assets with the same texture, the pipeline for building new assets is superfast. I dont need to import new textures, I dont need to create new shaders. Every new trick and optimisation I do now affect 50 assets, instead of just one. Every megabyte is worth alot. Every day of work is worth alot. If you can consistently free up a few 1k-textures from the environments and they look the same, then suddenly your main char can have a 2k texture instead of a 1k, etc.
  • The Dag Node
    Options
    Offline / Send Message
    The Dag Node polycounter lvl 12
    Impressive!
    I understand you have your own shader to be able to separate each channel.

    So a texture made in photoshop you have the r-channel using a metal texture, g-channel using the occlusion, b-channel for decals and the alpha is used for the decals transparency.

    Then another texture is used for the normal map, but I don't follow precisely. The normals are baked and in photoshop you edit the blue channel, painting it black in certain areas and I don't see why?

    On top of this you use lightmaps for each model?(I'm not fully aware of how they are done) but I understand they need another UV-set as you unwrapped them without overlay.

    So all this can be accomplished with one shader?
    or do you have copies of one shader using the same textures, but change the lightmaps for each model?

    Aren't the colors in the scene done as vertex color?`if not, please explain.

    Thanks and keep it up!
  • shabba
    Options
    Offline / Send Message
    shabba polycounter lvl 15
    This is fantastic! Not only is the scene outstanding, but the approach and constraints are fascinating too!

    I understand the channels and maps part, but utilizing the different UV channels and the material expressions involved in UDK is what I cant quite grasp. Would you be able to post a preview of your material (even if its not quite done? :poly136:) and how that applies to an example mesh in the SM editor?

    This would be of great help! Please and thank you!
  • pthomas1172
    Options
    Offline / Send Message
    pthomas1172 polycounter lvl 10
    Really nice work
  • Snefer
    Options
    Offline / Send Message
    Snefer polycounter lvl 16
    The Dag Node: yes, more or less. But I also removed the decal alpha and put the monitor-textures there instead, and made the decalalfa in the b-channel aswell. The blue channel is used to separate the metal from the flat surfaces, so that I can use parameters for specular, colors, etc, instead of having dedicated maps for that. And yes, all models have lightmaps, since the lighting is baked. All this is one shader, more or less, im using shaderinstances with colorvariables that I can change how i want, so I can get any color-combination i want. I also added settings to have a third color aswell. I am not using vertex color, except for the traffic.

    shabba: I will post something soon :]

    Long time no update! Added some plants! And made the windows into a animatable material so i can get a cool effect when the windows morph from being pitch black to the state they are in the pictures. Need to sort out some issues with them though, like the shadows. Updated the traffic and city outside, still not done yet, looks alot better in motion though :] will post some videos as soon as I get my internet back, haha ^^

    Also haxxed the textures a bit, normalmap-compression was to high so I changed to another compression and rebuilt the shader a bit. Also added some cables, postitnotes, etc. Lots of small stuff all over. Right now the scene looks a bit dark, specially when its static.


    tile23.jpg
    tile24.jpg
    tile25.jpg
    tile26.jpg
    tile27.jpg
  • Snefer
    Options
    Offline / Send Message
    Snefer polycounter lvl 16
    haha, I would have preferred the windows in bladerunnor, but cool enough :D
  • SirCalalot
    Options
    Offline / Send Message
    SirCalalot polycounter lvl 10
    As per usual, you don't disappoint, Snefer - fantastic work!

    I've even learnt a few things just by reading this thread (which seems to be the norm' when looking at your works :P).

    I look forward to a snippet of your material tree to better understand how you get such great variation from essentially black and white base texture channels.
  • The Dag Node
    Options
    Offline / Send Message
    The Dag Node polycounter lvl 12
    Thanks for explaining!
    I understand most of it now, but it's quite crazy optimized :D
    I now understand how the blue channel in the normal map is used. Btw, how
    So you just plug in the channels to the shader and have the blue color derive from the shader to mix up with the red and green from the texture. Then you are free to use the blue channel, in this case to materials(but I don't understand this presicely). The materials are controlled by black and white values? So for instance, black means matte and white means shiny?

    I reread all posts again, but I still couldn't understand how you add the color, since not using vertex color. How are the colors applied? :\
    Did you change the grey value in the B-channel to black or are you able to just configure the shader to use the grey value and have the alpha apply itself only to this exact value?

    When you started out, did you paint and set up the textures as normally in photoshop, then copied each image into it's corresponding channel in a new document? It seems a bit awkward to work with otherwise, if not, please explain.

    Well, that's all for now. Looks really nice and looking forward to updates. I was wondering though, this shader, is it something one could get their hands on? I tried some mental mill 2 years ago, but I wouldn't remember much. I guess it's a good reason to pick it up again.

    Cheers dude, SK
  • Snefer
    Options
    Offline / Send Message
    Snefer polycounter lvl 16
    Alriiighty, finally have internet in my apartment!

    The Dag Node: Hmm, my brain is melted right now, so i cant answer all of it, but yes, i work with the channels in separate documents, then just copy them over to the .tga that is imported into the engine.

    Also this scene will most likely be released in some form aswell :] So people can look/laugh/learn etc :]

    Oh yeah, added some more stuff to the scene, will record some footage when my brain is reassembled : D

    tile28.jpg
  • The Dag Node
    Options
    Offline / Send Message
    The Dag Node polycounter lvl 12
    Congrats to your internet =)
    I see.
    Wawaweewaa, that would be awesome of you to release that. perhaps as a christmas gift to all of us =D
    Nice update. Just want to play around with that shader and build modular pieces!!
  • Snefer
    Options
    Offline / Send Message
    Snefer polycounter lvl 16
    Yeaaa, just a really crappy commpressed video of me running around the enviro a bit. HORRIBLE compression, but atleast gives a bit of sense of the traffic, the animated windows etc :]

    [ame="http://www.youtube.com/watch?v=YyUWCOlOxoo"]ScifiLab WIP - YouTube[/ame]
  • paulsvoboda
    Options
    Offline / Send Message
    paulsvoboda polycounter lvl 12
    Been great watching this thread. You've made some really smart choices with so many of your props/infrastructure and have done a great job bringing it all together in a pretty well constructed scene. I know it's not your goal with this exercise but I'd love to see this scene done without using real time reflections and instead cheating it with cube maps/environment maps as that would really accentuate how optimized this scene is, and I can't imagine there would be much loss to the quality.
    I also think you could tone down/kill the reflections in areas as such as the floor. The roof and walls both look great because they are defines so well with shape and colour, I personally find the reflections in the floor to take away from that and they become a distraction more than anything else. Perhaps adding colour to the sides of the floor instead and getting rid of the reflection altogether.

    This is a very minor gripe, as this is stellar work. There is a lot to take from this thread and I'd love to see you release the map.
  • Snefer
    Options
    Offline / Send Message
    Snefer polycounter lvl 16
    paulsvoboda: thanks : ) I am keeping the scenecapture-actor for the floor, but the cubemap for the walls etc are baked of course. I klled alot of the reflections now, been tweaking lighting and shaders alot now that i am in the end-phase.

    Been populating the scene alot more with props now, adding some props here and there, some stuff where the rooms were empty before etc. Have a few tweaks left before Im done with it, just a few props left, also gonna TRY to squeeze the skybox into the texture aswell, hahaha :D Oh, managed to squeeze in lights for the buildings aswell! :]

    tile29.jpg
    tile30.jpg
    tile31.jpg
    tile32.jpg
    tile33.jpg
    operatemachine.jpg
    lightss.jpg
  • d1ver
    Options
    Offline / Send Message
    d1ver polycounter lvl 14
    Looking crazy sweet, Snefer.

    Maybe add some big-ass lensflares mass-effect-style? You could do those procedurally stretching the sphere mask. :)
  • Snefer
    Options
    Offline / Send Message
    Snefer polycounter lvl 16
    Thanks :] Yeah, i already have on for when the car drives by, but would like to tweak that and add more, Still think the rendering can be improved quite a bit, and I havent even touched postprocessing yet. : )
  • Minos
    Options
    Offline / Send Message
    Minos polycounter lvl 16
    Looks pretty cool! Not really digging all the 90 degree angles everywhere though, specially where the walls connect with the ceiling. You could try to break them up a little! The scale also seem a bit off, could you place some character meshes in the scene just so we could get a better idea on that?

    I did a quick & shitty paintover with some ideas on how to improve the scale:
    5CpOF.jpg
  • Computron
    Options
    Offline / Send Message
    Computron polycounter lvl 7
    Looks a lot like the new Deus Ex, which I think used a similar technique.
  • okimoki
    Options
    Offline / Send Message
    okimoki polycounter lvl 7
    This is insane!!!!! Insanely beautiful i mean!!!
    Sooo, where are the zombies?? :)
  • Snefer
    Options
    Offline / Send Message
    Snefer polycounter lvl 16
    Minos: Yeah, i hear ya. The scale is pretty spot on though I think, I used centimetres for measurments, so everything should be real-world scale. Now it was so long ago I read in the thread so I forgot to add a character and show >_< next update! I added some more shapes after your feedback, they are in another corridor that I havent shown yet, heh : D

    Computron: Yup! They did indeed! : )

    okimoki: thanks! : )

    Anyway, more or less done with the enviro now, Needs a tiiny bit of tweaking maybe, and cleaning up some things for download etc... : ) There is alot I could add to it, with postprocessing, heavier shaders and more stuff, but I dont want to go overboard with it, that was never the purpose of this scene. Learned lots doing it though!

    Lab9.jpg
    Lab10.jpg
    Lab12.jpg
  • marq4porsche
    Options
    Offline / Send Message
    marq4porsche polycounter lvl 9
    Whoa! Very impressive work!
  • paulsvoboda
    Options
    Offline / Send Message
    paulsvoboda polycounter lvl 12
    This is brilliant! Love your light sources throughout the environment. Makes the scene very interesting. On the first image you either have some bad lightmaps on the cieling near the orangish light or it just needs a production build.

    Excellent job though. Really like what you've done with this!
  • Snefer
    Options
    Offline / Send Message
    Snefer polycounter lvl 16
    marq4porsche: thanks : ]

    paulsvoboda: thanks man : ] Yeah, I have had some problems with that area, not quite sure why it looks so messy, since this is a production build. Maybe I accidentally set the lightmaprez to low...
  • SirCalalot
    Options
    Offline / Send Message
    SirCalalot polycounter lvl 10
    Wonderful job, Snefer.
    I've been following this for a while and it is an inspiration. :)

    In terms of the project ethos; is all of this super-optimisation improving performance noticeably? Or is there not enough going on in the scene to truly put it to the test?

    When you're done, I'd love to see some framerate and memory statistics comparing this scene with a duplicate version that uses unique complex materials from some of your other projects.
  • Snefer
    Options
    Offline / Send Message
    Snefer polycounter lvl 16
    The scene uses 1.3 mb of uncompressed texture memory for the entire environment. (not counting the lightmaps or the skydome)

    Its kind of hard to estimate how much more it would have used if it was unique instead, but probably 30-40 mb or so.

    As for framerate its no gain per se. If it was all unique it would be the same framerate, but if I would have used tiling materials in a less developed fashion I would have had to increase the number of materials and then the framerate would have gone down faster (specially on console) This was mostly a way to minimise texture memory, without having to go down in framerate.

    The scene is not heavy enough to bother a normal PC, even an old one. My computer locks the framerate at 120 fps, so... However, the shaders are a bit too expensive for console, aswell as the cubemaps. In terms of object, polycount and texture memory its very cheap.
  • d1ver
    Options
    Offline / Send Message
    d1ver polycounter lvl 14
    Fantastic work, Snefer. This should get a frontpage plug since it's finished. And awesome. And finished. And awesome. And awesome:)
  • SirCalalot
    Options
    Offline / Send Message
    SirCalalot polycounter lvl 10
    Not sure if should click on link...
  • cupsster
    Options
    Offline / Send Message
    cupsster polycounter lvl 11
  • Snefer
    Options
    Offline / Send Message
    Snefer polycounter lvl 16
    yay I got my own spambot, how cute ^^
  • HAWK12HT
    Options
    Offline / Send Message
    HAWK12HT polycounter lvl 12
    Nice work man, loved that shiny reflection on the white surface all over. Just one question did you make ur modular pieces with back faces or just planer, cause from the pics its hard to read. Reason i ask is that I am also working on modular pieces with single 1024 sheet, i have to cover large area and with too many pieces. The problem is SEAMS :/ when two perfectly UVW lightmaps pieces come together side by side. The only solution i have seen from UT3 maps and my own is either chamfer the edges on each side inwards to create a cavity (indent) or put some trim piece on top of the two joining point of two pieces.
    Dont wann pull ur leg :D, but I see seams on ur large window pieces when they join. Would b nice to get feedback on that.

    23rd_Oct_FKMd.jpg

    22nd_Oct_FKMk.jpg
  • Skillmister
    Options
    Offline / Send Message
    Skillmister polycounter lvl 11
    Love how this turned out in the end!
    Snefer wrote: »
    Also this scene will most likely be released in some form aswell :] So people can look/laugh/learn etc :]

    Are you able to show the final material setup? :)
    Also
    Snefer wrote: »
    but since everything is only using one shader per objects its only one drawcall per object

    Is it actually only one draw call per object even though you use two textures in the material? I don't quite understand this fully and i have a bit to write about it in my dissertation.
  • WarrenM
    Options
    Offline / Send Message
    Draw calls are per material, not per texture.
  • Kbrom12
    Options
    Offline / Send Message
    Kbrom12 polycounter lvl 8

    Are you able to show the final material setup? :)

    I agree :)

    That would be amazing if you can show that
  • Snefer
    Options
    Offline / Send Message
    Snefer polycounter lvl 16
    HAWK12HT: Cant avoid lightmapseams and seams to 100% unfortunately : / But yes, placing seams in places where you already have seams in the mesh/texture is the best way to hide it.

    Skillmister/Kbrom12: sure, I can post it. Ill also release the entire thing for download so people can poke around with it, hehe. :P And drawcalls are per material, not per texture : )
  • HAWK12HT
    Options
    Offline / Send Message
    HAWK12HT polycounter lvl 12
    :) Im so glad to hear that from a pro, on seams. Time to move on making enviors :D
  • Kbrom12
    Options
    Offline / Send Message
    Kbrom12 polycounter lvl 8
    Snefer wrote: »
    Skillmister/Kbrom12: sure, I can post it. Ill also release the entire thing for download so people can poke around with it, hehe. :P And drawcalls are per material, not per texture : )

    Awesome!, thats some great news, I can't wait for this, I feel that I will learn so much from this, thank you :)
  • cptSwing
    Options
    Offline / Send Message
    cptSwing polycounter lvl 11
    yeah, looking forward to poking through your scene as well (ooh, that sounds nasty!) ... :thumbup:
  • Snefer
    Options
    Offline / Send Message
    Snefer polycounter lvl 16
    aaaaand video is up! : )) cleaning up the last of the package dependencies : ))

    [ame]http://www.youtube.com/watch?v=FGB-FnpNHO4[/ame]
  • Bobby J Rice 3rd
  • zakhar2
    Options
    Offline / Send Message
    zakhar2 polycounter lvl 6
    video says it contains content from WMG and is blocked on copyright grounds. :/
  • Snefer
    Options
    Offline / Send Message
    Snefer polycounter lvl 16
    Yeah, its blocked in US and stuff, god damnit! Im uploading it on vimeo aswell ^^
  • Money
    Options
    Offline / Send Message
    Money polycounter lvl 8
    Looks really great, can't wait to take a peek into the scene once it's released. I really love the clean art style. :D

    Just one small thing, in the end of the video those wheeled tables are a bit above the floor so they appear to be floating in air.
12467
Sign In or Register to comment.