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!


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 Reply

    Fill in your details below or click an icon to log in:

    WordPress.com Logo

    You are commenting using your WordPress.com account. Log Out /  Change )

    Twitter picture

    You are commenting using your Twitter account. Log Out /  Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out /  Change )

    Connecting to %s