Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Polygon Reduction Plugin Preview

Discussion in 'Assets and Asset Store' started by bibbinator, Mar 5, 2012.

  1. PrimeDerektive

    PrimeDerektive

    Joined:
    Dec 13, 2009
    Posts:
    3,090
    Do we get a discount if we already have atangeo balancer? :)
     
  2. DigitalGlass

    DigitalGlass

    Joined:
    May 12, 2009
    Posts:
    88
    Hey bibbinator,

    I can't seem to find any examples of balancer working with rigged meshes. When the lower poly meshes get generated, will it reproject the skinning onto the lower poly meshes from the original?
     
  3. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    Hi all,

    @Tasmeem I'm preparing my asset store submission today/tomorrow. The asset store requires undo for everything which is mostly done, but there's a couple of tricky operations where I generate assets that aren't undoable so I need to provide a way to "revert" a Cruncher model to a non-Cruncher one. Not difficult but needs a few hours. Also writing a simple manual and tutorial, and preparing a new, animated sample model for tutorial/demo.

    @PrimeDirective We are launching the tool at a discounted price of $100, so there's no discount at this time if you already own Balancer, sorry :)

    @DigitalGlass Balancer doesn't work with rigged meshes out of the box, which is where my plugin comes in: I fully support multi-material, rigged, animated meshes with more than 65,000 verts (or if it doesn't work it's a bug) :)

    Cheers,
    Brett
     
    Last edited: Sep 2, 2012
  4. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Hi Brett,

    Have you done tests with dynamically generated 2.000.000+ faces meshes inside Unity? Can your tool handle that without memory issues etc?
     
  5. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    Hi Raoul!

    I haven't tried that yet. But if you want to PM me a link for such a model I'd be happy to try it out.

    Cheers,
    Brett
     
  6. janpec

    janpec

    Joined:
    Jul 16, 2010
    Posts:
    3,520
    Oh 100 dollars is quite a lot, seems like i will have to wait till next month for purchase since i am quite empty at the momment.
     
  7. DigitalGlass

    DigitalGlass

    Joined:
    May 12, 2009
    Posts:
    88
    100 dollars is a steal imo considering the number of hours it will save you. Especially since it works with rigged models :) I am extremely impressed by that feature. You have my money when this is out.
     
  8. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Hi Brett,

    It is not a physical mesh available in the assets folder. This is about dynamically generated meshes inside Unity and the API code you sent me a while ago. I wanted to test this on the beta but it seems that version no longer works, is that right or am I doing something wrong? I get the message "“Failed to start plugin, aborting".

    It seems you are about ready for release, and it would be awesome if your tool would work in my project but I just had like to be sure it will....
     
  9. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    Hi Raoul,
    Okay, gotcha. Yeah, I was using a temporarily licensed Balancer plugin so that's why it expired. The release of the Asset Store plugin is forthcoming. I found a bug while testing my tutorial mesh, so fixed that today. Now back to the tutorial itself :)

    But back to your original question, it should work with a 2 million polygon mesh, but not interactively. You'll have to call the plugin API and wait for the data to come back. A few seconds if lucky, up to maybe 10 seconds. Meshes with 50k polygons or less can modify in realtime, 50k-100k updates about 1 FPS so it's okay too. But 2 million would definitely take some time.

    Cheers,
    Brett
     
  10. raoul

    raoul

    Joined:
    Jul 14, 2007
    Posts:
    6,722
    Thanks! Hope you will include some API tutorials as well, I remember having to restart Unity after every API call or so, so obviously I must have been doing something wrong...
     
  11. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    That's weird. I use the same API. The initial version won't have a tutorial on the API, if I delay this any longer people are going to start posting hate mail ;-|

    Maybe we can write a tutorial together or blog post or something...
     
  12. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    Hi,
    I prepared a simple tutorial video of the tutorial included with the Asset Store package. You can see it here:

    YouTube video here:



    Cheers,
    Brett
     
  13. janpec

    janpec

    Joined:
    Jul 16, 2010
    Posts:
    3,520
    Simple to use, effective, and live preview ... couldnt get any better.
     
  14. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    @janpec That's a nice quote :) Thanks!
     
  15. p6r

    p6r

    Joined:
    Nov 6, 2010
    Posts:
    1,158
    I have stopped some projects to wait for your plugin...
    Hope it will work perfectly on my 3D models which actually have too many vertices to play with.

    6R
     
  16. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    I just submitted to the Asset Store :) Fingers crossed it makes it through first time.

    I'd like to thank all the beta testers for your help! And I'd also like to thank everyone for their patience. I didn't think it would take so long to get this thing to this stage.

    Cheers,
    Brett
     
  17. atmuc

    atmuc

    Joined:
    Feb 28, 2011
    Posts:
    1,151
    with your plugin, is it possible to bake high poly details as bump map like blender does, and use it with low poly?
     
  18. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
  19. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    @atmuc Sorry, not possible. This plugin just reduces geometry.
     
  20. ZoomDomain

    ZoomDomain

    Joined:
    Aug 30, 2012
    Posts:
    150
    Can your reduction process merge triangles based on the angle between them and their size?

    I ask because it always amazes me that there isn't a SINGLE decimator available that can automatically take a cube made of for example 50 or 2000 polygons, and reduce its size down to just 12 polygons.-What that also implies is that for all other models also, it doesn't take into account the importance of the polygons properly!

    What a really good polygon reduction programme might do is the following-

    1-take away all polygons that are on the same plane as a polygon next to them.
    2-slowly reduce polygons according to their adjoining angle, and preserve polygons with the highest angles for example teeth ends.
    3- measure the areas wit the model with the most angle changes per volume, and areas with angle changes that add together to make protruding structures and try and preserve them as much as possible
    4-don't apply 3 large polygons to represent the entire back, flank, or side of model, when the model has 2000 polygons! The program should definitely check the length of a potential new polygon and only making a new polygon if the length is something like 1/10 of the total model length.

    As far as I know, no other programs including yours have done the optimisations number 1 and 4. Please tell me why your algorithm makes 3 polygons for the flanks and back of a 2000 polygon model? and his arms are flat!

    and would your program be able to decimate planar surfaces properly? for example a procedurally generated tower block with lots of coplanar polygons?
     
    Last edited: Nov 20, 2012
  21. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    @ZoomDomain

    Basically Cruncher does exactly what you said. At each step of decimation it determines which vert could be removed that would have the least impact on the mesh in terms of shape while maintaining boundaries such as material boundaries so that textures have something to pin the edges to. So edge angles, etc. are taken into consideration.

    For my internal testing I in fact created a cube with more than 65K verts. It didn't reduce to 12 polygons, but it came pretty close...

    Cheers,
    Brett
     
  22. ZoomDomain

    ZoomDomain

    Joined:
    Aug 30, 2012
    Posts:
    150
    @bbubbinator That's all right, cool, seeing as you have a brilliant decimation algorithm that works automatically within unity, do you think it would be very useful for users to have a fully automated LOD management tool, that can automatically get all the prefabs in a project, make multiple copies of each of various levels of detail using your algorithms, and automatically manage the loading, the assignment of the different models into different distance steppings. It would avoid Indy game creators having to individually load and adjusts hundreds of prefabs into various versions, and have the advantage of them appearing in glorious full detail when you approach close to a particular mesh without having to spend long periods on managing the LOD, and also having fast rendering, all by automatically managing the prefabs within unity.
    I think it would be great because you could simply load your automated algorithms into the project, set the level of detail to a number of levels and a certain gradient, press enter, and it would manage the entire project with a better detail than they could possibly hope to do manually.
     
    Last edited: Dec 2, 2012
  23. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    I have explored this idea a bit via a "dashboard" feature. I might add this in a future release. For now my focus is on making sure it works perfectly for all kinds of meshes, and then probably next I'll add support for user hinting/weighting to influence the reduction process so you can specify areas to preserve more detail and areas where you don't need it.

    Thanks for the feedback.