If I said I was finished, I’d be lion.

After a lovely month in the UK, and some time in Ireland and the Netherlands, it’s been slow moving on the sub-d Unity project.

On the plus side, I have edge weighting “working” now!

Rawr

So that’s my old GoLion/Voltron model from Modo, but all I brought into Unity was the low poly mesh (on the left), and generated the two right models in C# in Unity using Catmull-Clark sub-division with edge weighting.

You can see that the higher LODs still keep semi-sharp edges, rather than just rounding out completely, thanks to the edge weighting.

Some of the things left to play around with:

  • Edge loop reduction on high lods (to make vert counts reasonable).
  • Support for subdividing all the other vertex data (normals, vertex colours, UVs, arbitrary additional vertex data)
  • Vertex positions are about 1% different to Modos. I’m presuming this is because I’m not using Chakin’s curve algorithm to alter edge weights per division (it’s the only part of the Pixar document I ignored, so it’s a fair chance that is it)
  • Create “mid” lods, where every Edge point and Control point has enough information to transition back to the appropriate position on the control surface, so that I can blend smoothly from one lod to another.
  • ***

    I might not go any further with this, but it has been a fun exercise.
    This sort of approach *might* be useful for non interactive structural meshes in levels.
    And probably not for much else (unless you’re living in the past, and targeting DX9 hardware, maaaaan) šŸ˜‰

    Honestly, OpenSubDiv is the way to go, I can’t wait for all the software I own to have it šŸ™‚

    One thought on “If I said I was finished, I’d be lion.

    Leave a comment