Search Unity

Amplify Impostors - Next Generation Billboards

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

  1. ahumanbeing

    ahumanbeing

    Joined:
    Dec 5, 2016
    Posts:
    15
    I'll make a video on monday to show everything. See you then!
     
    Amplify_Ricardo likes this.
  2. mbhagat

    mbhagat

    Joined:
    Dec 15, 2013
    Posts:
    49
    I target OpenGL 2.0 supported device at max.
    Will it be supported ?
     
  3. Gua

    Gua

    Joined:
    Oct 29, 2012
    Posts:
    455
    Unfortunately speedtree shader leads to very different look for the leafs which in my opinion look pretty bad compared to nature shader
     
  4. mbhagat

    mbhagat

    Joined:
    Dec 15, 2013
    Posts:
    49
    I target OpenGL 2.0 supported device at max.
    Will it be supported ?
     
  5. kopanz

    kopanz

    Joined:
    Dec 6, 2016
    Posts:
    82
    Texture repeat issue with Octahedron imposters. Any solution ? It even exist in the default prefab of the Amplify Imposters. Makes a lot of artifacts at the top of trees when you create a forest on bumpy terrain.
     

    Attached Files:

  6. Rujash

    Rujash

    Joined:
    Jan 3, 2014
    Posts:
    37
    Hi,

    I want to use this to easily create billboard grass out of a 3d model, would this be achievable with your asset?
     
  7. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    According to our tests, Impostors created with Amplify Impostors can be used on OpenGL ES 3.0 and even certain OpenGL ES2 devices(still used by 14.8% of users), it will ultimately depend on each device's specifications.

    They will indeed be different; however, you are not using a similar material or the textures(including smoothness values), it's not going to be the same automatically.

    Apologies for the low resolution, they're screenshots from the video.


    As mentioned in our wiki, Octahedron impostors breakdown at close distances, the artifacts are an expected drawback of the technique. They provide smooth blending between views but do not hold-up, spherical impostors hold-up slightly better but do not provide smooth blending.

    Can you confirm that it works at a distance?

    You could, with a single click provided that you're using a compatible shader. However, please consider that if you're already using an extremely simple unlit shader, or similar, that the impostor might actually be more costly than the original asset.
     
  8. Gua

    Gua

    Joined:
    Oct 29, 2012
    Posts:
    455
    Regarding feature request and workflow improvements. I would love the ability to set texture size separately for all those textures



    I know I can do it manually, but every time I rebake it generates extra manual work that could be avoided.
     
  9. Gua

    Gua

    Joined:
    Oct 29, 2012
    Posts:
    455
    I did some experiments and I've figure out that the core issue is a lightning change caused by Smoothness setting in Standard/SpeedTree shader and it's impossible to completely get rid of that change. However, Standard (Specular Setup) does give that ability if you setup Specular color as completely black. There some shadow differences, but they are less impactful compared to smoothness color change. I would still prefer Nature shaders support, but this is better than nothing.

    Thank you for making this life saving tool!
     
    Last edited: Apr 27, 2020
  10. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Great, hope you find a good compromise that works for your project!
     
  11. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Noted ;)
     
  12. kopanz

    kopanz

    Joined:
    Dec 6, 2016
    Posts:
    82
    Thanks :) Spherical imposters seem to work for most of the cases. I haven't witnessed any weird blending.
     
    Amplify_Ricardo likes this.
  13. mbhagat

    mbhagat

    Joined:
    Dec 15, 2013
    Posts:
    49
     
  14. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    That's great!


    Wait for the amount of GL ES 2.0 devices to go down? I don't think you need to wait, just lock out that specific version if you're concerned about seeing bad reviews.
     
    Last edited: Apr 28, 2020
  15. mrmcduck

    mrmcduck

    Joined:
    Nov 26, 2015
    Posts:
    26
    This is the right place to ask for help with Amplify Impostors, yes? Wasn't sure, only thing I found was that you closed your forums to move here. Please tell me if I should ask somewhere else.

    I have plant models which require an alpha-cutoff shader with backface culling disabled (deferred rendering, legacy, no SRP). I made that shader in Amplify Shader Editor, and it's very simplistic and works as expected: https://imgur.com/a/Mmaofh4

    I tried to create impostors for those plants and it works fine, but there seems to be something wrong with the emission/occlusion imposter texture. While at day-light they look pretty much the same as the 3d model, while at night (i have a dynamics day/night system) the impostors glow and are bright. There is no emission anywhere at the original plants. I tried a custom bake preset that uses my custom shader for baking, but that causes the impostors to be black / buggy. What worked was baking the impostors while using a material with the standard shader, it obviously causes the small leafs for which i require backface culling off to be hidden at certain angles and is therefore not perfect.

    For all the other impostors that work the emission/occlusion map is almost completely black, but for the plants it looks more like the albedo map.
     
  16. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Hey there!

    We don't know what's being changed on your side for the day/night cycle but we would be happy to examine a sample. You shouldn't need to do anything if your're using a Standard Surface shader, just bake.

    I suspect the problem could be elsewhere, we can help.
     
  17. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
  18. hertz-rat

    hertz-rat

    Joined:
    Nov 3, 2019
    Posts:
    71
    Apparently Imposters will be out of beta soon. What does that mean exactly, and is that someting to expect this summer, or after this summer?
     
  19. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Before summer probably!
     
    hertz-rat likes this.
  20. hertz-rat

    hertz-rat

    Joined:
    Nov 3, 2019
    Posts:
    71
    What is the easiest way to understand if amplify imposters will work with a given asset?
     
  21. mbhagat

    mbhagat

    Joined:
    Dec 15, 2013
    Posts:
    49
    How to find out which device i need to add in block list in store.
    There are thousands of old devices still available in market.
     
  22. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    The best way is to actually test it. There isn't a specific type of asset that you should use it for; for now it's mainly for static stuff but realtime imposters(when available) will also support skinned meshes and other animated meshes(vegetation, etc).

    Static opaque, more uniform, objects will probably work best for now but we've seen a bit of everything; from static stuff, to actual vehicles and novel uses of impostors such as the robot below.





    One of the main requisites is using a compatible shader with a Deferred exposed path, as mentioned on our wiki. Additionally, it's important to keep in mind that impostors are meant to be seen from a certain distance; large objects seen from up-close probably wont holdup as well. Given the resolution, objects with intricate transparencies such as a crane, could also be problematic.


    This is more of a Unity question, I'm not entirely sure if I'm up-to-date on all the requirements; it has been a while since I had to ship a Unity iOS app.

    However, your first step should be to remove OpenGL ES 2.0 entirely:
    1. Open the Player settings (menu: Edit > Project Settings, then select the Player category).

    2. Navigate to Other Settings and make sure Auto Graphics API is checked:


    Additionally, you can also force this in your app Info.plist file.

    Hope it helps!
     
    Hermesis, hippocoder and mangax like this.
  23. mangax

    mangax

    Joined:
    Jul 17, 2013
    Posts:
    336
    hi, i was able to get it to work when i downloaded the latest version from the website :)

    but i noticed an issue after baking (check screen) , it seems it can't bake backfaces of materials even if they are set to render "both faces", any idea how to improve this?
    backfaceissue.PNG

    i also tested the baking results by setting material to render backface only, it still baked the front face.

    thanks for your support!
     

    Attached Files:

    Last edited: Apr 30, 2020
  24. mrmcduck

    mrmcduck

    Joined:
    Nov 26, 2015
    Posts:
    26
    I doubt that it has anything to do with day/night cycle because they glow at daylight as well, it's just barely noticeable. But to answer your question: Just rotating directional lights (sun/moon) and cycling ambient colors.

    But I don't use the Standard Surface shader, I posted the shader I use for those plants in the post above. Here is it again: https://imgur.com/a/Mmaofh4

    Do you want me to post the created textures or screenshots? Any other information that could help figuring out the issue?

    Edit: Formatting Error.
     
    Last edited: May 1, 2020
  25. hertz-rat

    hertz-rat

    Joined:
    Nov 3, 2019
    Posts:
    71
    edit: I solved my own problem
     
    Last edited: May 1, 2020
    Amplify_Ricardo likes this.
  26. ahumanbeing

    ahumanbeing

    Joined:
    Dec 5, 2016
    Posts:
    15
    My lighting issue seems to be due to the way that the Enviro asset handles programmable directional light. If I disable their directional light and create my own, baking with lighting is handled just fine.
     
  27. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Glad to know it's working!

    That's odd, I just doubled-checked to be sure it's working and I didn't get the same results. Which shader are you using for the leafs? (we would be happy to test a sample at support@amplify.pt if required)

    Do you see the same results with Spherical impostors?


    Great! They were indeed individual impostors attached to moving transforms; in the case handled by Final IK.


    I see, hope you can find a way that works well for all situations. As far as impostors go, they work with Light and Probes as any other asset; but do let us know if you run into any specific issues.

    Thanks!
     
  28. r3ndesigner

    r3ndesigner

    Joined:
    Mar 21, 2013
    Posts:
    143
    Hello, did you received my email? regarding urp?
     
  29. Amplify_Ricardo

    Amplify_Ricardo

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

    We've received quite a lot of email lately, we're going trough all of them.

    I see a few URP related in our backlog, what email/name did you use?
     
  30. r3ndesigner

    r3ndesigner

    Joined:
    Mar 21, 2013
    Posts:
    143
    rennan.luna@gmail.com
     
  31. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Thanks, just saw it, pink URP shader.

    Did you import the URP package under AmplifyImpostors\Plugins\EditorResources\RenderPipelinePackages?

    We can continue this here, or via email, please pick one.

    Thanks!
     
  32. r3ndesigner

    r3ndesigner

    Joined:
    Mar 21, 2013
    Posts:
    143
    still pink, any tip?
     
  33. r3ndesigner

    r3ndesigner

    Joined:
    Mar 21, 2013
    Posts:
    143
    reimported it all and now working, thanks ^^
     
    Amplify_Ricardo likes this.
  34. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Ah, awesome!
     
  35. mangax

    mangax

    Joined:
    Jul 17, 2013
    Posts:
    336
    am using URP Simple Lit shader.. am using latest unity URP on 2019.3+ (same version i described long ago)
    even if shader is set as opaque or transperant..same results in image.. original tree vs imposter
    backfaceissue.PNG

    i tried Spherical impostors , same results.. next image different mesh tree using Spherical ..
    backfaceissue2.PNG

    Edit: sorry for this Question, but which of these shaders are less performance cost? am assuming spherical fastest one then hemi-octa- then Octa-, correct?

    thanks!
     
    Last edited: May 2, 2020
    ftejada likes this.
  36. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Thank you for the additional details, I can confirm that the issue is present when using URP Double Sided surfaces.

    What's your current Unity and URP version?

    The Spherical impostors is the lightest.
     
  37. mrmcduck

    mrmcduck

    Joined:
    Nov 26, 2015
    Posts:
    26
    I think you went over my last response because I had formatting error at first.
     
  38. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Hey, sorry about that, totally missed it!

    I was referring to the Standard Surface shader made with ASE. I think we need to examine an actual sample in order to be sure, then we can look at other possible causes.

    Can you forward us a sample with the following? (support@amplify.pt)
    -Original Asset (Model, Materials, Texture, shader)
    -Problematic Impostor(Impostor asset, Prefab, any required textures)
    -Sample scene with both the original and impostor; if possible, please replicate the same lighting conditions as your "night time"

    Thanks!
     
  39. mangax

    mangax

    Joined:
    Jul 17, 2013
    Posts:
    336
    Unity 2019.3.12f1
    URP 7.3.1
     
  40. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Thank you for the additional details!

    Our apologies for the inconvenience, hopefully it's something that we can correct soon; odd that it would only happen with URP.
     
    Last edited: May 5, 2020
  41. mangax

    mangax

    Joined:
    Jul 17, 2013
    Posts:
    336
    it's all good, keep up the good work ;)

    btw i was watching this video you posted:


    i was wondering, since imposter generates textures/materials per baked object mesh.. isn't in this sample it would generate more draw calls/extra cost on performance?

    Since imposters generate each part as saperate material + extra textures? i would assume the bot is using one material + one texture for all its parts.
     
  42. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Could be the case, ideally you'd use realtime impostors for animated stuff(when it's made available). In this example the user is going for a specific effect where optimization is not a concern.
     
  43. mrmcduck

    mrmcduck

    Joined:
    Nov 26, 2015
    Posts:
    26
    While creating an example project to send to you I noticed some things, although I'm not 100% sure if I'm on the right track:
    - Are baked lightmaps from the scene the impostor is created at (e.g. if I create a separate Impostor-scene for baking) taken into account? And if it's done at prefab edit mode, which baked lighting is used?
    - Do any other lights in the scene contribute to the baked Impostor? Because it seems like disabling a directional light in my test-scene made the problems disappear.
    - Are the above points dependent on the shader the object uses, because I had no problems with all the things that use the StandardShader, those only occurred with my custom shader.
     
  44. Amplify_Ricardo

    Amplify_Ricardo

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

    1. Baked lighting is not taking into account for impostor generation, the Impostors will user the LightProbe information available in the scene.
    2. No, or at lease it shouldn't.
    3. Custom Shaders are a factor, AI requires a shader that exposes a Deferred path, such as Unity Standard shaders.

    Looking forward to the sample!
     
  45. Abended

    Abended

    Joined:
    Oct 9, 2018
    Posts:
    142
    I've looked around, and could not find anything, can you tell me about VR support for this?
     
  46. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Yes, works in VR!
     
  47. Abended

    Abended

    Joined:
    Oct 9, 2018
    Posts:
    142
    Sweet! I will be purchasing!
     
  48. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389
    Awesome, thanks!

    Just keep in mind that impostors are meant to be used at a certain distance, up close VR views may giveaway the effect.
     
  49. Abended

    Abended

    Joined:
    Oct 9, 2018
    Posts:
    142
    Yea I am primarily going to use it for a ring of clouds I have, but I also was thinking about using it for trees out of range. I know you can set LOD, and I know what my distance is that I can hit a collider, so anything beyond that should be gravy.
    Thanks for the clarification!
     
  50. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I wanted to ask if there would be a possibility of A2C for a thin antialiasing effect around the edges if MSAA will not be sufficient.

    In VR, a great workaround here https://medium.com/@bgolus/anti-aliased-alpha-test-the-esoteric-alpha-to-coverage-8b177335ae4f is used for vegetation, billboards, practically everything. It is fast on Quest which is why impostors are back on menu ;)

    But I read here with MSAA, one will get pretty hard edges and that's totally unacceptable at any distance in VR, hence using A2C instead of basic cutout, with the small tweak outlined in the guide.

    I hope you'll consider it because other AA options are off the table in VR land, and those non antialiased parts will make it borderline unusable when placed next to the smooth nearby MSAA geometry.

    So it may be a nice option, also for clouds and such, especially if you could configure the borders as in the above article.