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

[Released] Real Imposters LOD System

Discussion in 'Assets and Asset Store' started by sakati, Jul 23, 2015.

  1. sakati

    sakati

    Joined:
    Jan 5, 2013
    Posts:
    36
    Hi,
    i just released my first Asset to the Asset Store: https://www.assetstore.unity3d.com/en/#!/content/40188

    Real Imposters LOD System
    finally brings Imposter Rendering to Unity. It replaces your complex Gameobjects with dynamically generated 2D Billboards to dramatically decrease your polygon count.

    Features
    • REAL Imposter Rendering
    • up to 20x more FPS
    • 100% dynamic - no preprocessing required
    • simple drag and drop setup
    • supports caching & preloading of Imposters
    • supports shadows from direction lights
    • mobile ready



    === Webplayer Demo === === Android Demo ===
     
    Last edited: Jul 23, 2015
  2. micuccio

    micuccio

    Joined:
    Jan 26, 2014
    Posts:
    143
    Interesting indeed, I will probably buy it.
    How is working with culling cameras?
    In particular, do you think can work well with Sectr VIS ? (I hope you are familiar with this other software, if not I will point you to the assetstore)

    Thanks in advance
     
  3. sakati

    sakati

    Joined:
    Jan 5, 2013
    Posts:
    36
    @micuccio it depends on how Spectr VIS culls the objects. I could imagine 2 things:
    1. by deactivating the GameObject - then it will work out of the box
    2. by deactivating the MeshRenderer - then it will need a small fix to work (2 lines). I think i will add it to the next Version
     
  4. b4c5p4c3

    b4c5p4c3

    Joined:
    Jan 4, 2013
    Posts:
    537
    Looks interesting.
     
  5. mensch-mueller

    mensch-mueller

    Joined:
    Nov 25, 2014
    Posts:
    156
    Looks nice, but sometimes with imposter rendering checked, shadows disappear.
    Definitely a good asset!
    Michael
     
  6. micuccio

    micuccio

    Joined:
    Jan 26, 2014
    Posts:
    143
    Thanks for the reply @sakati, is there any way to test it before to buy? I mean to see how it may work with Sectr.
    It does not matter for me if you test it and post a video or if I do.
     
  7. StaffanEk

    StaffanEk

    Joined:
    Jul 13, 2012
    Posts:
    380
    Looks amazing. The demo is mindblowing.

    Do the impostors have normal maps? How would they work if the illumination changes?
     
  8. Ducahl

    Ducahl

    Joined:
    Dec 9, 2014
    Posts:
    20
    My question is similar to StaffanEk, I'm curious if the plugin supports real-time lighting changes, like a day/night cycle.
     
    Teila likes this.
  9. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    I would like to know this as well. Looks perfect for us as long as we can use our lighting system with it.
     
  10. 0x646877

    0x646877

    Joined:
    Apr 19, 2014
    Posts:
    24
    Testing it out in a endless runner I am working on. After a whiAle the imposters stop rendering.
     
  11. SteveB

    SteveB

    Joined:
    Jan 17, 2009
    Posts:
    1,451
    Wow this is great! I've been searching for an Imposter solution forEVER.

    The first (and last) time I I recall imposters being used was in Trespasser by Dreamworks. I'm one of the few people that absolutely loved the game, and appreciated how far ahead of it's time it was.

    Awesome work man
     
  12. sakati

    sakati

    Joined:
    Jan 5, 2013
    Posts:
    36
    @mensch.mueller the distance at which imposters with shadows are culled is adjustable. I will fix the demo soon. Thanks for the pointer.
    @StaffanEk the Imposters aren´t normal mapped. It´s something i´m planning to do in the next update - but i don´t want to promise anything. Right now the Imposters need to be updated manually when the Ilumination changes.
    @SteveB i also LOVED Trespasser. The physic engine was amazing!
    @0x646877 Could you please send me some code to test the issue - i´m sure i can help you out.
     
    Last edited: Jul 29, 2015
  13. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Ahh, that is too bad. Is this a limitation with the actual code? If the imposters do not change with Unity 5's lighting, such as the sun going down or nightfall, then they seem much less useful to me. They would suddenly stand out like a sore thumb.
     
  14. angel_m

    angel_m

    Joined:
    Nov 4, 2005
    Posts:
    1,160
    Does it work with trees and grass?
     
  15. sakati

    sakati

    Joined:
    Jan 5, 2013
    Posts:
    36
    @Teila it´s a tradeoff. Using normal mapping would double the memory footprint and the time needed to update the imposters. I think its better to manually trigger an imposter update when the lighting changed to much. If it doensn´t change every frame or every 10 frames it will probably give you a better performance.
    @angel_m yes - but tree and grass rendering systems usally have a pretty good lod-system by themself (e.g. Speedtree). I think the Imposter rendering wouldn´t help much in this case.
     
  16. Stormbreaker

    Stormbreaker

    Joined:
    Aug 15, 2012
    Posts:
    161
    Looks cool! How would this work with a Time of Day system? Would you manually update the Imposters whenever the lighting has changed a noticeable amount? And how long does it take to generate the Imposters in the web demo?
     
  17. sakati

    sakati

    Joined:
    Jan 5, 2013
    Posts:
    36
    @Stormbreaker yes - it would work this way. The Imposters are completly dynamic. They are regenerated whenever the camera moves a noticeable amount (can be configured). There is absolutly no preprocessing needed. You could e.g. use the Imposter rendering for procedural generated meshes. I didn´t exactly messure the imposter regeneration time in the webdemo - but i think you can get a feeling for it when you move the camera around a bit.
     
  18. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    Hi sakati. I am thinking about buying the package.
    But the android apk you created has the unity5 procedural skydome in it and this is a fps eater and I cannot come to a conclusion about the fps gain. Could you make one without the sky?
    Thank you.
     
    Last edited: Oct 1, 2015
  19. sakati

    sakati

    Joined:
    Jan 5, 2013
    Posts:
    36
    elias_t likes this.
  20. Gozdek

    Gozdek

    Joined:
    Jun 21, 2015
    Posts:
    356
    Wow! Nice!
     
  21. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    SteveB likes this.
  22. Gua

    Gua

    Joined:
    Oct 29, 2012
    Posts:
    455
    @sakati, I disagree. Almost all asset packs in Asset Store use Tree Creator Trees. Tree Creator Trees billboards have a number of issues, like this one and this one. Those kind of issues brought me here. Also existence of this asset, should also prove that there is a need for tree support.
     
  23. angel_m

    angel_m

    Joined:
    Nov 4, 2005
    Posts:
    1,160
    I was going to purchase this asset but in the reviews it is reported it has problems working with transparent parts of objects like trees or foliage, so it is not useful with trees and grass.
    I have tried to ask this to sakati, the author, but he didn't answer.
    I'm afraid this is another promising asset abandoned by his developer.
     
  24. Gua

    Gua

    Joined:
    Oct 29, 2012
    Posts:
    455
    Damn.... Demo is so impressive.
     
  25. JBR-games

    JBR-games

    Joined:
    Sep 26, 2012
    Posts:
    708
    @sakati Is this still be supported ?? Its a great looking tool, if still supported ill be buying it this week. You should add this forum link to your description.
     
  26. Plutoman

    Plutoman

    Joined:
    May 24, 2013
    Posts:
    257
    I had had this whole idea, and thought about implementing it... but got busy with other tasks. Didn't even know it had a term at the time. Glad to see it was done somewhere. Don't need it now, but it's on my wish list for future reference in case I do.
     
  27. gameDevi

    gameDevi

    Joined:
    Oct 14, 2015
    Posts:
    155
    I'm getting this error when I set it to distance instead of screen size and all the imposters are pink
    .
    ImposterManager:LateUpdate() (at Assets/Imposter/Scripts/ImposterManager.cs:84)Imposter:UpdateImposter() (at Assets/Imposter/Scripts/Imposter.cs:172)ImposterProxy:Render() (at Assets/Imposter/Scripts/ImposterProxy.cs:114)ImposterProxy:renderImposter() (at Assets/Imposter/Scripts/ImposterProxy.cs:177)UnityEngine.Camera:Render()RenderTexture.Create failed: width & height must be larger than 0
     
  28. sakati

    sakati

    Joined:
    Jan 5, 2013
    Posts:
    36
    Hi,
    the distance based approach doesn´t work because of a bug. Unfortunaltly Unity didn´t publish my update to the asset yet. I mailed you the link to the update via PM. I hope i could help you. Don´t hesitate to contact me again (
    preferably by mail) if you have further questions.
     
  29. gameDevi

    gameDevi

    Joined:
    Oct 14, 2015
    Posts:
    155

    Thanks Sakati

    Feature request :)
    Could you make an option to have shadows but without updating shadows?
    In some use cases it's not needed to update and that would improve performance a lot

    Also are you aware that you can use unity Standard shader and use fade so that imposters can be affected by changing light?

    there is a performance hit but it some use cases it would still be a good option.

    Thanks for your speedy reply.
     
  30. 0x646877

    0x646877

    Joined:
    Apr 19, 2014
    Posts:
    24
    I am running into the same issue
    RenderTexture.Create failed: width & height must be larger than 0

    Could I please get the update aswell.
     
  31. Roni92pl

    Roni92pl

    Joined:
    Jun 2, 2015
    Posts:
    396
    Sakati, so will it work with foliage alpha transparency ? Because I also need it for trees and bushes.
     
  32. sakati

    sakati

    Joined:
    Jan 5, 2013
    Posts:
    36
    No, alpha transparency is currently not supported.
     
  33. sowatnow

    sowatnow

    Joined:
    Jun 12, 2014
    Posts:
    309
    Hi,

    Does this work with moving object? like AI with skin renderer.
    I tried it, but it doesn't seem to work properly.

    Thanks


    Thanks
     
  34. sakati

    sakati

    Joined:
    Jan 5, 2013
    Posts:
    36
    Dynamic objects aren't supported at the moment.
     
  35. Brity

    Brity

    Joined:
    Feb 27, 2016
    Posts:
    116
    sakati could you answer the questions that gameDevi wrote?
     
  36. sakati

    sakati

    Joined:
    Jan 5, 2013
    Posts:
    36
    @Brity which one? The one regarding the shadows? It's already working this way.
     
  37. Brity

    Brity

    Joined:
    Feb 27, 2016
    Posts:
    116
    hmmm reply to all of them?? is there something wrong?
     
  38. sakati

    sakati

    Joined:
    Jan 5, 2013
    Posts:
    36
    @Brity i think i answered all his questions. Could you please point out which one i overlooked.
     
  39. sowatnow

    sowatnow

    Joined:
    Jun 12, 2014
    Posts:
    309
    Any plan for support in the future?

    Also I got unity 5.1.3f, and the distance option doesn't seem to work as good as the screen size. I read above that there is some issue with distance option. Do you have a fix for it?

    thanks
     
  40. sakati

    sakati

    Joined:
    Jan 5, 2013
    Posts:
    36
    @sowatnow i will submit a new version on monday or tuesday. In this version the distance bug is fixed, moving objects will be supported and there will be some support for animated objects and changing light conditions (a imposter update can be triggered by the user - so you can update it when the underlying object changes).

    If you (or anybody else) want the update before it is published by unity: please mail your invoice number to sakati84@googlemail.com
     
  41. angel_m

    angel_m

    Joined:
    Nov 4, 2005
    Posts:
    1,160
    Please, include support for foliage and trees (alpha transparency).
     
    Gua likes this.
  42. sowatnow

    sowatnow

    Joined:
    Jun 12, 2014
    Posts:
    309
    Downloaded the new version.
    There is still a problem with large object such as mountain, it shows trees and other objects infront of it instead of the mountain. No sure why. The support for moving object is minimal at this stage, doesn't work properly.

    Also I tested it with UMA avatar at runtime, and seems to be not working. Have you looked at UMA and support for it?
    It you could make it work, it would be great and it will reduce alot of pressure on cpu/gpu.
     
  43. sakati

    sakati

    Joined:
    Jan 5, 2013
    Posts:
    36
    @sowatnow regarding the mountains: plz adjust the imposter offset. This should solve the problem. You can have a look at the doc to see what it does. Moving objects are not supported right now - though animated objects are in the current release. I have no plans to support moving characters. There would be no performance gain since the imposters need to be updated to often.
    Plz contact me through my support e-mail if you encounter any problems. I don´t know why but i´m not getting any notifications for this thread. So sending a mail is the fastest way to contact me.
     
  44. sowatnow

    sowatnow

    Joined:
    Jun 12, 2014
    Posts:
    309
    Adjusting offset doesn't do anything. Still having same issue.
     
  45. sakati

    sakati

    Joined:
    Jan 5, 2013
    Posts:
    36
    @sowatnow could you please send me send me a test project to have a closer look at he problem?
     
  46. sowatnow

    sowatnow

    Joined:
    Jun 12, 2014
    Posts:
    309
    I will see if i can create a new one with same problem. Can't send you my current one as its 60gb.
     
  47. idurvesh

    idurvesh

    Joined:
    Jun 9, 2014
    Posts:
    495
    Can I use it with 3D endless running game?
     
  48. Quique-Martinez

    Quique-Martinez

    Joined:
    Oct 1, 2013
    Posts:
    141
    NullReferenceException: Object reference not set to an instance of an object
    UnityEngine.Bounds.get_center () (at C:/buildslave/unity/build/artifacts/generated/common/runtime/MathBindings.gen.cs:1505)
    Imposter.UpdateImposter () (at Assets/Imposter/Scripts/Imposter.cs:148)
    ImposterManager.LateUpdate () (at Assets/Imposter/Scripts/ImposterManager.cs:139)

    Any idea?
     
  49. Skyfly

    Skyfly

    Joined:
    Jan 25, 2014
    Posts:
    110
    Does it work with VR?
     
  50. BYD

    BYD

    Joined:
    Jan 26, 2015
    Posts:
    24
    @sakati Hello, I'm currently prototyping for an open world game and tried your asset.
    In my prototype I reset the worlds position if the player goes too far away from the world center to avoid floating point issues, when that happens all imposers turn invisible. Seems like it has something to do with the shader you are using..