Home 3D Art Showcase & Critiques

Brushys Blog

I've been a long term lurker at polycount and I've finally begun to do a mass portfolio overhaul to push myself into the Games Industry. I'm using this thread as a way of documenting my progress and revealing some of my workflow in the hope that I inspire someone, like you all have inspired me :)

My History:
I've worked with CryEngine since the PreSDK days of CE2 (2007). I've been a member of INK for 2 years on/off and i'm currently helping the guys at Traction Wars out with a few assets for a WW2 Portfolio piece i'm working on. I've been modding since 2002 starting off on Counterstrike before moving over to Neverwinter Nights, Battlefield 2 and then to CryEngine. I've always used 3dsmax and for the past two years i've been using Mudbox for HP meshes.

My Plans:
I'll be creating small diorama pieces for my portfolio, showcasing my assets. Its my intention to create a WW2 diorama and a modern day street in Rome. While creating the above dioramas i'll be producing small blogs that explain my workflow with renders/screenshots. I welcome criticism and if at any point you'd like me to expand my explanations then feel free to ask.

Blog List:

Here is a list of my blog entries:

Replies

  • Brushy
    Options
    Offline / Send Message
    Blog Entry #1 - Grass Objects

    For the past two weeks i've been working on vegetation. A slow process considering i'm overhauling everything! But I thought i'd start on the obvious and make some new grass.

    grass_highpoly_blades_001.jpg

    Step 1: The workflow for making my grass is a little time consuming initially. You start off by making a simple grass blade (I made 3 height variations). You then draw some splines to create different blade shapes and then applying a pathdeform you can make realistic looking highpoly grass blades pretty fast. The end result being top left in the above image.

    Step 2: Next I arranged the grass blades into an arrangement that would work for a flat texture. Now the way i've designed my grass is to maximise its use is to allow the grass to have several unwrap layouts. Image 2 for example can be broken down into 3 grass objects, or it can use the entire grass texture as 1 longer plane. This allows me to use this grass sheet for grass patches but also small grass shrubs.

    Step 3: My final step in 3ds is to add colour gradients to each blade. I made 6 materials of different hues and colours, this reduces the workflow steps in photoshop and produces a more accurate diffuse bake. The mesh you see there is my dead grass variation, but I made several variations types allowing for more flexibility for the mapper. I bake the Diffuse, Normal and AO at 2048 and throw them into photoshop.

    Step 4: The final step in photoshop is to desaturate the colours and tweak the texture. I add very subtle light/darkness to the texture and will add some dirt etc if required. I repeat the above 4 steps and fill a 1024 texture sheet with different heights and colours of grass.

    grass_lowpoly_objects_001.jpg
    • 2 Mtls using 1x 1024x1024 diffuse texture (no spec/normal)
    • Small Objects - 40 Polys (1M wide)
    • Medium Objects - 225 Polys (2.5M wide)
    • Large Objects - 875 Polys (5M wide)

    Here's how the textures look ingame. To allow for better visuals I create 2 mtls and then duplicate the grass objects twice and apply a material to each. So i've made a green grass and a grey grass version. These materials can be tweaked depending on the environment/season etc so it allows plenty of variety for the mapper. I still need to create the grass shrubs from my texture sheet!

    grass_lowpoly_aboveshot_001.jpg.jpg

    Here's how the above grass objects look when you point the camera down to the ground. Flowers/plants are required to add variety, but i'm satisfied with the end look. The polys are a little steep, Crysis 1 grass patches were as high as 1600 polys! I will probably trim the polycount down a little bit once I make my final QC sweep.
  • Brushy
    Options
    Offline / Send Message
    Blog Entry #2 - Grass Terrain Texture

    So having got some nice highpoly grass blades, the next step was to make a custom terrain texture which the grass objects would blend nicely on, so here's the steps I took to create the grass from 3ds to the sandbox.

    grass_terrain_01.jpg

    Step1: Having spent the time to make the highpoly grass for my objects, I simply took the grass tufts I made and produced a few more variations. This would allow me to create a grass patch that I would then use for to form the actual texture.

    Step2: I then moved the grass tufts around to form a dense patch of grass, this took a bit of time as I wanted to ensure that the AO/Normal would bake accurately so I made sure that no grass blades passed through one another.

    Step3: Using a square plane as a base, I carefully moved the grass blades around the perimeter of the plane, copying the grass to the parallel side of the plane ensuring that when baked the grass would tile. A handy tip is to place one grass object in one corner, then instance that grass to each corner. Once that's done is just a case of filling in the left/top of the plane and instancing to the right/bottom. If further explanation is required, i'll add more depth to this stage!

    Step4: With the frame done, I then fill in the center of the plane with more grass, I try to vary it as much as possible with different scales and rotation directions. Once its finished I then make sure I then bake the grass from above, producing an AO/Diffuse/Normal and Heightmap. I'd advise adding a dirt texture to the plane as you then don't need to texture the dirt in photoshop, its been done for you.

    grass_terrain_02.jpg
    • 1x 1024x1024 Diffuse
    • 1x 1024x1024 Spec
    • 1x 1024x1024 Normal

    Here's how the bakes turned out. CE3 requires all terrain textures to be very desaturated to allow for the terrain layer colour to project through. It took an hour or two to get the mtl working as I intended. Trying to get the Detail and Distance textures to blend seamlessly takes some time!

    grass_terrain_03.jpg

    Finally here's how the finished texture looks ingame alongside a temp dirt texture.

    Here's a quick shot I threw together of the assets from Blog #1 and #2 in the same scene with a Crytek River Tree (will be replaced).

    grass_ingame_01.jpg
  • matsman
    Options
    Offline / Send Message
    Okay! looks great, especially the above image!!!

    But I have identified a few gaps in blog entry 1:

    1 could you please show your final texture
    2 could you show possibly some uv layout
    3 could you show some wires for those patches of grass

    Because I get all this... but I struggle to get nice natural looking grass, especially from above using this method most of the time.
    Thanks for reading, hoping you will add the above or post it in Entry 3 :)

    Then some critique or better material for thought:
    The grass texture in blog entry 2 looks to me a bit blotchy, expecially once you see it tiling. This is because it is a high detail texture with less thought going in about medium and long range detail like slightly offset colors, longer and shorter grass, how the shadows fall between the shrubs.
    I find that 2 (possibly 3) different textures that blend (closeby, far away and in between) carry the grass feel a lot better. That way you have control about what amount of detail is where and you can play with different colors as some sort of noise overlay, this makes the grass a lot less repetitive and a bit softer at larger distances.
    Also if possible try to get some sort of blending mask for your ground/grass blending... that usually makes everything a bit more natural looking.
  • sltrOlsson
    Options
    Offline / Send Message
    sltrOlsson polycounter lvl 14
    Great tut man :) Neat trick leaving a small gap between the straws like that.

    Something that i think you should adress is your top down texture though. You got some very defined patterns in there. Maybe something that's not showing in the final version, but you can clearly tell from the WIPs.

    Btw, 1k^ some some grass patches? Sounds a bit high ;)

    Looking forward for future tutorials :)
  • Joopson
    Options
    Offline / Send Message
    Joopson quad damage
    Love it! Keep it up. I already learned some stuff.
  • ZeroStrike
    Options
    Offline / Send Message
    ZeroStrike polycounter lvl 8
    This maybe seem like a simple question but why do some artists have a green BG for there grass/veg textures when they are using the alpha. I would think that it would be important to get ride of any white and make the rest transparent. Personal preference? Or is there a reason?

    Btw really nice job. I am doing some vegetation myself. Hopefully I can learn a thing or two here.

    Thanks. :)
  • Joopson
    Options
    Offline / Send Message
    Joopson quad damage
    Zerostrike, it's usually because of mipmapping. UDK and Cryengine (I believe) automatically produce different sizes for each texture, depending on how much space it takes up on the screen. As such, sometimes the alpha will screw up and show white, if the background isn't green. Unless you were talking about something else?
  • ZeroStrike
    Options
    Offline / Send Message
    ZeroStrike polycounter lvl 8
    Nope that answers my question. I have had that problem before. I solved that by bringing in my alpha alittle in my texture in photoshop. I guess that using the green BG make a more accurate alpha and texture. You can have more control of the LOD with the mip mapping.

    Thanks Joopson, didn't know about the mip mapping. Which is important for texturing in engine.
  • Brushy
    Options
    Offline / Send Message
    Hey guys,

    Thanks for the responses! I'm currently playing around with some pretty cool ideas in CE3 at the moment. I'll make sure my next blog entry goes into alot of depth (it'll need to).

    As a teaser, here's a quick texture test of an Ash Branch in CE3.

    ash_ingame_test_001.jpg

    I'll answer all of your questions and expand on my first 2 blogs this weekend. Certainly helps my motivation to see all these replies :)
Sign In or Register to comment.