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

Batching Tools

Discussion in 'Assets and Asset Store' started by Ippokratis, Nov 28, 2011.

  1. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    $batchingtools.png

    Hi,
    Thanks for your interest in Batching tools !

    Batching Tools can save you time when you want to use batching.

    • Creates one combined material from many materials.
    • Creates one combined static mesh with one material from many meshes with multiple materials.
    • Creates one dynamic (skinned) mesh with one material from many meshes with multiple materials.
    Batching is a method to reduce draw calls by combining them. By using Unity’s batching you can make your games faster and more energy - efficient. To use batching, you should use shared materials i.e. more than one objects should share the same material. Batching tools helps you to create those shared materials, fast and easy. It also allows you to create combined meshes and combined meshes with bones ( skinned meshes ) for Unity free and Pro.

    Batching tools is a productivity tool. It helps you to produce results while staying in the Unity Editor saving time for artists and programmers.

    All operations are done in Unity editor, you can export meshes and textures to external apps, create texture atlases. Batched prefabs are saved in the Project folder for reuse in other scenes - projects. It supports lightmaps [ EDIT : not in 3.5 I am trying to solve this], 16 shaders, handles submeshes. Full source code is provided, so you can tweak the script as you need for your needs.

    You should note that batching is not a magic thing. There are guidelines on how to use it efficiently in the Unity site. Be sure to check them and also be sure to read the rest of the documentation before you purchase this product. Having said that, if you plan to use batching, Batching Tools can save you many hours of work and you have nothing to lose by grabbing a copy.

    [-EDIT- 05 July 2012 ]

    Batching Tools v1.45 is now available for purchase in the asset store.

    [-EDIT- 1 March 2012 ]

    Here is the updated documentation for v1.4

    View attachment $Batching Tools User Manual.pdf
    Or you can browse the manual on Scribd

    -Ippokratis
     

    Attached Files:

    Last edited: Jul 5, 2012
  2. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi,
    I decided to create a small FAQ that will hopefully clear some things up regarding Batching Tools.

    Q. Is Batching Tools good for mobile only ?
    A. Batching Tools is beneficial for every platform Unity supports, desktop, mobile and web. It speeds up production and helps you quickly optimize your rendering times.

    Q. Can Batching Tools help me since I have Unity Pro ?
    A. Yes. As a Unity Pro user, you can use BT in the following ways :

    • Use it to create shared materials for use with Unity static batching - occlusion culling or unity dynamic batching.
    • Use it to create combined meshes that will be seen as one, i.e a house made from different meshes - submeshes.
    • Use it to create skinned meshes for moving objects, so you get no VBO.Create performance spikes ( as is the case with Unity dynamic batching ).
     
    Last edited: Nov 10, 2012
  3. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi,
    Video section is not so grest because I now learn how to make videos and my command in English is not so good... Thanks for your patience

    Here is a video on Batching Tools v1.3 that shows the BTStatic mode.



    Here is a short video that briefly explains what is batching and why batching tools can prove useful.



    A short demonstration of batching tools.

     
    Last edited: Mar 4, 2012
  4. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    Do this batching tool also only batch max. 300 polygons?
     
  5. maart

    maart

    Joined:
    Aug 3, 2010
    Posts:
    82
    this is great, but we need more compatible shaders, and bumpmapping support
     
  6. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi,
    Batching tools in this version provide a fast workflow to create shared materials for the built - in batching system.
    So the answer is yes, it also only batch max. 300 polygons.
    With two notable exceptions : I use a custom shader for batching materials with diffuse and transparent difuse shaders.
    Those cannot be dynamically batched.
    Also, I have some prototypes running for custom batching, static and dynamic. They will be included in a future release.
    But :

    • Please do not make a purchase based on this expectation.
    • Be aware that as I add options, price will rise.
    Batching tools currently provide support for 14 shaders, including mobile/bumped diffuse and mobile/ bumped specular.
    If you wish support for a specific shader, please specify which one interests you. Most shaders can be batched with some compromises.

    Thanks for your interest, if you have others questions, feel free to ask.
    -Ippokratis.
     
  7. maart

    maart

    Joined:
    Aug 3, 2010
    Posts:
    82
    bumped difuse and bumped specular shader support would be nice
     
  8. immFX

    immFX

    Joined:
    Mar 20, 2010
    Posts:
    110
    Thank you for such a great tool, Ippokratis.

    P.S. synadelfikous xairetismous apo Athina :)
     
  9. CodeCody

    CodeCody

    Joined:
    Apr 27, 2010
    Posts:
    440
    Bravo Ippokratis! This is a excellent tool!
     
  10. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Maart
    Thanks for the feedback, I 'll try to include them in a future release.

    immFX
    King
    Thanks for your kind words, I hope that batching tools will prove useful to many people :)

    I also uploaded a small video showing Batching Tools in action, check it out !
    -Ippokratis.

     
  11. imtrobin

    imtrobin

    Joined:
    Nov 30, 2009
    Posts:
    1,548
    Nice. can you make it combine at runtime instead of editor?
     
  12. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi imtrobin,

    Thanks for your feedback. I have found that performing those operations in runtime is trivial
    compared to the complexity of creating prefabs ( faster too, sicnce yo do not have the overhead
    of saving the assets, still takes quite a few cycles though ). The problem is that using this approach, you load the application with unnecessary work, that can be done beforehand. I have not included this option because I have never thought of any potential benefits.

    In one of the presentations of Unite 11, I think the Imagination Technologies one, the spokesman
    explained that the more things you do in the studio, the best. If you bake as much info as possible
    you offload the application and make it faster, since it has to process less data. The idea was something like:

    As I understand it, since combining materials can be done in the studio, one should opt to do so.
    If you could describe me the potential uses runtime combination of materials has, I can consider including
    it in a future release.

    Also, I provide the source code, so it is possible to make such modifications by yourself earlier if you wish so. If you have any other suggestions, I am curious to hear them, as well as the possible uses of combining materials during runtime.

    Thanks,
    -Ippokratis
     
    Last edited: Dec 4, 2011
  13. imtrobin

    imtrobin

    Joined:
    Nov 30, 2009
    Posts:
    1,548
    When you making customizable parts for characters for large worlds (MMO), then combining at runtime is needed.
     
  14. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi imtrobin,

    Indeed !
    I haven't thought of this, thanks for your feedback.
    It is very useful, thanks for opening my eyes :) I 'll try to add it in a feature version.

    Update : I have made a minor GUI change, as well some new graphics for supporting the package. v1.1 is submitted and is pending review.

    Batching Tools v1.2 is under development.
    Desktop Bumped Specular and Desktop Bumped Diffuse are working. I am rewriting the documentation too. v1.2 will be submitted for review until the end of this week ( writing documentation and making video tutorials is killing me, because I never did it again and I am very unhappy with the results so far but I keep on trying ).
     
  15. GWPGearWorx

    GWPGearWorx

    Joined:
    Apr 29, 2007
    Posts:
    336
    This is a cool looking tool and a huge time saver, It is now on my purchase list once 1.2 is released. Great work! I look forward to using it!
     
  16. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi GWPGearWorx,
    Thanks for your kind words :)
    Feel free to jump on board whenever it seems right to you.
    -Ippokratis
     
  17. Airship

    Airship

    Joined:
    Sep 10, 2011
    Posts:
    260
    This tool is really useful to me.

    I am using it to automate the texture atlasing process for big levels. Instead of planning out a texture atlas beforehand I now can focus more on creating the level artistically than worry about fitting everything in an atlas, adding/ subtracting textures etc.

    It's very cool to be able to bring my scenes into Unity, and use the Batching Tools to combine all the textures into an atlas and then re-export the mesh and texture back into my 3D app, thus skipping a painful manual step.

    I recommend this to 3D artists, not just people looking to take advantage of static/ dynamic batching inside Unity.
     
    Last edited: Dec 5, 2011
  18. Salx

    Salx

    Joined:
    Oct 4, 2011
    Posts:
    23
    One quick question I had about this. I'm wanting to reduce my drawcalls as much as possible (building for phones for my project), but I noticed that you hit 'static' every time you went to show the draw calls being reduced. Does this not work for moving objects?
     
  19. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    @Airship :
    Airship is the person who gave me the idea for this script, the first to support it financially and the first beta tester. Thanks a lot for the support !

    @Salx :
    It works, just use one of the supported Mobile shaders.
    If you have some models that can be dynamically batched ( vertices < 300 using a Mobile shader ), send them over for a demonstration. Please have a look at the updated documentation in the first post and if you need further clarifications, do not hesitate to ask.
     
    Last edited: Dec 5, 2011
  20. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi,

    @Salx
    The best way I can think of for finding out if an object can be dynamically batched is to create two instances of it and see if they are batched. Besides that, keep in mind that some Desktop shaders do not support Unity built - in dynamic batching with materials combined using Batching Tools. Check the table at page 7 in the updated docs ( first post ). Just use the respective Mobile shaders instead.

    @Those who bought Batching Tools so far :
    Thanks for the support
    Your feedback is important for me. Feel free to communicate with me either here or via pm for every little thing - idea that occurs to you. What are your annoyances from this script. You will get a script that is best suited to your needs and I will own a better product.

    -Updates-
    I have submitted Batching Tools v1.2 that supports Desktop Bumped Diffuse and Desktop Bumped Specular shaders too ( 16 shaders in total ). It should appear in the next days at the Asset Store.
    The updated and re - written documentation is in the first post.
    I plan to release next version in the next two weeks, which will include at least one custom Batching mode. Until then I will not update the video tutorials ( since I 'll have to rewrite them for the new version ).
    If you have some ideas on what tutorials you would like to see, please share those ideas with me.

    Thanks,
    -Ippokratis
     
    Last edited: Dec 5, 2011
  21. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi,

    -Update-
    Two images from the new GUI I try to make, one with options folded and another with options unfolded :
    $Screen shot 2011-12-07 at 12.15.55 PM.png
    $Screen shot 2011-12-07 at 12.08.04 PM.png
    I also implemented a mesh export option, which allows you to save mesh as an .obj file, along with the textures and the .mtl. It uses a standard system file save dialog.
    I spend one morning but I managed to reduce the number of clicks needed for the Reset operation :) Now, if you wish to reset the original objects you just click their reset button. The combined objects will be automatically deleted ( previously you had to select and delete them manually ).

    Those options will be added in the next version.

    I would like to thank Keli Hlodversson for providing the ObjExporter script on Unity wiki !
    It consists the base for my mesh export solution.
     
    Last edited: Dec 7, 2011
  22. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    $Screen shot 2011-12-09 at 12.52.25 PM.png

    Batching Tools v1.2 is available at the asset store :)
     
  23. maynull

    maynull

    Joined:
    Oct 26, 2011
    Posts:
    29
    Hello, just a quick question,

    I want to use Unlit Transparent shader on mobile. Can this tool batch unlit transparent shaders? Or are there any custom shader you wrote for it?

    Or any shader suggestions that's compatible with this tool ?

    Normally even my clones that have Unlit Transparent shader doesn't batch somehow...

    Thank You
     
    Last edited: Dec 9, 2011
  24. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi mynull,
    Thanks for the interest in Batching Tools, Unlit Transparent is supported by Batching Tools.
    Here is a table that describes the supported shaders in detail :
    $Screen shot 2011-12-09 at 6.51.16 PM.png

    This table is also available, along with more info, in the Batching Tools User Manual in the first post.
    From your post, I suppose that you are interested in dynamic batching.
    If you create an empty scene with two copies ( clones ) of your gameobject and it is batched when you click the Play, this means that Unity built -in dynamic batching supports your current shader - mesh combination. If that works, Batching Tools can help you create shared materials.
    If that does not work, you can either:


    • Wait for a future version that provides custom dynamic batching modes ( at a higher price, please do not purchase based on the expectation of this feature, but for what it currently offers ).
    • Use another solution for dynamic batching ( i.e this one ).
    • Try again the same scene when Unity 3.5 comes out ( I speculate it will greatly improve dynamic batching ).
    If you need more clarifications, feel free to ask.


    -Update-

    I am currently developing :

    • custom static batching for Unity Free ( near end ).
    • better submesh handling ( one mesh with many materials = one mesh with submeshes ).
    When those features are ready, I will release v1.3 ( perhaps within a week ).
    Thanks for your support,
    -Ippokratis
     
    Last edited: Dec 9, 2011
  25. Dreeka

    Dreeka

    Joined:
    Jul 15, 2010
    Posts:
    507
    Hey,

    This tool looks fantastic!
    I would like to ask for you opinion. I am porting a game to android, and my performance is around 15 fps. Profiler shows that rendering takes 50%-70%. My draw calls are between 60-120, and in a scene, there are 6-7 different type of objects with the same kind shadder (mobile/diffuse), but with a different texture. However, some objects have 2 materials attached to them (with the same shadder).

    Also, in the levels, each type of objects has many instances, for example, a road object is placed 15 times. There is also one problem. All of my models use different tiling in all of my levels (75).

    What do you think, with your tool, can I improve the performance to at least 30-35 fps?
    Or in my case, should I recreate the levels in a modelling application to a single large mesh, then import it to unity, and add one mesh collider to it?
     
    Last edited: Dec 11, 2011
  26. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi Dreeka,
    Thanks for your kind words and your interest in Batching Tools !

    Fps = 1000 / time in ms. 20 fps = 50ms per frame, say 60% of it for rendering = 30ms for rendering. There is an overhead that cannot be improved, say 5 ms (depends on platform). Some of the remaining 25 ms could improve. To achieve 30 - 35 fps, by improving rendering times only, you need to lower these 25 ms to 5-8ms ( 20ms for the rest, 5ms for rendering overhead, 5-8 ms for rest of the rendering = 30-33 ms = 33 - 30 fps).
    Seems doable.

    I believe the new version of Batching Tools I am working on now can give you much better flexibility and lower development time. It provides the same results you wish to achieve in the modelling tool and has a " one click " approach.

    No workarounds on this one, tiling and uv overlap are not supported and give artifacts. You have to create the geometry in such a way so no tiling or uv overlap arise. As I see it, this extra work can make the difference between a game that provides a nice user experience and a game that doesn't. This is my biased opinion of course :)

    In any case, either you choose to purchase Batching Tools or not, thank you for the interest and best luck with your project !
     
  27. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi,
    New version development ( Batching Tools v1.3 ) is finished. In a few days it will be available on the asset store.

    Batching Tools v1.3 Release notes :

    - Major GUI Update : The gui is redesigned, it is more functional now.
    - BTStatic custom batching mode for non-moving objects for all Unity licenses ( Free, Basic, Pro ) added.
    - One click swap between batching modes.
    - One click revert back to Original Objects.
    - Mesh Export ( Thanks to Keli Hlodversson for the ObjExporter script )
    - New user manual

    I will upload the updated docs tomorrow at the first post of this thread.

    Roadmap : Batching Tools v1.4 will include

    -BTdynamic : custom batching mode for moving objects
    -Better expand submeshes handling
    -Better mesh naming
    -When those features are implemented, price will rise at 30$.
    -Intended release date : January 15 - February 15.

    Currently, for Batching Tools v1.5, I am considering ( not a commitment, just some thoughts )
    - user suggestions
    - runtime combine
    - character combine with animations
    - RageSpline support
    - Texture Packer support


    Many thanks to those who have contributed with their feedback, I believe that Batching Tools becomes a better tool thanks to you !
    -Ippokratis
     
    Last edited: Dec 19, 2011
  28. maart

    maart

    Joined:
    Aug 3, 2010
    Posts:
    82
    cool Mesh Export! can it also combine multiple mesh into one?
     
  29. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi Maart,
    Yes, this is possible. It also saves them as a prefab, so you can use them again.
    You can also export them as an .obj for further manipulation in a 3d modelling tool.

    If you need more info, or you have some suggestions, feel free to ask.
    -Ippokratis
     
    Last edited: Dec 14, 2011
  30. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi,
    Thanks for your support in Batching Tools !
    Today I have reached the goals for December ( 10 units ) which is great !

    Thanks to a ninja beta-tester, who spotted a bug, Batching Tools v1.3 will be released in this week, with that bug fixed, and more complete:
    -With better submeshes handling.
    -With better hierarchy preservation.

    I will also try to make a video demonstration of Batching Tools in action, optimizing the rendering times for M2H Marble mini game ( available free of charge at the Unity Asset Store too ).

    Thanks again for your support,
    -Ippokratis
     
  31. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Thank you for creating Batching Tools - I think this is a really neat addition to the Unity toolset. I was wondering if it would be possible to also support another use case, though: I have some models which have a single mesh but multiple materials assigned (also with multiple textures). Would it be possible to programmatically combine those into one material? Basically, I'd think that all that needs to be done is use the same method for creating an atlas for multiple objects to use an atlas for two parts of the mesh of a single object ... but I might be missing something.

    What do you think? Would that be possible?
     
  32. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi Jashan,
    Thanks for your kind words and for visiting this thread !
    Yes, the functionality you describe is implemented.
    There is a button called Expand Submeshes in the Options, for this purpose.

    To my knowledge, a gameObject with one mesh and many materials is the way a mesh with many submeshes is represented in Unity. Suppose you have a gameObject, GO, with a mesh and two materials. If you select it and click the Expand Submeshes button, 2 new gameObjects GO1 and GO2 will be created, each having a mesh and one material. GO1 mesh will have the vertices, triangles, uv etc of the first submesh of the GO gameObject and the corresponding material. Similar for GO2.

    Many explanations for one click :)

    Further, you select those two new gameObjects GO1 and GO2 and click the Combine Materials button. That's all. Of course, all restrictions apply as described in the manual in the first post ( e.g both materials should use the same shader to combine them ). So this is ( currently ) a two -click operation ( I plan to make it one -click in the feature too, but it is low in priorities now ). Your question confirms me that I should work more on the video tutorials, it is not so evident yet what this tool does.

    If you have any more questions, I 'll be happy to answer them.
    -Ippokratis
     
    Last edited: Dec 18, 2011
  33. 3Duaun

    3Duaun

    Joined:
    Dec 29, 2009
    Posts:
    600
    Great work on Batching Tools!!

    Are there any thoughts yet on supporting(if at all possible) meshes that have the meshRenderer component? AKA Meshes with animated rigs/skeletons/armatures/etc
     
  34. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi zhx,
    Thanks for your kind words :) Actually, you together with the other people at the Bob script thread helped me a lot to shape this product.
    You know that there is a working prototype for this since this Spring :) Yes, I certainly intend to add this, as noted to the Roadmap above in the next release ( v1.4 ). To my knowledge, in Unity what you describe is represented by skinned meshes. I am preparing BTDynamic, a custom dynamic batching mode for this purpose. Intended release date : January 15 - February 15.

    If you need any other info, or wish to suggest something feel free to do so.
    -Ippokratis
     
  35. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Hi Ippokratis,

    Ah - I had actually seen that but unfortunately, it's not really what I need: I need the object to remain a single object and just the two materials to be "merged" into one. I might run into another problem, though, as it is indeed a SkinnedMeshRender which is part of rigged and animated character.
     
  36. crafTDev

    crafTDev

    Joined:
    Nov 5, 2008
    Posts:
    1,820
    Cool tool, when you have skinned meshes to batch, I'll jump in. :)
     
  37. PrimeDerektive

    PrimeDerektive

    Joined:
    Dec 13, 2009
    Posts:
    3,090
    +1
     
  38. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi,
    @jashan
    This part is doable, needs two discreet steps, results to what you describe.
    Indeed, this is not possible at the moment. Rigged and animated character support is planned, it is not available yet though.

    @jrricky
    Hey, thanks for the "cool tool" ! Also, thanks for helping shaping this one to its present form, when it was still called Bob script :) Take your time, no rush to jump in but be aware that in its current form, Batching Tools can handle quite well static geometry ( still making those video that shows it ).

    @legend411
    Hi there, thanks again for the assets provided ! There is a high demand on skinned meshes, the potential of skinned meshes batching is the reason I started this script . And I want to provide it soon too. I make haste slowly.

    Thanks for your interest,
    -Ippokratis
     
    Last edited: Dec 20, 2011
  39. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Version 1.3 is pending approval.

    Batching Tools v1.3 Release notes :

    - Major GUI Update : The gui is redesigned, it is more functional now.
    - BTStatic custom batching mode for non-moving objects for all Unity licenses ( Free, Basic, Pro ) added.
    - One click swap between batching modes.
    - One click revert back to Original Objects.
    - Mesh Export ( Thanks to Keli Hlodversson for the ObjExporter script )
    - Better expand submeshes handling
    - New user manual

    The user manual in the first post is updated to v 1.3
     
  40. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    A video on Batching Tools v1.3 and the BTStatic mode

     
  41. crafTDev

    crafTDev

    Joined:
    Nov 5, 2008
    Posts:
    1,820
    Ippokratis, yea remember it being called The Bob script which has come very far...

    Did you say the price is going to change when skinned batching is added? If so, it's best to grab now before the price hike?
     
  42. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi jrricky,
    Yes, this is correct.
    Price will hike to 30$ from the current 25$ in the next release, which is expected in the 15 January - 15 February period. If what Batching Tools can do now is useful to you, go ahead and buy it now. If not, wait until you see implemented the specific functionality you wish to see. I believe that in its current form, Batching Tools provides some decent options for static geometry. I also believe it is not rational to ask a leg and an arm for any product, so no more price bumps are coming after this one.

    Some notes on the last video :

    • The artifacts observed are due to uv overlapping, as I found later yesterday. I suck at creating 3d assets, but I will try to create a new demo with correct uv. Uv overlapping and offset brakes the lightmaps and normal maps too, is a no-no thing.
    • Since the overhead is not modifiable, the Camera.render improvement in ms is far beyond 50%.
    I.e ​
    • before BTStatic : 28ms camera.render - 10ms overhead = 18 ms ( this is what can be improved )
    • with BTStatic : 14ms camera.render - 10ms overhead = 4ms, ( the improved time )
    • 14ms ( the improvement )
    It is an over 4x improvement of what can be improved.​
    • The scene in video is tiny, so it makes sense to bake everything together. In larger scenes, you should bake groups of objects together, not everything. Experiment to find the best combination.

    Regarding Batching Tools v1.3 :

    • I am doing some corrections on the manual ( thanks again duckets and LittleAngel ). An updated version will come soon at the first post.
    • You should Bake the combined objects to UnityBatching or BTStatic mode before you build.
    • I am going on holidays from tomorrow until January 8. During this period I will occasionally check what is going on in this thread but I cannot provide code fixes.

    Regarding Batching Tools v1.4
    Batching skinned meshes is the easy part. The difficult is to make it intuitive and useful. I am very satisfied from the sales so far but I am not satisfied at all from the feedback ( only two out of eleven users provided feedback ).

    • Does the current implementation works for you ?
    • You bought Batching Tools and placed it on a folder ?
    • Is there something that bugs you and you do not wish to mention it because you find it minor ?
    • In terms of usability, does the advertised "one-click" approach works ?
    I do care to provide new features but higher in my priorities is to provide a useful tool, in terms of "ease of use". For me, this is the top priority.

    Custom dynamic batching will prove useful

    • in some cases where the vertex count of each "actor" is higher than 300 vertices ( i.e a formation of 5 enemy ships that are more than 300 vertices each )
    • when you have one animated character with more than one draw calls ( if all the materials share the same shader )

    Large crowds of high-poly animated characters are out of question. They require custom GPU skinning, access to the Graphics class ( Pro only ) and sincerely, this feature is beyond the 25 $ price range. It belongs to the 1000$ price range, for a good reason ( low level GPU hacks required, small volume of sales, e.t.c ). If you make the characters low to very low-poly, there is a chance to see better performance with custom dynamic batching but do not expect to see your iphone screen flood with animated characters. If you wish this feature, find a very gifted GPU - Unity 3D expert and pay what he asks for it. I believe it is better to clear out things early, I do not wish people to purchase this product based on wrong expectations ( as said several times before, for preserving my sanity ).

    Thanks for your interest,
    -Ippokratis
     
    Last edited: Dec 22, 2011
  43. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi,
    I have to apologize for the delay of batching tools v1.3,
    The build I submitted was declined because I misplaced the Batching Tools item under the gameObject menu, instead of placing it under the windows menu. I cannot submit a new build until January 8, because I am on holidays and I have no access to my desktop. All I have to do is to change one line of code, it is going to be the first thing I will do when I get home. I am sorry for this inconvenience.
    Thanks for your understanding, marry Xmas and happy new year,
    -Ippokratis
     
  44. crafTDev

    crafTDev

    Joined:
    Nov 5, 2008
    Posts:
    1,820
    Hey Ippokratis, I am ready to bite the bullet and buy this right now, but I need to be certain that it will work in Unity 3.5 Beta, otherwise I will wait until Friday. I just wanted to see if I could make use of this for the Unity contest, but if I can't ill wait...
     
  45. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi jrricky,
    The version that is currently available in the asset store is v1.2, make sure you understand what it implements before you buy it ( no BTStatic ). Version 1.3 as mentioned before is not yet released and will not be released until mid January. Also, until January 8 I can provide limited assistance ( I have no computer, just a local web cafe to respond to emails ) due to the fact that I am on holidays :) Using Batching Tools with Unity 3.5 will give you a warning ( it came out while I was packing so no extensive testings done yet ) but other than that it should work without problems ( The warning will be solved as soon as I get home, I dislike warnings ). If you think it is going to help you now, go for it, but my opinion is not to buy in rush, take your time to see if what you buy suits your needs. In any case, I will be happy to help you more after January 8.
    Thanks for your interest,
    -Ippokratis
     
  46. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi,
    I submitted version 1.3 again, with a few changes :
    -To launch Batching Tools you select Menu -> Window -> Batching Tools ( as recommended by Unity Asset Store team ).
    -Fixed a 3.5 warning.
    -Updated the docs ( you can check them at the first post ).
    It should show up in the following days, thanks for your patience.
    Also, many thanks to Tommaso Lintrami for his kind words in his asset store review :)
    -Ippokratis
     
    Last edited: Jan 9, 2012
  47. FiveFingers

    FiveFingers

    Joined:
    Oct 15, 2009
    Posts:
    541
    This is a definitive tool for Unity Basic users, especially on mobile platforms.

    It has only a little downside, if your meshes are bigger than dynamic batch limit (around 300 vertices) you will need to combine them to a single huge mesh if you want a single draw call.

    This means you need to use either the Unity's Standard Assets "CombineChilren" script at runtime on the whole bunch of shared material meshes, but this will kill previous lightmapping, but if you dont need lightmaps in your project, this is the best approach, as it allows you to do fast level editing/cloning without to worry about almost anything.

    or

    The furnished CombineObjects scripts which is precalculated, will bake all your mesh with same material in a big one. This approach has the down side of not being able to edit the position and scale of your objects AFTER you baked them into a single mesh. But will run great with lightmaps !

    Just take care and have a backup of your scene before to make the second baking !!! )

    Well, we could just start to call this: Static Batching for Unity Indie ;)
     
    Last edited: Jan 11, 2012
  48. crafTDev

    crafTDev

    Joined:
    Nov 5, 2008
    Posts:
    1,820
    Hmm...I was going to buy, but I realized that Batching Tools is closed(?) to specific shaders...I am using custom stuff like Sprite Manager 2s sprite vertex shader and my own custom shader...I said damn... :-/
     
  49. Ippokratis

    Ippokratis

    Joined:
    Oct 13, 2008
    Posts:
    1,521
    Hi,

    Batching Tools v1.3 is available on the Asset Store !

    Litobyte Softworks :
    Thanks for the feedback,
    In non - Pro licences, for static meshes, this is the only route possible since Static Batching is not available. I just wish to clear some things :

    • -The advantage of using Batching Tools is that you create a combined mesh and a shared material from many meshes with one click.
    • -You can opt to create many small groups of gameObjects, if the vertex count is high, it is more beneficial than creating a huge mesh. Draw call count is not the only parameter that influences frame rate, what each draw call contains is also very important.
    • -Again, the advantage of using Batching Tools in the second scenario is speed of development that permits testing multiple combinations to find the optimal for the intended platform
    • -Using dynamic batching is not needed ever for static gameObjects, since BTStatic applied to the same gameObjects always offers bigger speed gain.
    • -All the above applies for Batching Tools v1.3 which includes BTStatic.
    This is completely needless with Batching Tools v1.3 which includes BTStatic.
    If you change your mind, just press the Reset button on the original objects. You have the scene as it was before combination. Add - remove - translate etc anything you wish, select them and combine them again. It is clear that backups are vital anyway, using or not using Batching Tools.

    jrricky :
    Thanks for the interest,
    Batching needs 2 things : a shared material that maps on some meshes. Since shaders have a number of different properties, to create a shared material for a specific shader presumes that you have a way to combine those properties and map them somehow to the meshes.
    I provide support for 16 built - in shaders, including most mobile ones. If you wish support for a custom shader, I can inspect the shader, tell you if it can be supported and provide instructions on how to modify the source to make it work.

    Supporting custom shaders is charged extra ( since every time someone wishes to add a shader I will have to do extra work for him ), with the following terms :

    • -no cost for inspection ( it does not costs you to tell you if it works )
    • -10$ flat rate per case
    • -"case" means any number of shaders, once ( i.e if you wanna today to add 3 shaders is a case, if you want in one month to add another 5, is a second case ).
    • -Supporting the same case on future releases of Batching Tools has no additional cost but will be done after user request ( i.e if you wanna to use the same custom shaders in BT1.4 you have to send me an email telling me so but you will not be extra charged ).
    • -Full refund if you are not satisfied.

    I.e you can send me the shaders you wanna use, I can tell you what works and what does not. If you decide to buy Batching Tools and pay 10 extra $ for the supported shaders, I will send you instructions on how to modify the source to make it work. If you find that the supported shaders do not work as expected ( I cannot imagine how this could happen but, say if ) you get full refund of the 10$ you send me.

    Thanks for the feedback and interest, if you need more info - clarifications, feel free to ask,
    -Ippokratis
     
    Last edited: Feb 2, 2012
  50. FiveFingers

    FiveFingers

    Joined:
    Oct 15, 2009
    Posts:
    541
    Yes, yes !
    Sorry to have call it "downside", while making scenes backup should be just precaution of the developer.

    Infact, with the restore button, you can move your single objects, and then baking them again, then join them again with BTstatic "combineobjects" call.

    Sorry to point this out, but my workflow (after many trials and errors) is very simple and to the point, but not 1 click, 2 clicks :p
    I try to explain my workflow:

    1. Compose your scene with your nice objects which will have the beauty of: NOT have overlapping UV (this will play bad with lightmaps if you don't join everything in a single static mesh with BTstatic) and not having UV outside the 0.0 1.0 coordinate of the texture (I could post an example, but I think is easy to understand for every 3D guy on this forum)

    2. Batch all of them with the BT primary button you find in the additional BT window (1st click)

    3. Now you have all your meshes with a single material with an atlas texture of all your objects, fine! Just select the "father" of all this objects in the scene, and notice on the Right info panel, another button, with a pulldown on the side (Unity Batching / BTStatic) and a "Bake" button. Switch the menu on: BTStatic and press BAKE (2nd click). You are done! Your static level mesh is there, with all the nice atlas and you can finally HIT the Beast lightmapping BAKE button.

    If you find out later that your XY mesh was not in the proper place, just: Select the older pool of objects father, and hit "Restore" button, then go back to step 2.



    Out of topic and just out of curiosity, I noticed the license comparison page, show now that Lightmapping is not more a Indie/Basic feature.
    Is this true ? This would be really bad !!!