Search Unity

[BETA RELEASE] Amplify Impostors

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

  1. montyjack

    montyjack

    Joined:
    Jan 10, 2014
    Posts:
    34
    Hey, I just purchased AmplifyImpostors and it's failing to compile. I'm getting a number of errors in AmplifyImpostorNode.cs starting with "WirePortDataType does not contain a definition for SAMPLERSTATE" WirePortDataType is defined by Amplify Shader Editor, so I'd expect it would work well with Impostors. Additionally, MasterNode does not contain a definition for SamplingMacros and TexturePropertyNode does not contain a definition for ForceSamplingMacrosGen.

    Any idea why this is happening?
     
  2. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,313
    Hey there, welcome aboard.

    Did you update ASE? You need to be running the latest version of both to use them in the same project.

    Otherwise, there could be some sort of conflict with another script, let us know if updating does not resolve the issue.
     
  3. KB_sky

    KB_sky

    Joined:
    Apr 22, 2021
    Posts:
    2
    Hi, I like this tool, but I wish it had an option to create an atlas that takes lighting into account. Basically bake the light on the model (from the scene).
    I wanted to use these impostors on a scene with baked lighting (where there is no real-time lighting), but the impostors look bland compared to the original: 2021-09-23 14-00-28.png
     
  4. Amplify_Ricardo

    Amplify_Ricardo

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

    Before diving into that, it's important to keep in mind that you're not going to be able to have unique lightmaps per-impostor, meaning that if you use this for something like trees in a forest it's not going to work as expected, they will all use the same lightmap regardless of their position in the scene. Unique impostors(a single object in your scene) could work but this is an advanced topic, we don't recommend it lightly as it would involve using our shader editor to create custom shaders.

    If you'd like to learn more about it, please check the following links:
    Custom Bake/Runtime Shaders: http://wiki.amplify.pt/index.php?title=Unity_Products:Amplify_Impostors/Custom_Baking
    Lightmaps: http://wiki.amplify.pt/index.php?title=Unity_Products:Amplify_Impostors/Lightmap_Baking

    Ideally, you'd want to use baked lightprobes instead of lightmaps.

    Apologies for the inconvenience, we're aware that this is not ideal.
     
  5. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,338
    This has been in "beta" for a _long_ time.

    Any chance at a few more features?

    I wonder if you plan to ever make creating imposters like these a little easier? -- I haven't used this in a while, but at least add some kind of a way to make baking lightprobes easier on a number of imposters at once (i.e. with a single-click or something). Not everyone can use realtime lighting, and I wasn't aware of the limitations with your product in this area (despite having purchased it). I'm glad I didn't have to learn about this lightmap-baking limitation the way _this_ poor guy did -- after all of my level lightmaps had been baked. :(

    And while we're at it -- any chance of _animated_ imposters? (Perhaps using a RenderTexture sort of deal?)
     
    atomicjoe likes this.
  6. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,313
    I think at this point we can say that it's a "soft beta", there's been a LOT of development put into AI since its release. One of the main features we wanted to add before concluding the beta were Runtime Impostors(which would allow for animated fx), unfortunately we ran into some limitations and specific problems; we attempted this 3 separate times... In any case, that's another discussion.

    Please allow me to clarify a few things:
    1. Baked light probe use is completely automatic; meaning that Impostors will use light probes without any action required on your part, you can even set Probe Anchors in the mesh component as you would with regular meshes.
    2. Lightmapped impostors was never a planned or advertised feature on our Roadmap, we added this due to popular demand as explained in our wiki. Our goal was always to provide next-generation impostors capable with Full Lighting and Shadowing support via Dynamic Lights and Probes.

    As always, please examine descriptions carefully and don't hesitate to ask any questions or confirm if a certain feature is available or planned. If you feel that Impostors is not a good fit to your project, contact sales@amplify.pt.

    New features are definitely coming but we've often prioritized support and SRP development due to user demand.
     
    Last edited: Sep 24, 2021
  7. iileychen

    iileychen

    Joined:
    Oct 13, 2015
    Posts:
    79
    Hi, just want to know when "Runtime baking impostors" will be supported? Thanks!
     
  8. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,313
    Hello!

    I'm afraid we don't have an ETA at the moment.
     
  9. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,338
    Fair enough. Thanks for the explanation.


    However... I do also want to say that I really don't think you should beat up the user for this one.

    After all:

    "Full Lighting and Shadowing support" does kind of give the sense that "Full" Lighting and Shadowing should obviously include lightmapping features of the engine -- since they _are_ part of the "Full Lighting and Shadowing" workflow for some users.
    To be clear, while you _could_ be sleazy and try to blame the reader for not fully grasping your intentions in how they are "supposed to" read that statement, this is not the true problem with that statement. The statement does not inherently _exclude_ lightmapping (or other lighting/shadowing) feature support, just because it mentions a particular _way_ it might do it.

    My suggestion to prevent further confusion, if I may be so bold:

    Get rid of that "Full" in the description (or at least add another line to clarify what features it _doesn't_ support), and it would come off as a little less "false-advertisey" to people.


    Not trying to be rude -- just making a point. I'm sure others feel the same about this statement as I do.

    Otherwise, thanks for your hard work on this.
    I'm hoping runtime imposters do come at some point. :)
     
  10. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,313
    I wouldn't go as far as saying "beating the user", so to speak; a refund is always available if something is misinterpreted or does not work as expected. Our intention is always to be as specific as possible, and we'd definitely never try to shift blame around; that's just not how we work as a developer.

    Point taken, we'll make a few adjustments to the description.
     
    awesomedata likes this.
  11. ciathyza

    ciathyza

    Joined:
    Aug 16, 2015
    Posts:
    106
    Need some support here to get started...

    I imported the Amplify Impostor package and the HDRP plugin for it. I check the HDRP sample scene and the barrel impostor object is invisible. When I try to bake it I get this error:

    Code (CSharp):
    1. [AmplifyImpostors] Something went wrong with the baking process, please contact support@amplify.pt with this log message.
    2. Index was outside the bounds of the array.  at (wrapper stelemref) System.Object.virt_stelemref_class_small_idepth(intptr,object)
    3.   at AmplifyImpostors.AmplifyImpostor.GenerateTextures (System.Collections.Generic.List`1[T] outputList, System.Boolean standardRendering) [0x0012a] in ...\Assets\THIRDPARTY\Amplify\AmplifyImpostors\Plugins\Scripts\AmplifyImpostor.cs:224
    4.   at AmplifyImpostors.AmplifyImpostor.RenderAllDeferredGroups (AmplifyImpostors.AmplifyImpostorAsset data) [0x005b6] in ...\Assets\THIRDPARTY\Amplify\AmplifyImpostors\Plugins\Scripts\AmplifyImpostor.cs:1144
    5.   at AmplifyImpostors.AmplifyImpostorInspector.DelayedBake () [0x00000] in ...\Assets\THIRDPARTY\Amplify\AmplifyImpostors\Plugins\Editor\Inspector\AmplifyImpostorInspector.cs:988
    What's going on with that?

    EDIT: Nevermind, works now! Seems something went wrong during import.
     
    Last edited: Sep 29, 2021
  12. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,313

    Hey there!

    I would recommend removing the AI folder and checking your console for any other possible Warnings/Errors; re-import AI and check the console once more.

    Before moving it into another folder, just to be sure, try baking an HDRP impostors first and check the console.

    This is definitely not the intended experience we wished you had but we hope we can help.

    Please also confirm what's your current AI, Unity and HDRP version.
     
  13. Jack_Martison

    Jack_Martison

    Joined:
    Jun 24, 2018
    Posts:
    5
    Greetings,

    I have a problem with impostors cross fading. For trees or vegeation not so noticeable, but i can say quite noticeable transition for objects, such as rocks or large objects.


    This is animated crossfading, obviously even more noticeable with manual crossfading

    Also attached screenshot from BOXOPHOBIC's Discord, assuming that the problem with impostor's crossfade (red is impostor)

    HDRP 2020 LTS
     

    Attached Files:

  14. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,313
    Greetings!

    Something does look a bit off there, are the original model or impostors using custom shaders? Or is that our default impostor shader?
     
  15. Jack_Martison

    Jack_Martison

    Joined:
    Jun 24, 2018
    Posts:
    5
    The model was converted to TVE Object shader
    I'm using F̶o̶r̶w̶a̶r̶d̶ Deferred rendering, just in case
     
  16. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,313
    Sorry, I'm not fully familiar with TVE shader/object usages. If the impostor is using a TVE shader you'll need to contact the TVE developer which would then contact us directly if he finds that the problem is on our end.

    If you're using our default impostor shader, we'd be happy to test an example. (support@amplify.pt)

    ** Edit ** We're in contact with the TVE developer regarding this issue, thanks!
     
    Last edited: Sep 29, 2021
  17. tcz8

    tcz8

    Joined:
    Aug 20, 2015
    Posts:
    463
    @Amplify_Ricardo Soooooo about that animation feature.... :p

    I have 100k entity that will need an imposter soon. Instanced rendering is working, LOD is working, collision is handled, Pathfinding is next, and then I'll dive into shaders. That's you guys :eek:


    :D No pressure, just trying to plan my work. Is it still going to happen? Maybe you can help us help you. What's going on with your previous attempt? Can we try/look at some beta? Test footage? Can we start a GoFundMe page to finance your motivation to finish it?
     
    Amplify_Ricardo likes this.
  18. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,313
    Hey there, looking forward to see what you're working on!

    When you say 100k, you mean a group of prefabs repeated in your scene or something else?

    We're motivated, no worries there! The problem is more on the rendering side, both in regards to performance and consistency. We've experienced different unexpected blockers with the techniques(3 different attempts) we've explored, usually resulting in inconsistent rendering(ghosting, clipping, etc) or incorrect shadows.

    We're still exploring this, and impostors in general, it's really an R&D problem.

    Not much to look at honestly, basically a lot of coding and specific test; we prefer to share the working version instead of our progress. Looking at our older internal posts, I do see some more visual updates. For example, a Ghosting example:




    We don't have an ETA for realtime impostors, I would not recommend counting on it for your current project as we cannot guarantee that this will work for your specific needs.
     
  19. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    1,031
    Does your asset support any runtime generation of imposters?
     
  20. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,313
    It does not, it's editor only.
     
unityunity