Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

[RELEASED] Billboard Generator

Discussion in 'Assets and Asset Store' started by WinterboltGames, Jun 30, 2020.

  1. R33F187

    R33F187

    Joined:
    Aug 26, 2017
    Posts:
    2
    I can't get this to work every time i generate an atlas I just get a blank atlas texture, looks like the generation process is not seeing the gameobject/prefab any ideas?
     
    WinterboltGames likes this.
  2. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Can you please reply with a message including a screenshot of your Generator Settings Asset and Billboard Generator? These kinds of issues always happen due to incorrect offset and/or invalid field of view values in the Generator Settings Asset.

    And by the way, sorry for the late reply.
     
  3. nyobu

    nyobu

    Joined:
    Mar 9, 2017
    Posts:
    14
    Hello.
    I'm looking for an asset that can make a billboard with the specified number.
    This asset is very close to ideal!
    At this point I'm going to use a different system to render the billboard.
    Can this asset create a Billboard Asset?
    I watched the video but didn't understand.
     
    WinterboltGames likes this.
  4. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    My asset can generate billboard textures and billboard texture atlases but unfortunately it doesn't generate a BillboardAsset rather it generates it's own BillboardAtlasAsset which is then used by the included RuntimeBillboardRenderer to render the billboard (s) and it's EXTREMELY efficient!

    Video:

     
    PadBack and nyobu like this.
  5. nyobu

    nyobu

    Joined:
    Mar 9, 2017
    Posts:
    14
    Thank you your reply!
    I'll try using your rendering system.
    Some other rendering systems , tree makers automatically create a Billboard Asset. However, none of them could be specified in detail.
    This asset is simple and great.
    I think it would be useful if this asset could create a Billboard Asset.
    Thank you for making this asset.
     
    WinterboltGames likes this.
  6. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Thanks for your support! I will sure to do some research and see if I can get my asset to support generating native BillboardAsset
     
    nyobu likes this.
  7. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    There's an update that's going to be released soon (very soon) that will massively improve the runtime performance of the renderer included in the plugin and reduce it's Garbage Collector allocations to ZERO.
     
    StevenPicard likes this.
  8. eewill

    eewill

    Joined:
    Oct 11, 2019
    Posts:
    2
    When I start the plugin from Tools -> WinterBolt Games -> Billboard Generator, I'm only seeing this:

    Have you seen this before? Or have I missed something?

    Thank you!
    Screenshot (84).png Screenshot (86).png
     
    WinterboltGames likes this.
  9. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    You need to create a new Generator Settings Asset and place it in your project. You can do so by right clicking in the Project > Select 'Create' > Select 'Billboard Generator' > Select 'Generator Settings Asset'

    Then configure the newly created asset and assign it to the empty field in the Billboard Generator window.

    Hope this helps!
     
  10. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    BREAKING CHANGE: In the next version, the plugin will no longer support .NET 3.5.
     
  11. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    [New Feature]

    I have added a component to Billboard Renderer that should be released soon called "Runtime Billboard Renderer Batch" It allows you to say for example have 16384 billboard renderers and only update 1024 of them per frame which massively improves performance! A preview video will be released soon.
     
  12. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Here's a video showing the new feature in action:
     
  13. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Version 4.0.0 has been submitted for review!
     
    StevenPicard likes this.
  14. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Version 4.0.0 is now live on the Asset Store!
     
    StevenPicard likes this.
  15. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Version 4.5.0 has been submitted for review!

    It includes the following new features and improvements:

    - All the source code will be documented and all editor fields will have useful tooltips to help make it easier for newcomers to understand how certain things work

    - A new component has been added called BillboardTarget, it's very simple: it holds a reference to a transform that will be targeted by all billboards that have the new
    _useBillboardTarget
    field set to true. This is very useful for multiplayer games.

    - Very small tweaks will be done to the UI to make it easier and clearer what does what
     
  16. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Version 4.5.0 is live on the asset store!
     
    StevenPicard likes this.
  17. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    I discovered a bug today and here's a quick fix for it until the next update:

    In RuntimeBillboardRenderer.cs scroll down to the LateUpdate method and change:

    Code (CSharp):
    1. if (_target != BillboardTarget.Transform)
    2. {
    3.   _target = BillboardTarget.Transform;
    4. }
    to:

    Code (CSharp):
    1. if (_useBillboardTarget && _target != BillboardTarget.Transform)
    2. {
    3.   _target = BillboardTarget.Transform;
    4. }
    Extremely sorry for any inconvenience this might have caused to anyone!
     
    StevenPicard likes this.
  18. eron82

    eron82

    Joined:
    Mar 10, 2017
    Posts:
    83
    is it possible to generate billboards from an animated character?
     
    WinterboltGames likes this.
  19. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    There's no built-in tool that does that for you currently but you can create your animated character and hook the generation functions to animation events on the frames you would like to capture.
     
  20. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Update 5.0.0 is now live on the Asset Store everyone!

    It includes tons of improvement and some new features mainly & most importantly ability to preview billboard renderers in the editor and a new way of calculating the required rotations which massively improves the performance!
     
  21. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Update 5.0.1 is now live on the Asset Store and it includes a very important hot-fix, I urge all users of the asset to download it as fast as possible.

    This update fixes an issue in the
    RuntimeBillboardRenderer.cs
    where the calculated angle wasn't snapped correctly and would go below 0 resulting in an incorrect texture being picked & displayed on the billboard's surface.
     
  22. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Here's an updated getting started video that covers all the things you need to know to get the plugin up & running:
     
  23. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Billboard Generator is available for 20% off ($8 instead of $10) now on itch.io for a limited time! Get it here.
     
  24. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    An update was released today that makes what features the asset have much more and clear using screenshots.

    Check it out here.
     
  25. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Update 5.0.4 has been submitted for review!

    It will source code improvements and a fix for a bug that might happen when calculating the angle for the RuntimeBillboardGenerator.
     
  26. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Update 5.1.0 has been submitted for review and it includes the following features/fixes:
    • Fixed: when entering certain values like 8, 135, 72, etc... an
      IndexOutOfRangeException
      would be thrown.
    • Fixed: sometimes random gray squares would appear on the generated atlas texture.
    • Added: billboard generator window will now remember
      GameObjects
      and
      GeneratorSettingsAssets
      assigned to it across sessions and when entering/exiting play mode.
     
  27. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Update 5.1.0 is now live on the Asset Store!
     
  28. theonerm2_unity

    theonerm2_unity

    Joined:
    Sep 7, 2018
    Posts:
    130
    Hey. I bought your asset. I love it so far. The only thing is I don't seem to be able to use it with an LOD system. Which really it's fine. I've already coded in my own solution for that.
     
    WinterboltGames likes this.
  29. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Glad you like it, please be sure to leave a review.

    And about the LOD system, it's quite easy to use with it as well! There's quite a lot of discussion about it on my discord server.

    I will release a tutorial very soon covering this very subject.
     
    StevenPicard likes this.
  30. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Here's a video showing how to use the included batching component.
     
  31. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257

    - New action to automatically add the selected billboards to a batch component and configure them properly.



    1. New button to copy the position of the main camera automatically (finally).

    2. Currently when generating tightly-packed atlases, the generator might sometimes guess the initial dimensions of the atlases incorrectly and that might result in the annoying error Not enough space to pack x. Setting the initial width and height manually can improve performance (as the generator needs to do no guessing) and usually better results.

    Keep in mind though this value doesn't represent the actual initial texture size so you are free to set it as big you want and it's not limited by your system's maximum texture dimensions.

    The final atlas texture though is going to be trimmed and packed normally without any changes.
     
    Last edited: Apr 28, 2021
  32. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Version 6.5.0 has been submitted for review!
     
  33. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Version 6.5.0 is now live on the Asset Store!

    Release notes:

    Please note, this update has some breaking changes! Make sure to back up your projects to ensure that auto-updating won't cause any data loss!

    • Major code refracting to improve its style, make it easier to maintain, and make it more consistent.
    • Added a new button to the GeneratorSettingsAsset inspector to allow you to copy the position of the current scene's main camera.
    • Added two new fields to the GeneratorSettingsAsset: initialBinWidth and initialBinHeight which allow setting the size of the packing bin manually which can sometimes reduce the generation time and yield better results, these two values aren't limited in any way and can be set as high or as low as preferred.
     
  34. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    I'm dropping support for Unity 2018 and moving to Unity 2019 as Unity 2018 is already no longer supported by Unity Technologies and has reached end-of-life.
     
  35. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    I wanted to talk about octahedral billboards that are currently being researched and will be released in either version 9.0.0 or 10.0.0.

    An octahedron is a polyhedron with eight faces, twelve edges, and six vertices.



    This will allow 3-D billboards which can sometimes be more believable than regular planner ones that are currently the only type of billboard supported by Billboard Generator.

    Such feature will require some time to get right due to the fact that I'll need to develop a custom (but universally compatible) shader that will allow picking textures depending on the normal of a ray cast from the camera towards the octahedral billboard since doing so on the CPU can get very slow from some recent tests I conducted.

    Also, octahedral billboards won't have custom generation angles since an octahedral as mentioned before only has 8 faces and that means only 8 billboard textures of the object.

    Another interesting thing I'm currently working on is asynchronous GPU-accelerated billboard texture rendering and possibly Job System support which will lead to MASSIVE performance gains and make the plugin more intuitive.
     
    Last edited: Jun 28, 2021
    StevenPicard likes this.
  36. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Version 7.0.0 is now live on the Asset Store!

    Release Notes:

    The plugin now requires at least Unity 2019 LTS since Unity 2018 LTS has reached end-of-life and will no longer be officially supported.

    Runtime Billboard Renderer is now deprecated and instead 2 new much more flexible and performant components are going to replace it those are Simple Billboard Renderer and Directional Billboard Renderer.

    - The Simple Billboard Renderer component allows you to render a single texture as a billboard which allows for stuff like simple grass or DOOM-like corpses.

    - The Directional Billboard Renderer component is the new replacement for the old Runtime Billboard Renderer. It offers the same features with better performance.

    - Both of the aforementioned components inherit from a new abstract class call Billboard Renderer Base. This class contains common fields and methods that are required by (almost) all billboard renderers and makes it easier to create your own renderers easily.

    - The Runtime Billboard Renderer Batch component is also now deprecated and replaced by the new Billboard Renderer Batch component that supports all billboard renderers that inherit from Billboard Renderer Base.
     
    StevenPicard likes this.
  37. al3d

    al3d

    Joined:
    Feb 7, 2013
    Posts:
    51
    I can't wait to see your octahedral billboards ! :)
     
    WinterboltGames likes this.
  38. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Version 7.5.0 has been submitted for review!

    Release Notes:
    • The ability to only render the target game object has been added.
    • The ability to edit the settings asset from the generator window has been added.
    • Removed some obsolete unused code.
    • Added some extra code comments.
    • Removed the broken auto offset calculation feature.
     
    StevenPicard likes this.
  39. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Version 7.5.0 is now live on the Asset Store!
     
    StevenPicard likes this.
  40. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Version 7.5.1 is now live on the Asset Store.
     
  41. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Update 8.0.0 has been submitted for review!
    • Removed GeneatorSettings.rotateOnXAxis, GeneatorSettings.rotateOnYAxis, and GeneatorSettings.rotateOnZAxis because they're confusing and served no real purpose.
    • Removed ALL deprecated components, functions, and fields.
    • Removed all FormerlySerializedAs attributes.
    • Fixed the previously absolutely broken render camera positioning code.
    • Added a new function that allows you to capture a single image of a game object very quickly.
    • Added a new "Capture Texture" button to the generator window.
    • Most functions now throw errors when unexpected behavior is detected instead of just logging.
    • Generated textures and assets no longer have underscores or spaces in their names.
    • Support for HDRP is back.
     
  42. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Update 8.1.0 has been submitted for review!
    • Better exception handling.
    • Fixed camera positioning when not using the main camera.
    • Generator.Generate()
      no longer takes an
      Action<Texture2D>
      and simply returns an array containing the generated textures.
    • Cleaned-up GeneratorWindow.cs
     
    StevenPicard likes this.
  43. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Update 8.1.0 is now live on the Asset Store!
     
    StevenPicard likes this.
  44. Feartheway

    Feartheway

    Joined:
    Dec 12, 2017
    Posts:
    92
    having a problem running 2020.3.9f1 lts

    unable to find non transparent pixels on the x axis. I have tried with standard and Urp and getting same error. UPDATE: I got it working in standard renderer by using the main camera.

    upload_2021-10-26_18-49-1.png
     
    Last edited: Oct 26, 2021
  45. Feartheway

    Feartheway

    Joined:
    Dec 12, 2017
    Posts:
    92
    next problem after generating the billboard its not working with the existing tree lod system
    invisible tree. will check if its scaling problem.

    upload_2021-10-26_19-30-43.png
     
  46. Feartheway

    Feartheway

    Joined:
    Dec 12, 2017
    Posts:
    92
    I am wondering if these settings might help me get a billboard working with existing lod system
    rect bottom left rule
    upload_2021-10-26_19-34-50.png
     
  47. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
  48. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    One of update 8.2.0 new features is the IsValid method on all billboards that allows you to validate whether a billboard is set up correctly or not. And, thanks to that, no more errors will be thrown when attempting to preview partially-setup billboards.
     
  49. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    While version 8.2.0 is being reviewed by Unity, I worked very hard on fixing existing features, improving their performance, and adding new ones.

    I work on multiple versions of Billboard Generator simultaneously and each version is based on the last stable release + a special signature feature.

    After I thoroughly tested 3 different versions, I'm glad to announce that after 8.2.0 is live, version 8.5.0 is going to be submitted!

    Version 8.5.0 introduces a BUNCH of new QOL improvements, performance optimizations, and a couple of new features!
    • TRUE isolation of the object that you are rendering.
    • RawTransform class that allows transformation operations to be performed quickly and without allocation.
    • Code refactoring and organization.
    • Even better scaling and an editor tool to help upgrade old assets.
    and more!

    This release will also give me a strong foundation to build the upcoming versions on and start researching full 3D billboards and custom high-performance billboard shaders.
     
    StevenPicard likes this.
  50. WinterboltGames

    WinterboltGames

    Joined:
    Jul 27, 2016
    Posts:
    257
    Version 8.2.0 is now live on the Asset Store!
     
    StevenPicard likes this.