Fixing Tessellation Seams in UDK

Tessellation in UDK

Tessellation is a great way to add organic detail to a mesh.
However even with matching UVs and pixel perfect line-up in textures seams will occur across meshes.

109.jpg

And here’s why the problem occurs and how to fix it.
UDK_Tessellation_Fix

Expand the models and have the displacement map taper off towards the end. The tesselated geometry will intersect creating a more natural looking seam. CAUTION!!!The geometry will lightmap based on the un-tessellated geometry which will produce some lightmap errors on the tessellated geometry. But at least there’s no seams 🙂

UDK_Tessellation_Fixed

Using Cloth Dynamics to Create Complex Meshes

Introduction
I needed to fill up an area with large piles of garbage for the project I am currently working on.
My first impulse was to model a couple of different bags and start piling them up into larger piles.
It wasn’t before long that the triangle count shot up exponentially and the drawcalls went through the roof even with batching enabled. I had to find a way to make them all one shape and eliminate any excess geometry that wasn’t needed.

The Idea
I decided to try and use Mayas nCloth functionality to generate a low-poly mesh for the piles.
This technique should work for any organic form where you have a pileup of multiple shapes.
In this case its garbage piles but it could be a rock slide etc.
First I created the pile out of the individual meshes adding variation through differences in hue, scale and rotation. I even enabled soft selection and helped some areas conform to the shape I had in mind.
Then I created a fairly dense plane and positioned it above the area.
I converted the pile to a collider and the plane into a cloth object then ran the simulation until the cloth had covered the pile. From there I retopologized and reduced the cloth, then transferred the normal information from the high poly pile. In the end I transferred the diffuse information to a new texture and applied that to the low poly pile.

Settings
A problem I encountered when simulating the cloth was that the points that made contact first would stretch and slide across the object. You need a cloth preset that is flexible enough to deform and slide into the creases but not stretchy enough that it loses its shape again.
I ended up starting with the burlap preset and then tweaking its Friction to 1000, Stickiness to 10000 and the stretch resistance to 0.01.
That way the points that have made contact will stay fixed while anywhere that there still is a gap, the mesh will stretch to fill them out.

Bellow you can find a timelapse of the stages of the process.

Playing nice with others, Maya to UDK workflow

Why?
I recently started a new side project and decided to showcase it in UDK.
Having only had minimum experience with UDK before, I decided to chronicle my learning experience in short mini tutorials focused on the issues I encountered and how I solved them.
I’m not claiming to be now, or ever, the end all be all authority on UDK. Anything found herein worked solely for me. If it works for you too, then that makes me happy but chances are there are a million different ways out there you could do things, many better than the ones demonstrated here.
Now, without further ado, how does scale work in UDK and how do I get my assets in-engine to be the right size.

Help!!!  my assets are HUGE… or tiny…
If you’re like me you have your modeling package set up in metric. You have your exported set up in metric and you’re happy. But once you brought that first asset into UDK you were either scratching your face on that characters toe or you where straining your eyes to even see your asset.
UDK does not use any conventional measuring system encountered in the real world. UDK uses Unreal Units. What are those?

A generic character in UDK is 96 units high. If we accept a six foot, 1.8m tall human as average height we can infer that 16 units equal one foot. If you come to this from the metric system and have been using Cryengine or Unity then that is the single biggest thing I want you to take from this. Feet are your friend.

Okay, we found ‘feet’, now what?!
First you will need to set your modeling package, in my case Maya, to think in feet.
You can do that by navigating to: Window>Settings/Preferences>PreferencesPost_001_Image_001_MayaSettings
then go to the Settings Tab and in Working Units set Linear to: Foot, then hit save.
Post_001_Image_002_ScaleSettings

After that I like to use Josh Buck’s UDK tools to manage my grid.
You can find them on his personal site here:
http://cgartistry.com/
It’s a free tool and it comes with all sorts of tricks.
You can set your grid divisions and create references at the click of a button.
Here I have created a cube that is 6 feet tall.Post_001_Image_003_6fMaya

Can I has Game Engine?
Now it’s time to export our efforts to UDK.
You can use either ActorX or Autodesk FBX. I’m using FBX and after I figure out what the best settings are I will be posting those in a future entry to this series.
Once in UDK you will need to import your asset into a package. I will be going into Packages in more detail in a future post but for now, follow this link to the official unreal forum for an explanation of what they are and how they work: http://udn.epicgames.com/Three/UnrealPackages.html

Here you can see the cube we exported inside UDK.
You can set the subdivisions in your grid to any number that us a power of 2.
Here it is set to 16 units and as you can see our 6ft cube fits exactly into the Unreal Grid.
Post_001_Image_004_6fUDK

I hope you found this post helpful.

Cheers