Search Unity

  1. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

[BETA RELEASE] Amplify Impostors

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

  1. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    Thanks for confirming it, let us know how it works after the rebake.
     
  2. tntfoz

    tntfoz

    Joined:
    Sep 29, 2016
    Posts:
    115
    So you recommend learning shader language, and more particularly how the impostor shader works so I can change it, OR you want to upsell another asset?

    Okay... o_O
     
  3. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    Not sure I follow, you mentioned an addition; we're unable to provide that type of custom request at the moment. Since you mentioned shader additions, I provided the available options.

    1. The shader can be edited manually; if you're confortable with that, if not we don't recommend it of course.

    2. I'm afraid it's not a matter of upselling, it's a matter of actually having a tool that's capable of doing it. This used to be possible with Unity Shader Graph until they locked support for custom output nodes such as ours. If you go back to an early Shader Graph version(SRP only), you might be able to play with it but we don't guarantee that's going to work as expected on later SRP versions.

    Apologies for the inconvenience, I wish there was something else we could do.
     
    Last edited: Jun 23, 2020
    tntfoz likes this.
  4. FiveFingerStudios

    FiveFingerStudios

    Joined:
    Apr 22, 2016
    Posts:
    404
    Does this asset support VR single pass stereo in Unity 2017.4? I'm getting two images (one for each eye)...with the right eye S***ting the object to the right.
     
  5. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    I don't think we've tested that recently with 2017, there might be version specific issues depending on the platform.

    What's your target HMD, and is the problem present on the editor as well?

    Thanks!
     
  6. Decordova360

    Decordova360

    Joined:
    Nov 9, 2015
    Posts:
    8
    Hello,
    Just purchased Amplify Impostor to try it out, using URP with Unity 2019.3.14f1, however when I go to bake, the normals comes out fine but the abledo is full Black, Any idea?
     
  7. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    Thank you for your purchase, we appreciate it.

    -Did you import the URP package? (AmplifyImpostors\Plugins\EditorResources\RenderPipelinePackages\ImpostorsURP)
    -Can you see our URP sample Impostors?
    -Are you using a custom shader?
    -Is the correct preset set to URP?

    upload_2020-7-7_9-18-37.png

    Thanks!
     
    Decordova360 likes this.
  8. Decordova360

    Decordova360

    Joined:
    Nov 9, 2015
    Posts:
    8
    Yes, URP package imported
    Yes, seeing URP sample Impostor
    Yes, I am using a custom shader I made with Unity's ShaderGraph for just the asset/Model material (nothing crazy) for which I am trying to convert into an Amplify Impostor to use as a final LOD asset.
    Yes, preset is set to URP.
    upload_2020-7-7_11-24-50.png
     
  9. FiveFingerStudios

    FiveFingerStudios

    Joined:
    Apr 22, 2016
    Posts:
    404
    I'm targeting Oculus Rift and HTC Vive. What do you mean if its in editor as well? If you mean the scene view, no. It only occurs in the HMD.
     
  10. ThomAThomson

    ThomAThomson

    Joined:
    Dec 16, 2015
    Posts:
    7
    I just purchased and can see that it's a well made asset that provides a lot of options. That said, my particular use-case is very strange, and may require me to delve into the code a little bit. I am using the camera perspective editor to give my game a particular 'oblique gentleman' camera angle. The cube in the following screenshot best illustrates what I mean.

    upload_2020-7-8_17-26-27.png

    I am hoping to use amplify impostors as part of my a 2d / 3d asset creation pipeline, which will involve baking a simple unlit 3d model to a sphere imposter (Ideally with only 4 directions, none from the top or bottom), then painting over the resulting albedo texture in photoshop. This should produce a 2d-looking drawing that has full depth-write based on its 3d representation.

    My only major question is: If I were to somehow replace the camera matrix in the amplify impostor code, with the one from my configuration of Camera Perspective editor. would that result in impostor images in that particular camera angle?
     
    laurentlavigne likes this.
  11. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    Thanks for the details, this is most likely caused by the Custom Shader; Amplify Impostor has very specific shader requirements. Usually, we'd recommend using Amplify Shader Editor to create your own custom Bake and Runtime shader.

    At one point, we actually supported the creation of Custom Bake/Runtime shaders via Shader Graph but the ability to add our own custom outputs has been since removed.

    Just to confirm, you can make regular bakes using the standard URP material, correct?


    I was asking if the problem happens in the editor, during play, in the game view. If you send us a small project sample to support@amplify.pt, we would be happy to test it on our side.


    Thanks, hope it works for your requirements. However, baking options are somewhat limited to the technique used, there's currently no way to exclude sides; the baking process is guided by your model axis.

    I'm wondering if Impostors are right for your project as they would be always visible; for reference, Octahedron impostors break down at close distances, Spherical impostors hold-up better but it the effect cam be noteceable. Perhaps it would be quicker/simpler to create your own 4-direction solution using our Shader Editor, or manually, than to actually hack away at Amplify Impostors.

    I can't know for sure if you're going to be able to adapt it to use that specific plugin, it's not something we've explored.
     
    Decordova360 likes this.
  12. Decordova360

    Decordova360

    Joined:
    Nov 9, 2015
    Posts:
    8
    So if I understand correctly, the custom shader I have made with ShaderGraph for the material of my asset, not Impostor baking will only work if I also make a custom impostor shader?
    Or should I make my custom Material shader for my assets with Amplify Shader instead of ShaderGraph allowing Amplify Impostor to work as it should?
    I can package a small project and email it to you, I think I might have figured a workaround which Ill include in small package scene also, so for my grass or any object needed impostors, I just use Unity's standard URP Material, apply the textures then use Amplify Impostors to bake it out, once done, I then apply my custom made material to my object LODs that has the Impostors that are already saved to it.
    Just want to clarify, I've made a custom material shader for my objects to support channel packing, etc within URP and Amplify Impostors would only bake out proper its Normal texture, every other texture it provides is full black.
    :)
     
  13. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815

    You don't need custom or ASE shaders, you need a compatible Unity standard shader for it to bake. Otherwise, you're looking at creating a bake and runtime shader as we detail here: http://wiki.amplify.pt/index.php?title=Unity_Products:Amplify_Impostors/Custom_Baking

    This is an advance topic so we totally understand if this is not what you were looking for.
     
  14. takashi-kunn

    takashi-kunn

    Joined:
    Jul 10, 2020
    Posts:
    1
    Hello, I'm the one with issues about concave objects. As you say, my object are quite close to the camera so it maybe cause the issue and my object (a small room) have quite several things inside it, all in a single mesh. So is the tool can support that kind of situation?
     
  15. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    Hey there, thanks for reaching out.

    Distance is a factor, depends on how you're using it. Can you show us an actual example of it's used? We're available privately via the forum or support@amplify.pt if you can't share it here.

    Thanks!
     
  16. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    3,571
    Hello Ricardo, has animation been added to impostor?
     
  17. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    Animation is still being worked on, we had to rework a few things; turns out it's not as straightforward as it appeared to be. There are some technical issues/limitations that we need to workaround before it's ready to be released.

    But it works ;)
     
    laurentlavigne likes this.
  18. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    3,571
    I'm interested in reading more about it. At first glance it looks like animation is reading a few very large texture sheet with a shader that animate an offset uv, so, no biggy, right? :D
    I haven't run benchmark, how well do impostor perform with shared memory GPU like that on the Switch?
     
  19. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    Not exactly, it's actually generated at runtime, depending on the camera pov, which has its own quirks given that we support full lighting, including casting and receiving shadows. Instead of storing regular texture sheets, you can actually use it on dynamic stuff like skinned meshes or even swaying trees. As soon as we can figure out a few critical issues, we'll add it to the main package.

    Performance with static impostors is somewhat comparable to a regular PBR shader, the added complexity is negligible in most cases. However, given the low specs of the Switch, I would recommend avoiding octahedron impostors whenever possible. (our game uses both spherical and octa for more critial stuff)
     
  20. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    3,571
    thanks for the heads up, I believe with the amplify editor it's possible to make a shader impostor compatible. If said shader is more performant than PBR, will the impostor also be more performant than PBR impostor?
    And in your tests on the switch, what's the poly count when impostor is more performant than geometry?
     
  21. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    Yes, we support it via ASE but it's a bit of a more advanced subject, does allow for custom shader operations. If you're comparing similar shaders it's probably going to be negligible.

    Impostor performance does not depend solely on the geometry count, you should replace more complex meshes or meshes that repeat a lot; as for actual poly count, most impostors are probably under 10-20 tris.

    I would recommend testing your specific requirements with mock assets.
     
  22. olidadda

    olidadda

    Joined:
    Jul 27, 2019
    Posts:
    23
    I'm having a problem I saw mentioned on a question on the old forum: in the editor (both scene and with my Oculus Quest on (working as a PC headset) everything is fine, however when I build for Quest as a native app, the farthest impostors disappear. One of them must be at the limit because as I move my head it looks like it's clipping in and out of the scene.

    Is this a known issue? The main idea of using these was to be able to place them far away.
     
  23. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    Thanks for reaching out, we don't officially support the Oculus Quest so we don't really have a way to test that out. Perhaps we can assist in debugging the issue on your side.

    Does the impostor work when seen from a close distant in the Quest native app? Wondering if this could be specific to the project/platform parameters.
     
  24. olidadda

    olidadda

    Joined:
    Jul 27, 2019
    Posts:
    23

    Thank you for your answer! I saw your asset being advertised by a youtuber for Quest development so I thought it was compatible.

    Yes, they appear when moved closer, I've tried disabling dynamic occlusion and increasing camera far clipping plane to 2000. The render queues of the impostors are at 2000. Is there anything else you would suggest?
     
  25. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    Well, it can work we're just unable to officially support it, for now!

    Nothing else disappears at that distance? Not really sure, I would start by checking quality/tier parameters, see if shader precision is lower or something along those lines.

    Are you using LOD Groups?
     
  26. olidadda

    olidadda

    Joined:
    Jul 27, 2019
    Posts:
    23
    I am not using LOD groups unless Unity implements them by default, as player doesn't move in the scene there's no real need.

    I'll have a look at the shader precision thing
     
  27. olidadda

    olidadda

    Joined:
    Jul 27, 2019
    Posts:
    23
    P.S. no nothing else disappears at a distance, only the impostors
     
  28. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    Unity does not, if you're not using them it shouldn't be a problem.
     
  29. olidadda

    olidadda

    Joined:
    Jul 27, 2019
    Posts:
    23
    on the tier settings, my shader quality is set to low, I'm going to see if that makes a difference, although "low" is the recommended setting for mobile apparently.
     
  30. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    Yeah, give it a try with high quality to be sure that's not the problem.
     
  31. olidadda

    olidadda

    Joined:
    Jul 27, 2019
    Posts:
    23
    Unfortunately it didn't make any difference, any other ideas? I mean Quest is android so it should work, right?
     
  32. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    It should but we can't know for sure what's happening there.

    Apologies for the inconvenience.
     
  33. kyle_1988

    kyle_1988

    Joined:
    Mar 4, 2019
    Posts:
    2
    Hi, its a greate tool for impostor purpose.
    By the way, i tried to use it for some huge size objects something like ur product presentation
    .
    And my issue is that after baking texture size is 4096 may fit the artist's min requirment, plz check the attachment.

    But my target platform is mobile device. I trid to change axis frame and pixel padding with differetn solution, and I couldn't find a way to make a clear shot impostor object with texture size is less than 2048. Would u plz give some advise? Thx!

    PS: Unity 2019.3.4f1 + URP 7.4.1
     

    Attached Files:

    Last edited: Jul 17, 2020
    f1chris likes this.
  34. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    Try using less sides to increase the individual resolution of each view; use a smaller texture size , not 4k. I don't know what's your game type but for building you usually want to use them from quite far a way, distant is a factor.
     
  35. kyle_1988

    kyle_1988

    Joined:
    Mar 4, 2019
    Posts:
    2
    Cool , thanks!How to use less sides? Modify codes or reduce the vertical and horizontal frames?
     
  36. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    Hey there, you'd use Axis Frames parameter which defines the amount of views baked.
    http://wiki.amplify.pt/index.php?title=Unity_Products:Amplify_Impostors/Manual#The_Inspector

    With Spherical Impostors, it's possible to have a different amount of Horizontal and Vertical frames; be sure to click the Lock on the right to configure it.
     
  37. jaeeunpark

    jaeeunpark

    Joined:
    Feb 3, 2020
    Posts:
    4
    We suffer from unity keyword limit(256) and we found imposter shaders use some global kewords.
    Can we make it as local keyword?
    Check this screenshots.

    MicrosoftTeams-image (4).png MicrosoftTeams-image (3).png
     
  38. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    Not entirely sure, let me check with one of our AI devs.
     
  39. KingLlama

    KingLlama

    Joined:
    Jul 18, 2015
    Posts:
    187
    Running into a issue with the extendflycam.cs Would I just remove them?
    Assets\AmplifyImpostors\Examples\Assets\Scripts\ExtendedFlycam.cs(4,14): error CS0101: The namespace '<global namespace>' already contains a definition for 'ExtendedFlycam'
    Assets\AmplifyImpostors\Examples\Assets\Scripts\ExtendedFlycam.cs(33,7): error CS0111: Type 'ExtendedFlycam' already defines a member called 'Start' with the same parameter types
    Assets\AmplifyImpostors\Examples\Assets\Scripts\ExtendedFlycam.cs(40,7): error CS0111: Type 'ExtendedFlycam' already defines a member called 'Update' with the same parameter types
     
  40. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    Yes, you can just remove it. What's happening there is that you have a class on your project which is not properly enclosed into its own namespace, or perhaps a duplicate of that script; in any case, it's not required by Amplify Impostors.
     
    KingLlama likes this.
  41. KingLlama

    KingLlama

    Joined:
    Jul 18, 2015
    Posts:
    187
    Is there a way to combine two materials into one for the impostor?
     
  42. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    Yes, one of the cool features about Amplify Impostors is that you can combine multiple objects, using different materials, into a single impostor asset.

    Are you running into any problems? More often that not, it's caused by not using a compatible shader.
     
  43. mthawley

    mthawley

    Joined:
    Sep 7, 2018
    Posts:
    72
    Hi. I am using Unity 2019.4.8f1, URP, and have imported the ImpostorsURP package. I am trying to apply Impostors to NatureManufacture Forest Environment Beech trees, however the Impostors are appearing as all white.

    I am applying the StandardURP AmplifyImpostorBakePreset.

    Can you please advise?
    Cheers.
     
  44. mthawley

    mthawley

    Joined:
    Sep 7, 2018
    Posts:
    72
  45. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    Hello,

    You'll have to contact the Nature Manufacture developer; Amplify Impostors require a compatible shader. He might already be using Amplify Shader Editor so it should be possible but I can't guarantee it.

    Alternatively, use a compatible one such as the Unity Standard or Speedtree shader.
     
  46. Redrag

    Redrag

    Joined:
    Apr 27, 2014
    Posts:
    150
    Does this work on terrain? I have a large world with lots of islands which are made up of tiles. Can I make imposter’s of complete islands for distant views?
     
  47. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    Afraid not, mesh renderers only.

    Depends on how the island is constructed, it could be possible with some preparation but it really depends on how it's setup.(assuming it's using mesh renderers)
     
  48. Redrag

    Redrag

    Joined:
    Apr 27, 2014
    Posts:
    150
    No it is Unity terrain
    No it is Unity terrain - so I guess the answer is no?
     
  49. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,815
    The answer is no, Terrains use their own rendering component.

    Apologies for the confusion.
     
  50. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,145
    Impostors is working really well for me right now. Would love to see dynamic impostors as it takes a while to add lots of them to every building that is unique.

    Still working on that review/showcase but we're close!

    One tip: Making sure your scale on the root gameObject is 1,1,1 before creating the Impostor helps a lot when it doesn't work for you. Then scale it up after as needed.

    bigcity1.jpg
     
    Last edited: Aug 25, 2020
unityunity