Search Unity

  1. Improved Prefab workflow (includes Nested Prefabs!), 2D isometric Tilemap and more! Get the 2018.3 Beta now.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. Let us know a bit about your interests, and if you'd like to become more directly involved. Take our survey!
    Dismiss Notice
  4. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice
  5. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

[RELEASED] Imposter System OPTIMIZATION

Discussion in 'Assets and Asset Store' started by MUGIK, Aug 18, 2016.

?

Are you interested in this project?

  1. Yes.

    90 vote(s)
    90.9%
  2. Maybe.

    9 vote(s)
    9.1%
  3. No.

    0 vote(s)
    0.0%
  1. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
    Yes, thats how it works.
    If it is trial version, then I must to say that this is very old version of asset that works only with Unity 5.3.5. In other version it might be unstable.
     
  2. Greg-Bassett

    Greg-Bassett

    Joined:
    Jul 28, 2009
    Posts:
    605
    OK, but in the YouTube video below it shows that you can inspect the scene and you can see which objects are showing full meshes (LOD0) and which are billboards based on the player camera position, I just want to be able to see the billboards in action from the scene view for reassurance that's its working.

     
  3. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
    On Billboard Handler you can specify render type. If you choose MeshRenderer then you will see objects in sceneview, but this render technique is slower than DrawMesh.
     
  4. Greg-Bassett

    Greg-Bassett

    Joined:
    Jul 28, 2009
    Posts:
    605
    Ok, that’s great, I will set render type to MeshRenderer when building and testing my scenes, and then change it to DrawMesh when publishing my game. :)
     
  5. Greg-Bassett

    Greg-Bassett

    Joined:
    Jul 28, 2009
    Posts:
    605
    I have completed my tests and this Imposter System is awesome! So much better than using conventional LOD meshes for two reasons, one because the billboard of the full mesh looks identical, with LOD meshes the quality of the reduced mesh is sometimes quite noticeable, and then two, the performance, individual LOD meshes take up so much more memory than a simple two polygon quad billboard!

    I am sold, buying now!!! :cool:
     
    MUGIK and blitzvb like this.
  6. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
    Be aware that in newer versions ImposterSystem has some features(such as fading) that are supported only with renderType.drawMesh.
     
    Greg-Bassett likes this.
  7. ctorkut

    ctorkut

    Joined:
    Nov 19, 2016
    Posts:
    1
    Hi, do you have any plans to support single camera stereoscopic render to make the system work with native VR support?
     
  8. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
    Hi!
    I wish to make it work with native VR, but for now Unity have some limitation.
    Here is bug that breaks everything.
     
  9. Greg-Bassett

    Greg-Bassett

    Joined:
    Jul 28, 2009
    Posts:
    605
    Hi, I have hit an issue with my scene, the Imposter System is working fine, but my scene when saved is now too big to load on a iOS device due to the number of meshes in my scene.

    I am using just one prefab of a tree mesh which has about 600 verts and 800 tris, and I have about a 1000 in the scene.

    Any idea how I can reduce the size of the scene? should I instantiate/load my meshes at runtime, and just use empty gameobjects as place holders for the tree positions in the saved scene?

    Any help greatly appreciated!
     
  10. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
    I have never faced this problem, so I just dont know what to say...
    Thats all what your scene contains? I cant believe that 1000 objects produces an such issue
     
  11. anpd03

    anpd03

    Joined:
    Aug 7, 2013
    Posts:
    22
    Any chance to add support for animated meshes/atlases?
     
  12. stationTime

    stationTime

    Joined:
    Sep 17, 2013
    Posts:
    13
    Support for moving objects would also be great!
     
  13. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
    Yes, I was thinking about that. Animated atlases may be implemented but not in the near future.

    What do you mean by moving objects? ImposterSystem already supports changing position and rotation of root object. If you have any changes in child objects you can call update manually.
     
  14. victor_sq

    victor_sq

    Joined:
    Feb 19, 2016
    Posts:
    10
    dear developer its cool asset and working out of box. I am having black backgrounds on billboards on android after compilation seems like no alpha, if there is any propper mobile shader for this case ?
     
  15. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
    Hi!
    I will check this problem. Thank you for feedback!
     
  16. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
    I have just tested with Unity 2017.4 in empty project. On my device all works fine. I have Android 6 and most like lowend device. Maybe you face some hardware problems. Anything else I need to know?
     
    Last edited: Apr 19, 2018
  17. mikerz1985

    mikerz1985

    Joined:
    Oct 23, 2014
    Posts:
    10
    Hi -- the default scene doesn't seem to work in 2017.4.1f1

    I just started a new project, added imposterRender as layer 8, and opened the example scene. The spawner makes however many objects i select for it, but none of them render -- not in MeshRenderer mode nor in DrawMesh mode. The quads are there, but no pixels render in either the editor or game view.

    I'm developing on Windows, in case that's important. My target platform is hololens, but currently i'm just on the PC build
     
  18. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
    Hi
    Very strange problem. I have just install Unity 2017.4.1, create new empty project, import asset from AssetStore, set up layer. After that everything works fine.
    Can you see something in preview mode?
    2017.4.1.jpg


    Also can you do next steps? It may helps to find out problem.
    Step 1: run scene, select atlas handler, go to debug mode(right click on inspector window) and select render texture as shown on image
    step 1.PNG
    Step 2: go back from debug mode
    step 2.PNG
    Step 3: select alpha channel of render texture
    step 3.PNG
    I need to know how 2nd and 3rd steps looks on your side

    Thanks!
     
  19. mikerz1985

    mikerz1985

    Joined:
    Oct 23, 2014
    Posts:
    10
    Thanks -- Strangely enough, it works today! My computer rebooted over the weekend -- I guess unity was screwed up. Launching different instances didn't change this behaviour on Friday. Will let you know if this happens again with the additional info.

     
  20. lmgiorni

    lmgiorni

    Joined:
    Mar 14, 2014
    Posts:
    4
    Does the imposters support normal maps?
     
  21. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
    Imposter System will convert objects with normal map to imposters without any problem.

    Does imposter's(quad's) material have normal map? - No
     
  22. lmgiorni

    lmgiorni

    Joined:
    Mar 14, 2014
    Posts:
    4
    Is there any chance to add normal maps to the material in a future release? I would not hesitate on buying if its implemented.

    Thanks
     
  23. dozhwal

    dozhwal

    Joined:
    Aug 21, 2014
    Posts:
    43
    Last time i checked, your asset didn't worked well with some LOD generators like Automatic LOD.
    Can you confirm it works today?
     
  24. radiantboy

    radiantboy

    Joined:
    Nov 21, 2012
    Posts:
    676
    This looks great, just wondering how it works, so you just a single script to each object that you would like to billboard?
     
  25. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
    Normal maps on imposter material? or object material?
    You can use whatever you want material for objects that will be converted to imposter. (shader must write to ZBuffer, so no transparent materials, only cutout)
    Imposter materials dont use normal maps because they dont need them. All light captured to imposter texture. If light changed then imposter regenerating his texture for new light.
     
  26. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
    I dont know. Never tried Automatic LOD before. If you export models that they prodeces, then they will work with imposter system. I cant see any problem here.
    Did i miss something?
     
  27. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
    Yes, single script with functionality like in LODGroup component.
     
  28. radiantboy

    radiantboy

    Joined:
    Nov 21, 2012
    Posts:
    676
    Can it work from a parent object, like could it do an entire chunk of my city, with just one script ?
     
  29. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
    Yes, but you will need to select renderers like in LODGroup.
    If you familiar with scripts you can use ImposterSystem.ImposterController.m_LODs['index'].Add('renderer') method to specify renderers
     
  30. dozhwal

    dozhwal

    Joined:
    Aug 21, 2014
    Posts:
    43
    Automatic LOD or new autoLOD script from unity create 3 LOD game object.
    Do the billboard that is created is placed after the last existing LOD at the place of culled ?



    here for exemple, i want Imposter to be placed to LOD3 place, or at "LOD 4". = coexisting with existent LOD.
    last time i tried, i remember it didn't work.
     
  31. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
    Yes, with 'Tools/ImposterSystem/Setup ImposterController(s)' you can replace LODGroup with ImposterController including all settings. Also you can specify where imposter LOD will be placed: "After last LOD" or "Replace last LOD"
     
    dozhwal likes this.
  32. dozhwal

    dozhwal

    Joined:
    Aug 21, 2014
    Posts:
    43
    Ok, Finally i bought it. even if the price is a little high for my use :p
    I hope you will continue to work on this asset ! ;)
     
    MUGIK likes this.
  33. GCat

    GCat

    Joined:
    Jul 31, 2012
    Posts:
    163
    please upload a webgl demo to test it out
     
    Gekigengar likes this.
  34. lolclol

    lolclol

    Joined:
    Jan 24, 2013
    Posts:
    135
    does this work on mali 400 gpu mobile ?
     
  35. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
    Nope
    Imposter System uses RenderTextures, so hardware must support them.
     
  36. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    7,274
    Is there an option to bake the renders in at edit time, rather than runtime?

    In my particular situation, the camera can only be in one of a handful of fixed positions, known at edit time. So I would like to render the heavy, complex objects ahead of time, and have those textures built into the project to be quickly displayed at runtime.
     
  37. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
    No, there is no pre-baked imposters

    Maybe this asset would help in your situation:
    https://assetstore.unity.com/packages/tools/modeling/lod-billboards-29080
     
  38. Gekigengar

    Gekigengar

    Joined:
    Jan 20, 2013
    Posts:
    354
  39. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
    I already seen this product. These guys are cool. Just look at this spherical impostors!

    Who said that they wouldn't be?;)

    Yep, it is possible. Need some time to make research and come up with something better.
     
    AthrunVLokiz and Gekigengar like this.
  40. Jason-RT-Bond

    Jason-RT-Bond

    Joined:
    Mar 26, 2012
    Posts:
    37
    @MUGIK

    An awesome asset. Works wonderfully. I'd like to second the request for pre-baked imposters, though. My use-case: I'd like to load and display imposters at a distance without loading the full model into memory.
     
  41. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
    Really glad to hear this! This means a lot to me.

    I can't promise anything in the next 2 weeks. Must to deal with my current projects.
     
  42. seille

    seille

    Joined:
    Jun 2, 2014
    Posts:
    3
    I have read the comments, I chose to make a decisive purchase. I hope that you can continue to update from time to time, we will use it in actual project development.
     
    MUGIK likes this.
  43. mikerz1985

    mikerz1985

    Joined:
    Oct 23, 2014
    Posts:
    10
    Hi @MUGIK -- your asset has been working out really well for me for a local mobile vr scene with separate cameras. Thank you for that.

    Could you clarify why native single camera VR wouldn't work? I've read through the comments and taken a look at your camera settings -- you leave the stereoTargetEye to the default of Both, so in that case the camera will be taken over by a separate opaque process which will change FOV and potentially the transform of the object. Is this the issue you're running into? Setting it to None should fix that. No FOV changes should occur.
     
    astracat111 likes this.
  44. astracat111

    astracat111

    Joined:
    Sep 21, 2016
    Posts:
    379
    Hey there,

    I'm wondering if this would work with my game. You see I have like billboarded trees already like so:

     
  45. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
  46. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
    If you have billboards already, then there is no need to use Imposter System.

    UPD:
    Also I would advise to combine billboards into one single mesh
     
    Last edited: Aug 8, 2018
    astracat111 likes this.
  47. astracat111

    astracat111

    Joined:
    Sep 21, 2016
    Posts:
    379
    This is what I'm finding. Thanks!
     
  48. stefantodorovic999

    stefantodorovic999

    Joined:
    Jun 16, 2016
    Posts:
    1
    Hi all of the billboards are cut off for some reason. I take a look on material and atlas that it is using and for some reason some reason all the images are cut off on top. Please help. 1.png
     
  49. MUGIK

    MUGIK

    Joined:
    Jul 2, 2015
    Posts:
    97
    Hi!
    It seems like bounds is not correct. Try to call ImposterController.RecalculateBounds() or preview imposter in edit mode.
     
    twobob likes this.