Search Unity

Amplify Impostors - Next Generation Billboards

Discussion in 'Assets and Asset Store' started by Amplify_Ricardo, Jul 10, 2018.

  1. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389


    * * BETA RELEASE * *




    Amplify Impostors is a 1-click solution that allows you to optimize your projects with ease by using next-generation Billboard Impostors. In this first BETA release, we set out to gather your input as we did in the past with the award-winning Amplify Shader Editor. Our goal is to provide a flexible, community driven, all-in-one impostor creation solution that adapts to any type of project.

    As always, you can count on us for fast iteration rates and premium support. Not all planned features are currently included, and as with our shader editor, we'll continue to improve it based on the community response - we look forward to having you on board!

    What exactly are Impostors?
    Impostors are camera facing quads, or simple polygonal shapes, that replace complex geometry at a distance by rendering a fake 3D representation of the original asset that can either be baked in-editor or created at runtime. Our tool currently only provides the in-editor baked variant, realtime generation will be added at a later stage.

    360º Next-gen Impostors

    They are flexible.
    Amplify impostors, pre-baked or runtime, can be moved, rotated, scaled, receive and cast shadows, and even intersect with other objects or impostors. Impostors can be used directly with Unity's LOD Group, third-party LOD systems, or by themselves - you can quickly adapt them to your pipeline, be it with existing or new projects.


    Impostor Stone Props

    A modern approach.
    Making full use of GPU-based instancing, our tool provides Spherical and Octahedron Impostor techniques, the latter being capable of performing smart transitions between different views. It's important to note that impostors are not meant to be used as a 1-1 replacement of your standard geometry, each technique has its own pros and cons that you should consider before using it; typical workflows involve displaying the actual mesh at close range and the impostor from a certain distance.

    Full Control

    Why should you use them?

    Instant optimization! Be it for mobile devices, less performant consoles such as the Nintendo Switch, or fully loaded desktops - it's a 1-click solution that will drastically reduce your Polygon and Draw Call count.

    Immediate Results


    Features
    • 1-Click Bake!
    • Octahedron and Spherical Impostors
    • Billboard Shape Editor
    • Smart Blending between views
    • Hardware Instancing
    • Depth-write for Object Intersections
    • Forward and Deferred rendering
    • Full Lighting and Shadowing
    • Custom shaders via Amplify Shader Editor
    • Dithered LOD Cross-Fade
    • LODGroup compatible
    • Lightweight and HD Scriptable Render Pipeline support
    Upcoming Features
    • Dynamic Impostors
    • Batch Processing
    Technical Considerations
    Currently only shaders exposing a Deferred path are supported for baking, such as Unity Standard shaders. However, the Impostors created can be used in both Forward and Deferred modes.

    Known Issues
    Being a BETA release, there's a couple of issues that we want to iron out in the upcoming weeks. Until then we hope to improve it even further with the help of those that join us during this period. Below are some of the critical issues we are working at the moment.
    • Changing texture size in the Impostor component "freezes" momentarily due to background calculations.
    • Impostor becomes invisible when viewed directly from below.
    • Slow bake/save times.
    • Possible differences when baking in Gamma.

    Visit our website for additional information on all our products. Be sure to contact us if you run into any problems or if you have any questions regarding our products, we would be happy to help. You are all premium users to us, stay in touch, we would love to hear more about your work.​
     
    Last edited: Jan 7, 2020
  2. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389

     
    Last edited: Aug 3, 2018
    Protozoaire and trilobyteme like this.
  3. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    1,235
    Hey there, definitely love your products and am interested in this, but I was wondering if you might be able to let me know some benefits of going with your system over something like this that is open-source to try and justify the price?
     
  4. DMeville

    DMeville

    Joined:
    May 5, 2013
    Posts:
    418
    No open source imposter system I’ve seen supports shadow casting/receiving or object intersection. I don’t know how much work it would be to add those things but for me those are important features and it seems tricky to get right. Plus amplify has always given top notch support in my opinion :)
     
  5. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634
    I was reading your FAQ, about close range. and such, if we have objects in a distance, it seems to work well. Now would it be recommended or if someone wanted to, just to use a regular mesh for close range? I assume so, But again I like to confirm, there isn't some pitfall some where. So my question if someone had used Imposer for most LOD'S for objects in a distance, then just used a mesh for there LOD0 close range. Is there any pit falls?

    Thanks.
     
  6. GCatz

    GCatz

    Joined:
    Jul 31, 2012
    Posts:
    282
    what's the minimum shader version requirements ?
     
  7. o1o101

    o1o101

    Joined:
    Jan 19, 2014
    Posts:
    639
    Ooooo! I have been waiting for something like this! I am also wondering the shader requirements. Will this work on mobile?! What will performance be like compared to speedtree billboards?
     
  8. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Hello,

    Thanks, happy to hear it!

    We love open software, that's why we include most of our source code if not all of it in some products. However, one of the key differences is that we employ a small dedicated team of developers and support personnel. We have a vested interest in the continuous development and support of our tools, ensuring that they are reliable and performant on any current, or future, Unity supported version.

    As Asset Store publishers, we're directly accountable for our products quality, we proud ourselves in delivering robust solutions that our users can rely on.



    I can't speak at length about the referenced tool but I would say that ours is much more mature and flexible. As with our shader editor, you'll definitely get your money's worth, and then some! As an example, our Occlusion solution based on HBAO+ has just been completely revamped with Ground Truth Ambient Occlusion(GTAO), a vastly superior and more modern technique; FREE for all existing users.

    Amplify Impostors is a flexible and extremely expandable tool.

    • It's a 1-Click Bake solution with comprehensive LODGroup support.
    • Supports custom Amplify Shader Editor shaders (available in the next update!)
    • Offers superior Octahedral blending
    • Includes a Billboard Shape Editor for custom billboard meshes (reduces overdraw)
    • Hardware Instancing
    • Full Lighting and Shadowing
    • Multi-object baking into a single impostor asset
    • Advanced baking control and options.
    • Full console support

    Upcoming features:


    Let me know if have any additional questions, I would be happy to elaborate.

    This was true a while back, the tools we tested were quite limited, that was a decisive factor that pushed us to develop our own product. If you know our company, you may have noticed that we also develop video games, all our tools are battle tested on external work and our own projects. We allocate quite few resources for R&D, if we can't rely on a third-party option, we usually build our own.

    We're always happy to help our users, it's thanks to you that we can continue to work on innovative products!

    First of all, my apologies for the lack of demonstration videos, they should be up soon. Generally speaking, you should always show an actual mesh at close range but you can get away with a lot when strategically placed; impostors can actually be used individually. Amplify impostors are a great way to simplify LOD groups, you could very well simply use the LOD0 and the Impostor; some objects might work better than others, it's always best to test for any possible issues.

    Besides actual texture resolution, and depending on the type, there are a few limitations that you should be aware of:
    • Spherical: The shader is simpler and faster and the impostor looks mostly okay from close distances, but popping between frames is fairly noticeable.



    • Octahedron: This is done to guarantee a fixed neighbor count of three, so that at any given position relative to the camera we can blend the nearest three frames. This has the benefit of removing popping between frames but when looking at closes distances, the blending becomes too obvious with noticeable ghosting artifacts.

    • HemiOctahedron: The hemi variant is similar to regular octahedron, with the difference on taking the same amount of shots but only from the upper hemisphere of the object, effectively doubling the precision of the blending. The downside though is that, by not baking the lower hemisphere, it produces incorrect results when looking from below. (useful for top-down cameras).


    Thanks for asking!

    The minimum supported version is 3.0. Our tool is quite performant but, unfortunately, I don't have any specific SpeedTree comparisons to share at the moment.

    You can rest assured that it works well on mobile, or even the Nintendo Switch, and we plan to improve it further as we move away from the BETA stage.
     
    Last edited: Jul 11, 2018
    trilobyteme and Peter77 like this.
  9. o1o101

    o1o101

    Joined:
    Jan 19, 2014
    Posts:
    639
    @Amplify_Ricardo Great! Going to pick it up when I get back to the office. Have purchased a few imposter tools but this seems perfect, as with anything else you guys have worked on!
     
  10. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Thanks, we really appreciate the support!
     
    o1o101 likes this.
  11. dadude123

    dadude123

    Joined:
    Feb 26, 2014
    Posts:
    789
    How far can you go with this? What are some scenarios where this concept doesn't work?
    Lets ignore close-ups and assume that the full/normal mesh is then used.

    I mean, does this work in all cases? What about transparent geometry in front or behind the impostor?
    What about shadow receiving and casting?

    What about geometry that's intersecting the impostor? (Assume that impostor<>impostor intersection is impossible since you only have a sphere-like geometry to work with right?) But will the impostor intersect with other things correctly?
    Or are there any limitations there, and if so, how are they best resolved or hidden?

    The Octahedron mode and below seem pretty magical, I'm very impressed.
    Other than some slight blurriness (which will be totally unnoticeable at a distance anyway) it looks like the real thing... I'm stunned.
     
    radiantboy likes this.
  12. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    As far as you can! But in all seriousness, there's no specific set of limits, or use cases, it really depends on the project. You could use it for simple props or you could very well take an entire mountain filled with other props and bake it down to a single distant impostor; or entire buildings, it's completely up to you.

    You do have to take into account the added memory use, we're trading off draw call and polygon counts for it. In any case, it shouldn't be a problem for most assets, you can think of it as costing more or less the same as any other PBR material.


    It does not work in all cases, until we add support for realtime impostor creation, your're limited, so to speak, to in-editor baked impostors; this limits you to a specific set of objects, something like an animated crowd is currently not possible. Some props can be a bit problematic, especially if they have a lot of empty space, but it really depends how it's used.

    Transparent geometry shouldn't be an issue, the Impostors handle depth.

    We actually store depth information so that we can display intersection and full lighting; be it between impostors or geometry.



    There are some limitation as it's not a 1-1 replacement, you might see some artifacts depending on the resolution available. You might need to tweak the amount of sides baked and the actual padding, or even change impostor type, in order to mitigate possible issues.

    Happy to know it caught your attention, it's a really cool technique!
     
    dadude123 likes this.
  13. GroZZleR

    GroZZleR

    Joined:
    Feb 1, 2015
    Posts:
    3,201
    Interesting. Any examples with a moving light source?
     
  14. DMeville

    DMeville

    Joined:
    May 5, 2013
    Posts:
    418
  15. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634

    Right, I see the other things you are showing on your wiki. So I just wanted to be sure if someone wanted to use Imposters for all of your LOD's, but the close up, you don't, and just want to use an actually mesh, would that work I assume so? and if so , are there any pitfalls doing so?
     
  16. PuckLovesGames

    PuckLovesGames

    Joined:
    Mar 4, 2015
    Posts:
    17
    I love your Amplify Shader Editor, and once this supports custom ASE shaders (in the next update?) I'm 100% on board.

    My question is: would there be any limitations in supporting custom ASE shaders? I'm using a custom lighting toon shader I've made in ASE and I'm wondering if it would support something like that. I'm doing toon lighting by mapping light attenuation * NdotL onto a toon ramp gradient texture (via UV.x).

    Thanks for developing and sharing such high quality tools!
     
  17. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Yes, additional examples soon in our demo and tutorial videos.



    Thanks for the gif!

    My apologies, I don't fully understand what you meant. Do you mean fading between a mesh(LOD0) and an Impostor, or between several impostors in a LOD Group? Either case works great!

    Awesome, really happy to hear it!

    I'm not absolutely sure but I'll confirm with the developer, the idea is to allow for custom types.

    I'll keep you posted!
     
    Last edited: Jul 12, 2018
    Iman_col likes this.
  18. vamky

    vamky

    Joined:
    Aug 9, 2014
    Posts:
    70
    Hi
    This is phenomenal, I am instantly interested. Could you explain a little bit what is dynamic imposter?
     
  19. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Happy to hear it!

    The actual asset is generated/updated at runtime, you could use it for something like a crowd of skinned characters.

    We'll cover it as soon as we add it, stay tuned!
     
    vamky and one_one like this.
  20. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634
    no worries ty for info.
     
  21. PuckLovesGames

    PuckLovesGames

    Joined:
    Mar 4, 2015
    Posts:
    17
    Thanks! I guess it would depend on whether the ASE integration allows us to actually create our own Imposter Shaders (Perhaps via a node that handles frame blending based on view direction, or an ASE template?) and then we could adjust the rest of the shader as needed - by for example using the baked normals to feed into a toon ramp gradient. I'd also love to do something like tint the colour of the imposters based on vertex colours (of the imposter quad itself) or a world position mapped texture - just some way to vary the tint among imposters that allows reuse of the same bake.

    I lean so heavily on ASE (because it is amazing) so I just want everything to be able to play nicely with it.
     
    evilangel89 likes this.
  22. o1o101

    o1o101

    Joined:
    Jan 19, 2014
    Posts:
    639
    Just purchased........this is magic! Seriously completely blown away, so simple to use, works perfectly, no bullshit, for anyone who uses LODs in there project, you need this, simple as that.

    I have been dying for an asset like this, bless you guys for making it!
     
  23. somosky

    somosky

    Joined:
    Feb 15, 2014
    Posts:
    138
  24. o1o101

    o1o101

    Joined:
    Jan 19, 2014
    Posts:
    639
    Also, what is the setup to re create the speedtree hue variation in my custom ASE vegatation shader? I don't use SpeedTrees but I would like to use the hue variation option on the imposters, but I need my veg shader to match.
     
  25. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    No problem!

    It should allow for some interesting effects, can't wait to see what users create!

    We'll provide additional information soon but it will be as flexible as possible, we're currently working on templates for Lit and Unlit types.(the unlit variant allows for custom lighting)

    Great knowing you are enjoying it, thank you for your support!

    Much more to come ;)

    Not entirely sure, does it work well with other types of billboards and shaders that take advantage of GPU Instancing?

    I'm not fully familiar with the technique used by Speedtree but there are many ways to achieve that effect, it really depends on how you want build it. You could simply multiply its color based on world position.

    In any case, it's definitely something that you'll be able to build with ASE.

    Thanks!
     
  26. o1o101

    o1o101

    Joined:
    Jan 19, 2014
    Posts:
    639
    @Amplify_Ricardo I know how to do many forums of hue variation, but I am wondering how exactly it is done in the Amplify Imposter shader, like what math/values it is using for the effect so I can mimic that in my vegetation shaders, do you mind asking whoever wrote the imposter shader?

    Cheers
     
  27. wj640520

    wj640520

    Joined:
    Jun 9, 2017
    Posts:
    6
    @Amplify_Ricardo Thanks for the amazing tools, I just wondering is this tool surpport for VR ?
     
  28. DMeville

    DMeville

    Joined:
    May 5, 2013
    Posts:
    418
    I've tested it in VR, I haven't noticed anything odd, seems to work great. I'm pretty sure the view-direction blend is done so each eye shows a slightly different blended version of the impostor (someone at amplify can probably confirm), looking at the imposter close up it appears each eye is showing a different version of the imposter as I notice the object "silhouette" is slightly different in each eye, but it looks natural to me -- although I only tested it with the demo barrel and a custom tree from another asset pack. Looks great at a distance.
     
  29. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    My apologies, I misunderstood your question, I'll let you know how it was made tomorrow morning.

    Thanks!

    Should work with VR, feedback is welcome as we're still ironing out a few kinks.

    We have a few additional tests planned but we'll be sure to post any issues that we find here.

    Thanks!
     
  30. wj640520

    wj640520

    Joined:
    Jun 9, 2017
    Posts:
    6
    @Amplify_Ricardo @DMeville Thanks for the answer, good to hear it surpport VR.
    But I have another question is can impostors surpport transparent geometry?
    For example I want to use impostors on particle, but particle use transparent mostly
     
  31. Justin_Wingfall

    Justin_Wingfall

    Joined:
    May 15, 2014
    Posts:
    125
    picking this up once it has dynamic and HDRP support. :)
     
  32. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    No problem!

    It works with Transparent Cutout. Particles might be a bit tricky but we're actually looking into it, stay tuned ;)

    Awesome, will be available soon!
     
    Justin_Wingfall and one_one like this.
  33. OP3NGL

    OP3NGL

    Joined:
    Dec 10, 2013
    Posts:
    267
    so currently as of now, the assets baked cannot use amplify's custom shaders?
    so i assumed also its VR-ready too?
    no errors if i were to import into 2018.1?
     
  34. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Hello,

    VR Ready and Unity 2018.1 compatible. Do let us know if you encounter any issues, we would be more than happy to help.

    Thanks!
     
  35. OP3NGL

    OP3NGL

    Joined:
    Dec 10, 2013
    Posts:
    267
    thanks, & this question too..

    so currently as of now, the assets baked cannot use amplify's custom shaders?
     
  36. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Not in the public version but it should be available very soon, we got it working on our side ;)
     
  37. knup_

    knup_

    Joined:
    Feb 23, 2017
    Posts:
    19
    I would be curious about the texture memory requirements. How many textures are created and how are they packed?
     
  38. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Thanks for asking!

    Average requirements comparable to other PBR materials, depth excluded, you can actually select which channels to bake.(Albedo, Normal, etc)
     
    knup_ likes this.
  39. unity_dev3194

    unity_dev3194

    Joined:
    Apr 17, 2017
    Posts:
    79
    Hi there,

    I was wondering if the imposters work in Vegetation Studio? I'm using SpeedTrees. The imposters seem to behave as desired when I paint trees directly onto the terrain, but don't seem to be appearing when using VS. I'm trying to replace VS tree billboards with imposters.

    Also, do you have a Discord?

    Thanks
     
  40. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Hello,

    Since it accepts custom trees I don't see why not, but we have not tested it with Vegetation Studio yet.

    We don't use Discord, support is available via the forums or at support@amplify.pt.

    Feel free to PM us for direct inquiries.

    Thanks!
     
  41. knup_

    knup_

    Joined:
    Feb 23, 2017
    Posts:
    19
    Just took this for a spin. Looks fantastic, congratulations on another top asset.

    In VR there seems to be the issue that wen you are close to an imposter, there is the chance that the two eyes render a different slice which can lead to some eye strain. This only happens if you are REALLY close.

    Also a +1 for speedy runtime baking - we won't be able to use this before that feature is in.
     
  42. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634
    Hi I been on the fence about buying this. I do own all of your other tools. So I might just get this one as well. i'm wondering , is the price? or do you plan to raise it after beta? just trying to decide to buy it now or wait a little until we need it more in our game.


    What about Substance support,so if someone uses Substance on a model ? I know right now, Substance is lacking the support for shaders. due to API issues and such. but are there plans to do so? when this happens.

    We use Substances for a lot of our models in game. If not , not a big deal as I plan to use Imposters for some LOD and some not. the close up ones, I won't be so I can manage if you don't support. But I was just wondering.







    Thanks.

    PS: I hate to miss out if you plan to raise the price later after beta or what ever, so any info on this would be great.
     
    Last edited: Jul 18, 2018
  43. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,634

    I talk to the developer of VS and he said it would work fine. I talk to him on Skype when this released.
     
  44. eastes

    eastes

    Joined:
    Sep 1, 2012
    Posts:
    59
    Curious, what is the need for runtime baking? Do you have user generated content or something like that?
     
  45. OP3NGL

    OP3NGL

    Joined:
    Dec 10, 2013
    Posts:
    267
    just tested in VR... weird popping of the blending when viewing up close
     
  46. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Thanks!

    It might be tricky at really close distances, how close are we talking?

    It's coming, stay tuned for upcoming updates.

    Supporting Substance is definitely high on our priorities, which Unity version do you intend to use?

    We do plan to gradually increase the price as we add new features, low increments.

    Awesome, be sure to share some shots or videos, we would love to see it in action!

    Realtime generation allows for non-static impostors such as crowds or swaying vegetation, or even objects assembled during play.

    How close are we talking here?

    Although close up issues are somewhat expected, we would love to examine a video/screenshots or a sample.

    Thanks!
     
  47. roseportalgames

    roseportalgames

    Joined:
    Aug 9, 2017
    Posts:
    173
    On line 413 (the center one):

    IN.pos = clipPos;
    UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)
    fixed4 c = 0;

    on Shader "Hidden/Amplify Impostors/Spherical Impostor"

    I get this:

    Error building Player: Shader error in 'Hidden/Amplify Impostors/Spherical Impostor': '_LightCoord' : no such field in structure at line 413 (on gles)

    Compiling Vertex program with UNITY_PASS_FORWARDADD SPOT
    Platform defines: UNITY_NO_DXT5nm UNITY_NO_RGBM UNITY_ENABLE_REFLECTION_BUFFERS UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_NO_CUBEMAP_ARRAY UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF3 UNITY_NO_FULL_STANDARD_SHADER SHADER_API_MOBILE UNITY_HARDWARE_TIER1 UNITY_COLORSPACE_GAMMA UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_LIGHTMAP_DLDR_ENCODING

    When I Build & Run to Android
     
  48. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    We're on it, thank you for the heads up!
     
    roseportalgames likes this.
  49. lod3

    lod3

    Joined:
    Mar 21, 2012
    Posts:
    676
    This is the deciding factor for me. Do you have a video, or even a gif, that shows going from an LOD mesh to an imposter, then back again? I just want to see what the transition looks like.
     
    recon0303 likes this.
  50. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Hey there, it works pretty well but I suppose some models work better than others as with traditional LOD levels.

    Example with and without Crossfade (be sure to enable the HD option in the Gfycat player)



    The resolution is not very good, here's a link to the original video: https://drive.google.com/file/d/1N7h5z1gAK2NVqWq6wk8k7wRsdzOZswy_/view?usp=sharing
     
    Last edited: Jul 18, 2018
    recon0303, tapawafo and DMeville like this.