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

Cruncher - Polygon Reduction Plugin for Unity Pro

Discussion in 'Assets and Asset Store' started by bibbinator, Sep 4, 2012.

  1. Zufry

    Zufry

    Joined:
    Aug 23, 2013
    Posts:
    2
    I bought this plugin and tested with the dinosaur 3d model given in example. It works as it is explained in this tutorial.

    But when I try load bigger files around 100MB which created by Rhino, it does not load when I try to convert it using Cruncher Menu.

    Does this Cruncher has any restriction of number of triangle? Can you suggest me a way to use this Cruncher for big models with millions of triangles?
     
  2. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    @Zufry

    It should work fine. It might take some time with a lot of triangles, and you definitely should turn off interactive preview. If it's really not working, send me a PM with a dropbox link to the file and I'll take a look.

    Cheers,
    Brett
     
  3. Zufry

    Zufry

    Joined:
    Aug 23, 2013
    Posts:
    2
    Hi Brett,

    Thanks a lot for your quick reply.
    The real issue is this, I have added a model which is more than 100MB into the in to my scene. Then I Clicked "Convert Selection" menu from toolbar and the window comes. After selecting only 1 Level and any value for the target quality from 0-1, I clicked the "convert" button.
    Unity is not respond after that. I have waited more than 2 hours for any type of result. But no use. It never responded. Unity become usable after restart. But no LOD was created there.

    I have done the above task for several times. But same thing happened again and again. I will try to share the model with you. But I cannot sure it is possible. Please suggest me a way of overcome this issue.
    I am using MacBook Pro with 8GB Ram.
    I will be very thankful if you give me any suggestion for this.

    Thanks in advance.
     
  4. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    Hi Zufry,
    Can you send me a PM with a link to the file so I can try it and see what's going wrong? I'm still catching up after the holidays and have another person waiting for me to look at their model so it's a good time for me to debug this and see what's going on.
    Cheers,
    Brett
     
  5. gegagome

    gegagome

    Joined:
    Oct 11, 2012
    Posts:
    392
    I am having the same problem as the_gnoblin: CruncherPlugin.CruncherPluginManager.Startup (System.String licenseKey)

    Currenly using 4.3.2 with latest version of Cruncher
     
  6. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    Hi gegagome,
    I PM'ed you. Basically it looks like Cruncher isn't installed properly. Try restarting Unity. If that doesn't work, create a new empty project, import Cruncher from Asset Store and try the supplied model. If that doesn't work, PM me and I'll help you out.
    Cheers,
    Brett
     
  7. radiantboy

    radiantboy

    Joined:
    Nov 21, 2012
    Posts:
    1,633
    I did a little video showing how great the results are using Cruncher and Daz3D models!! I had this plugin for a while and now I realise its full power... got to love how terrorfying that thumbnail is, thats max quality decimation on a rather beautiful lady hahahah
     
    Last edited: Feb 1, 2014
  8. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    @radiantboy

    Awesome, thanks for posting this! One hint that will help: Use Cruncher to reduce the model as low as it can go with an acceptable shape, then go and adjust each child individually to fix meshes that penetrate the inner skin.

    So in your example, you could select the dress and adjust it's settings independently until it covers the body, then it would really work as the lowest LOD.

    Cheers,
    Brett
     
  9. radiantboy

    radiantboy

    Joined:
    Nov 21, 2012
    Posts:
    1,633
    Thanks! I get you, just upping the dress a tiny bit would have worked because it would just have covered up the skin. Thanks for cruncher :-D
     
  10. BigB

    BigB

    Joined:
    Oct 16, 2008
    Posts:
    672
    Does this work correctly with animated meshes ?
    Did you guys noticed a difference between this tool and Simpygon ?

    Thanks !
     
  11. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    @BigB

    Yes, it works with animated meshes.

    Cheers,
    Brett
     
  12. VIC20

    VIC20

    Joined:
    Jan 19, 2008
    Posts:
    2,687
    Sorry if that question was already answered before… does Cruncher support UV2?
     
  13. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    @VIC20

    Yes :)
     
  14. VIC20

    VIC20

    Joined:
    Jan 19, 2008
    Posts:
    2,687
    Ah that's great, I'm using balancer for years and due to the obj format this was a huge drawback.

    Any chance you will include combining meshes and creating texture atlases (for all UV sets and textures)?
     
  15. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    @VIC20

    Yes, it's something I have thought about doing. Currently I'm still exploring making this a full managed code solution so it works with all versions of Unity and potentially then at runtime too. But this is a logical feature request.
     
  16. radiantboy

    radiantboy

    Joined:
    Nov 21, 2012
    Posts:
    1,633
    hey guys Im trying to just crunch a certain part of my character, I only select the arms but when I run cruncher it does the entire model, not just the arms? Ive noticed faces look pretty ugly when decimated so I was thinking of decimating all the other stuff and leaving face with higher polys, but currently I cant do that due to this issue.

    Thanks,
    Gaz.

    EDIT: also even when I ask for 3 lods cruncher only produces 1, is there something special I need to do?
     
    Last edited: Feb 23, 2014
  17. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    @radiantboy

    The easiest way to crunch only part of your model is to crunch the whole thing with quality set to 1, then go in an select the children you want to crunch and give them custom settings.

    To produce multiple LODs, select the object in the project view, not scene view.

    Cheers,
    Brett
     
  18. hyunez

    hyunez

    Joined:
    Jan 25, 2014
    Posts:
    1
    Hi, just wondering if a resolution to this has been posted...
     
  19. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    @hyunez

    There are no major problems with Cruncher that are known except it can't create multiple LOD from a scene object (but can from a project hierarchy object). Cruncher is an "edge collapse" tool. This means it can only remove edges and collapse triangles, not create whole new shapes. So when a model doesn't reduce well it's usually because it has to many shape defining surfaces (many surface angles) or it's bad geometry (each triangle exported as separate entity so a single triangle can't be reduce) or double-sided materials (such as SketchUp default) which can't be reduce because the back face is still using the edge. In the later case it can be "fixed" by running tools in SketchUp to forcibly remove the invisible back faces, then it works fine.
     
  20. MrEsquire

    MrEsquire

    Joined:
    Nov 5, 2013
    Posts:
    2,712
    Hi Bibbinator,

    Any chance of cruncher update soon?
    Can we check the compatibility with the latest Unity3d version.
    Also I found for one of my prefabs when trying to Crunch it just freeze Unity.

    Also when crunching in a scene it seems to move my objects and have to put them back into place on the terrain?

    Regards
     
    Last edited: Apr 9, 2014
  21. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,459
    Update would be great. The last update has been ages ago.
     
  22. MrEsquire

    MrEsquire

    Joined:
    Nov 5, 2013
    Posts:
    2,712
    So far had no replies from the developer.
    Anyone know any related and updated tools on the asset store which do the same thing?
     
  23. iamsam

    iamsam

    Joined:
    Dec 22, 2013
    Posts:
    233
    Not associated with them, just a suggestion for an alternate plugin which seems to be cheap with a few additional things - https://www.assetstore.unity3d.com/#/content/12079
     
  24. uniphonic

    uniphonic

    Joined:
    Jun 24, 2012
    Posts:
    130
    GameDraw does some similar mesh optimization, among other things.
     
  25. ikemen_blueD

    ikemen_blueD

    Joined:
    Jan 19, 2013
    Posts:
    341
    Same here, I consider to buy Cruncher, but it seems like it's no longer updated :( Is Cruncher still being supported??? Any updates soon ???

    About your question, Simplygon, Balancer, Cruncher (using Balancer SDK), Vizup, GameDraw, Krabl Mesh Processor could do the job. After searching around the forums, Simplygon, Ballancer, Cruncher would be my top 3.
     
    Last edited: Apr 15, 2014
  26. Rajmahal

    Rajmahal

    Joined:
    Apr 20, 2011
    Posts:
    2,101
    I purchased Cruncher a month ago or so and have been using it extensively in the latest version of Unity and it seems to be working fine.

    That being said, it may certainly need an update but it does seem to be doing the job. I would certainly welcome some reply from the developer to let me know that it will be further supported in the future. I would hate to have spent $200 on a product that will not be supported in the future.
     
  27. Rajmahal

    Rajmahal

    Joined:
    Apr 20, 2011
    Posts:
    2,101
    I switched the build platform of my game that uses Cruncher to Windows Phone and I ran into some compile errors. I can provide these if needed. Will you be able to update Cruncher so that it will work with Windows Phone?
     
  28. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    Hi all,
    Sorry I didn't realize all these notes were here unanswered. The first notice ended up in spam folder and you don't get notices unless you visit.

    I haven't updated Cruncher because it works really well for the use-cases it covers. I have had some plans to add several features but when I asked around to some of the users they didn't seem interested. The one feature that people do want is to use Cruncher at runtime, but to do that I need to make Cruncher completely managed code as building it natively for so many platforms isn't workable.

    So let me hear from you all: what improvement do you want to see in Cruncher?

    Cheers,
    Brett
     
  29. niosop2

    niosop2

    Joined:
    Jul 23, 2009
    Posts:
    1,059
    The only thing missing for me is preservation of edge verts. Or marking verts to be protected via vertex color or texture mask or something.
     
  30. Rajmahal

    Rajmahal

    Joined:
    Apr 20, 2011
    Posts:
    2,101
    Can you explain what making Cruncher managed code means exactly? Explain the pros and cons versus the current system?
     
  31. Rajmahal

    Rajmahal

    Joined:
    Apr 20, 2011
    Posts:
    2,101
    One thing I would like would be being able to combine materials to reduce draw calls. I realize that's not cruncher's main function but it would be great to have a single solution for turning assets mobile friendly. I'd also like to have Windows Phone support. As I mentioned earlier, there's something in the Cruncher scripts that don't allow for Windows Phone builds .. perhaps because those builds use only a subset of the full .NET framework.
     
  32. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,459
    We've been asking for run time for a very long time. It would be very nice to have this feature added in the next update.

    Cheers.
     
  33. fanjules

    fanjules

    Joined:
    Nov 9, 2011
    Posts:
    167
    Yep, another vote for runtime - and still prepared to pay for it.
     
  34. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    @Rajmahal

    By managed code I mean to build the Cruncher plugin into an assembly instead of a native code DLL. If I did that, then in theory a single assembly (plugin) would run on all platforms and work in the Free version of Unity.

    This all sounds really simply: just enable the C++.Net compiler, tweak a few things and off we go. But the reality is it's not that simple because of the way the C++ is structured making heavy use of templating to generate the actual code. There's also going to be a performance hit in a big way.

    So right now there are basically two kinds of Cruncher customers:

    * One group is using Cruncher to reduce huge models they download from Google Warehouse, Daz3D, etc. that have high poly counts and they just want it to run somehow in Unity.

    * The other group has reasonably authored game models already and want to generate LODs easily without having to do it externally.

    The managed code solution mostly helps the second group, and doing this on iOS or Android at runtime may not perform that well.

    I'll try to have another update on this soon.

    Cheers,
    Brett
     
  35. mcmorry

    mcmorry

    Joined:
    Dec 2, 2012
    Posts:
    580
    Based on my experience with Cruncher I'd like to see an improvement in the reduction of low poly models. It works very well if you want to decrease from 20.000 to 2.000, but it didn't work for me when I needed to go from 1.000 to 500. A different tool (Simplygon) was able to do it properly.

    Simplygon also offer a bones reduction. It works pretty well, and would be great to have this in Cruncher.

    Also another feature that I'd like to have is the generation of billboards, as the last level of reduction.
     
  36. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    @mcmorry

    There's different algorithms to reduce. Cruncher uses edge collapse where it looks at the geometry and finds the point it can remove that will cause the least noticeable change in the model. This type of algorithm never creates new points or triangles. Other algorithms create new meshes to represent the model and these can therefore reduce a model much more because it can approximate the volume and shape.
     
  37. Rajmahal

    Rajmahal

    Joined:
    Apr 20, 2011
    Posts:
    2,101
    Thanks for the clarification. I fall into the second category as I purchase assets from the Asset Store that are usually pretty good and then use Unity's LOD system with LOD's created with Cruncher.

    What exactly does working at runtime mean? How would it differ from the current workflow? Sorry for asking so many questions but Cruncher is a critical program for me and probably the main reason I upgraded to Unity Pro.
     
  38. eric_kog

    eric_kog

    Joined:
    Mar 6, 2013
    Posts:
    11
    Hey Brett,

    We've been using Cruncher a lot and it works great, the primary issue we're running into is that our team uses both windows and osx.

    It seems like because you have separate compiled plugins for Windows/OsX we lose component connections when different team members make commits, or else only certain people can adjust cruncher settings.

    Otherwise, maybe making the quality slider a little more predictable. It seems like it's not really a precision slider and it jumps to predefined intervals. The other odd thing we were seeing was with Objects that had multiple separate sub-meshes, when you set the quality on the root object the sub-objects didn't necessarily inherit that exact same setting even when everything was starting from 1.

    Adjustments in those areas would be pretty awesome.

    Thanks!
    Eric
     
  39. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    @Rajmahal

    "Runtime" means that it could work in a deployed game. For me to create a version of Cruncher that can work on iOS, Android, etc. is a lot of work and not really maintainable. If Cruncher was a managed assembly though, then it would be a single plugin that could run on all platforms, even at runtime.

    @eric_kog

    Hmm, I hadn't considered that switching platforms would lose connections. I'll look into this. As for the numbers, the Quality setting is derived from looking at the number of "steps" of edge collapse possible. So it doesn't correspond to anything directly in the mesh, and the steps set the quality, not the other way around. I'll look into this though because it's possible there's a bug there I suppose if it looks like it's jumping to certain intervals.

    I'm at an airport waiting for a flight now, and have 7 more flights in the next week, so apologies for spotty replies...

    Thanks for taking time to post!

    Cheers,
    Brett
     
  40. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    Hiya,
    I don't have a Windows Phone with me so I can't look at this problem until I get back home around May 10th (I think I have a Windows Phone somewhere I hope).

    Apologies to those on Windows Phone having problems.

    Cheers,
    Brett
     
  41. Rajmahal

    Rajmahal

    Joined:
    Apr 20, 2011
    Posts:
    2,101
    No problem ... I'm building my game for Windows Store first so no rush on the Windows Phone issue.

    I apologies but I'm still a bit confused on the whole runtime thing. I've currently used Cruncher on my project to create LOD's and have deployed that game to both a surface RT device and an x86 laptop. The LOD's seem to be working in both cases. Is this not what you mean by working in a deployed game?
     
  42. niosop2

    niosop2

    Joined:
    Jul 23, 2009
    Posts:
    1,059
    He means doing the actual reduction at runtime instead of before hand in the editor. So if you were procedurally generating meshes, or loading them from file/web at runtime, you could generate the LODs while the game was running.
     
  43. Rajmahal

    Rajmahal

    Joined:
    Apr 20, 2011
    Posts:
    2,101
    Thanks for the clarification. In that scenario, would you still be using Unity's LOD system or would that replace it somehow?
     
  44. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    Nothing to do with LOD systems. Cruncher reduces polygons. If you want to hook them up to a LODGroup you can. Up to you :)
     
  45. Rajmahal

    Rajmahal

    Joined:
    Apr 20, 2011
    Posts:
    2,101
    Awesome ... sounds good.

    Quick question, once I've used Cruncher to create LODs of my models, do I need to keep the scripts in my project? I'm getting compile errors when building for Windows Phone and I'm wondering if I can just remove cruncher from my project for the Windows build now that I've created the lower polygon models.
     
  46. Griffo

    Griffo

    Joined:
    Jul 5, 2011
    Posts:
    700
    Hi,

    I've just gone to make a LOD and I got this error, tried a few times same erro, can someone please tell me what this means and how to correct it please, Unity Pro 4.3.4f1

    Thanks.

    Kevin.

    IndexOutOfRangeException: Array index is out of range.
    CruncherEditorPlugin.CruncherConverterWindow.UpdateConversion ()
    CruncherEditorPlugin.CruncherConverterWindow.OnInspectorUpdate ()
    System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
    Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:232)
    System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
    UnityEditor.HostView.Invoke (System.String methodName, System.Object obj)
    UnityEditor.HostView.Invoke (System.String methodName)
    UnityEditor.HostView.OnInspectorUpdate ()
     
  47. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    @Griffo

    Sorry you're having trouble. What steps did you do before the error came out? There's one sort of bug in Cruncher bug where if you try to make multiple LODs from an instance in the scene, whereas you can only make multiple LODs out of Project assets rather than the scene.
     
  48. Griffo

    Griffo

    Joined:
    Jul 5, 2011
    Posts:
    700
    @bibbinator

    Thanks for the reply, that work perfectly ..

    Thank you.
     
  49. Rajmahal

    Rajmahal

    Joined:
    Apr 20, 2011
    Posts:
    2,101
    Hi,

    I'm having difficulty getting the LOD's I've created with Cruncher working with Unity Pro's LOD groups for skinned mesh renderers. Here is the steps I've used so far:

    1 - Create an LOD on the original object that is a parent of the skinned mesh renderer. This creates a slider in the cruncher root component that I can use to lower the polygon count of the skinned mesh renderers parented to this object.

    2 - I created 3 duplicates of each skinned mesh renderer object parented to the object in step 1. I adjusted the slider values of the cruncher target components in each duplicate to create my 3 LOD's.

    3 - I then drag each skinned mesh renderer into the corresponding LOD Group in the parent object from step 1.

    What I find though is that at runtime, the skinned mesh renderer that is displayed is always the last one that I updated the cruncher target script on and not the right one as per the LOD group rules. It's really confusing and I really need to get this done correctly. However, I can't find any decent documentation on how to setup LOD's properly so i'm not even sure if I'm using it correctly. Can you please give me your thoughts?
     
  50. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    @Rajmahal

    Sorry you're having trouble. Did you manually create the LODs or did you create them via the menu option to convert an asset? If you click on the original asset in the project view (not hierarchy view) and run the conversion menu option, you should get a dialog to convert the mesh. Set it for 3 LODs, give each an approximate setting, then convert. You can now click on each one in the project view and adjust them (or drag each into a scene to get a better look while adjusting). Once you've done that, you should be able to link the project view LODs into your LODGroup and it should work no problem.

    If you're still having trouble can you Dropbox me an example? Just create a new project, import Cruncher and your model, do the steps you did to make your LODs and LODGroup, then zip the whole thing up and put it in Dropbox, PM me the link. I'll take a look tomorrow.

    Cheers,
    Brett