Search Unity

[BETA RELEASE] Amplify Impostors

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

  1. Willbkool_FPCS

    Willbkool_FPCS

    Joined:
    Jun 13, 2018
    Posts:
    143

    One free license per legal entity
    Every individual or organization is able to sign up for this offer to use our technology without limitations, even for commercial products and projects. However, if you want to scale your use of InstaLOD with more licenses, you will need to purchase additional licenses. It is prohibited to sign up for the free license more than once.


    It appears that they have a free license, I'm going to check it out.

    Right now, I'm using the LOD program that comes with Meshmaker. It works okay on some things, but not too good on characters.;)
     
  2. DeepShader

    DeepShader

    Joined:
    May 29, 2009
    Posts:
    623
    Ohhh, great **___** I'll check this out :D
     
  3. VictorKs

    VictorKs

    Joined:
    Jun 2, 2013
    Posts:
    136
    Hi I'm trying my optimize my scene with imposters to cut down polys, so I have about 3000 buildings (16 unique meshes). My concerns are:
    1) Will same mesh buildings batch? and what is the batch size limit?
    2) Can I just add the generated mesh along with its material to a meshFilter meshRenderer component or are there other scripts required to make it work?

    PS. I use my own LODing system which just changes mesh and material based on distance this is why the 2nd question.
     
  4. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,108
    Free trial is limited for a year though.
     
  5. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,632
    Questions :)

    1. I have some speedtree 8 trees, will I be able to use the lods from that when rendering normally, then fall back to amplify? is that the right process? I am using HDRP.

    2. As it's a shader graph I guess I can do what I want with it inside HDRP's shader graph? sounds quite powerful and this native support is super interesting.

    3. Does this mean it could work with transparent objects as well? glass etc...

    Nice update!
     
  6. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    284
    1) The impostors are using GPU instancing with defaults settings, meaning, a batch size of 500 if I recall correctly. You can even use other solutions like GPU Instancer to further increase the performance gains.

    2) Yes, you can do that, and in fact the impostor component does nothing at runtime, so you only need the mesh and the material with the correct values (do note the material has some hidden properties). The only reason we leave it there for now is for future updates where we want to be able to either create impostors at loadtime/runtime or having them be created at realtime.

    1) Not sure if I understood, but to give you a general answer: speedtree already creates a billboard as its last LOD so the ideal use case here would be to use impostors as a replacement of that billboard and set the material properties the same as the other lods (hue color, etc). If your question is just whether you can use the other non-billboard lods or not with impostors, yes you can use them, you only replace the lods as you like/need.

    2) The native support if for baking only, at least for now, creating these master nodes and making sure everything works it's daunting and time consuming, and sadly some features don't seem to be compatible with the way shader graph does things. For instance creating impostor lightmaps is still not possible because only now in the more recent version unity added the ability to add custom functions. So we'll add support of what we can where it makes sense. In terms of rendering the impostor you can do whatever you want granted you have ASE in which we have control over and can make sure everything works correctly. We did it mostly because without that support users would need to be converting shaders all the time. At least in this way then can just copy their existing shader and do some adjustments. For your case, if you need some sort of custom behavior in HDRP when rendering the impostor you would need ASE for that.

    3) You could try doing it already with custom baking however, transparency is one of those cases where there's nothing stopping us from rendering alpha maps to do transparency but then the results might not be what you are looking for. Regardless, this is still an area I need to do more tests and research. Is that perhaps what you need to do in HDRP? I can look into that.
     
    hippocoder and VictorKs like this.
  7. VictorKs

    VictorKs

    Joined:
    Jun 2, 2013
    Posts:
    136
    I purchased it and I'm really satisfied overall but I've come across some issues with shadows. Top down the are no such weird shadows but appear when object is near the corners of the screen.

     
  8. shawnepdmartin

    shawnepdmartin

    Joined:
    Jul 27, 2015
    Posts:
    49
    Any chance of adding instanced indirect to the shaders so that it can play better with Vegetation Studio? I think it's just a few lines of code in the shader, but I'm no shader coder.
     
  9. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,321


    Greetings,

    We've decided to focus our resources exclusively on the official Unity forum! We're disabling our own hosted forums but the old posts will remain available for future reference.

    Due to popular demand, we’ve also created an official Discord Channel. Here you’ll be able to interact with other Amplify Users, discuss our products, share feedback and your work. This is a new experience for us so we ask that you be patient and provide feedback on what you think we could improve.

    Official Discord channel - Join us today!
     
  10. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    284
    Are you using the latest version from our website? The only time I've seen that happen (where it depends on the place in the screen) was on an issue that was unrelated to the version that is available to you. Does it happen with every object? Also, keep in mind that there will always be *some* misalignment of the shadows and the impostor itself, which is more noticeable at close range. This happens because the "frame" that is caught by the camera significantly different by the one caught by the light. That's why the material has two extra options to adjust the shadows to your setup, which I recommend you to check out in yours. They are called Shadow Bias and Shadow View, the first "moves" the shadow away from the light while the second flattens the shadow.

    Regardless, this shouldn't be happening, test out the material properties using the latest version, if it doesn't help please email me that object so I can take a look on whats going on.

    I've already been contacted by the developer, there are a few technical and logistical issues to deal with but I think we found a way to work around them, if I recall correctly he's going to figure some things out first and we'll include a package with the necessary stuff in it.
     
  11. castana1962

    castana1962

    Joined:
    Apr 10, 2013
    Posts:
    362
    Hi. I am very excited to try this Unity plugin !!! On the other hand What is the name assets environment used in this video in its start? Thanks
     
  12. Amplify_Borba

    Amplify_Borba

    Joined:
    Jul 24, 2017
    Posts:
    538
    Hi, glad to know you're interested in Amplify Impostors, please don't hesitate to share your feedback!

    The assets used are in the presentation video are from Unity's free 3D Game Kit, you can find them here.
     
    castana1962 likes this.
  13. castana1962

    castana1962

    Joined:
    Apr 10, 2013
    Posts:
    362
    Thanks Amplify_Borba !!!
    If it is possible, I will let you know any feedback
    Best Regards
    Alejandro
     
    Amplify_Borba likes this.
  14. castana1962

    castana1962

    Joined:
    Apr 10, 2013
    Posts:
    362
    Hi Amplify_Borba
    Since you told me that used the 3D Game Kit for the Amplify Impostors example, I am interested in trying with this 3D game Environment optimized with your Amplify plugin, for it, Could you let me get 3D game Environment optimized with your plugin?
    I would need to try with it for VR purposes and if it is ok, I will buy your plugin.
    Would it be possible?
    Thanks for your time
     
  15. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    284
    Hi all, just updated the build for the final 2019 release with some other fixes. One thing to note tho, the new ShaderGraph support is turned off in 2019.1 for now. This is because we still need to find a good solution after unity decision to close ShaderGraph code. This isn't affect just us with impostors but anyone that was developing stuff for ShaderGraph, I'll share more with you once I have something.

    In any case, get the new version on our website as usual or from the store which should be up by now.


    Amplify Impostors 0.9.5 rev001 - Asset Store - Amplify Products


    Fixes
    • Fixed various compatibility issues with unity 2019.1
    • Fixed issue with _LightCoord error when compiling shaders in some platforms
    • Wrapped ShaderGraph support to only work with 2018 as a temporary solution for access errors in 2019.1
     
  16. Amplify_Ricardo

    Amplify_Ricardo

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

    Thank you for your interest!

    I'm the one responsible for that project and video but I'm afraid it's not something we would share for performance or quality tests. The project will not give you an accurate idea of what you can do with Amplify Impostors, we only converted a few bits and pieces for the shots recorded.

    I'm afraid that we don't have any demos to share at this moment but it's, hopefully, something we can offer soon after beta phase.

    Thank you for understanding.
     
  17. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    284
    Hello again, this release is simply a hotfix for the previous version. I missed a few things and it was causing troubles for some of you. Also the previous revision was posted incorrectly in our website (it was correct in the asset store tho) so if you downloaded it from our website it was actually downloading the previous version :oops: Sorry for the inconvenience, it should be fine now.

    Do note that these last versions were mainly to fix and support SRP in 2019.1, so if that's your setup make sure to unpack the necessary compatibility packages for the fixes to take effect. You can find them at
    AmplifyImpostors > Plugins > EditorResources > RenderPipelinePackages


    As always, if you find anything, please report to us.

    Cheers

    Amplify Impostors 0.9.5 rev002 - Asset Store - Amplify Products


    Fixes
    • Fixed issue that was preventing proper detection of SRP in 2019.1 and producing pink impostors on bake
    • Fixed issue with specularity not being properly set in LWRP in recent SRP versions
     
  18. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    284
    Sorry for the spam in builds lately but I felt it was important to make sure SRP support gets stable, this build only fixes an issue with baking in HDRP 5.X unity 2019.1

    Cheers

    Amplify Impostors 0.9.5 rev003 - Asset Store - Amplify Products

    Fixes
    • Fixed issue with baking shader in HDRP 5.X in unity 2019.1 that was causing empty bakes
     
  19. looytroop

    looytroop

    Joined:
    Jun 22, 2017
    Posts:
    18
    It seems as though when I bake the imposter, no matter what mesh I use, the imposter is invisible, the mesh has 0 verts, and the billboard mesh has nothing on it. Am I doing something wrong? I do have the references set up.
     
  20. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    284
    What's your setup? unity version, plugin version, SRP if using it.

    If you are not already, try using the latest version. If you are using the latest of everything that isn't a beta send us a sample of what you are trying to bake to our email so I can take a look on whats going on.
     
  21. ProjectMakers

    ProjectMakers

    Joined:
    May 6, 2015
    Posts:
    3
    Hello,
    I have a question about the camera positions that "bake" the images.
    I would need a certain object from 4 directions but all at a certain angle from the object.
    Is there a way to determine only the number of frames, also their position.

    Thank you in advance.
     
  22. JBR-games

    JBR-games

    Joined:
    Sep 26, 2012
    Posts:
    567
    This has been one of my main concerns with this asset. They really need to open up the ability set how the images bake, from what angles, and add perspective view baking, with sliders for distance & camera location.
     
  23. looytroop

    looytroop

    Joined:
    Jun 22, 2017
    Posts:
    18
    Thank you I am using Unity version 2018.3.12f1 and cannot go to a newer version. As for the Amplify Plugin, I bought it yesterday, so it should be the newest version, I do not see that I can update it. I will send you all an email with more specifics. Thank you so much for the help!
     
  24. FiveFingerStudios

    FiveFingerStudios

    Joined:
    Apr 22, 2016
    Posts:
    359
    If I know that a player will only view an imposter at a certain angle is it possible to limit the snapshots to a perspective? Sort of like enhanced billboards.

    For example, I have background houses that I want to make imposters of. I know that the player never see it from above or below. I also know that since it far, they won’t ever see it from the sides or back. But I want them to be able to see it from the front and maybe 30 degrees left or right.

    This would allow us to get more transitions between billboards and more importantly, maximize texture usage as angles that aren’t used aren’t baked.

    Edit: I just noticed the 2 posts above are regarding this same use case. That’s 3 in a row...let’s make it happen :).
     
    JBR-games likes this.
  25. ProjectMakers

    ProjectMakers

    Joined:
    May 6, 2015
    Posts:
    3
    I've put together my own little solution now.
    There are already variables foreseen which influence the starting position of the camera, you can make them accessible with the code below in the Inspector and thus influence the starting position of the camera.

    I have just packed something in addition, now you can also adjust the angle of the respective axis. It's a bit fuzzy to get the desired result, but it works. :)

    Maybe this will help a few people.
    Not the cleanest solution, but should be enough for now. :)

    Important: Only for ImpostorType.Spherical

    AmplifyImpostor.cs approx line 140
    From:
    Code (CSharp):
    1.         [NonSerialized]
    2.         private const float StartXRotation = -90;
    3.         [NonSerialized]
    4.         private const float StartYRotation = 90;
    To:
    Code (CSharp):
    1.         [SerializeField]
    2.         public int StartXRotation = -90;
    3.         [SerializeField]
    4.         public int StartYRotation = 90;
    5.         // Change BakeCam Angle
    6.         [SerializeField]
    7.         public int XRotation = 180;
    8.         [SerializeField]
    9.         public int YRotation = 360;
    In the Method "GetCameraRotationMatrix":

    From:
    Code (CSharp):
    1. fractionY = -( 180 / vframes );
    To:
    Code (CSharp):
    1. fractionY = -( XRotation / vframes );
    And from:
    Code (CSharp):
    1.  
    2. Quaternion vRot = Quaternion.Euler( 0, ( 360 / hframes ) * x + StartXRotation, 0 );
    3.  
    To:
    Code (CSharp):
    1. Quaternion vRot = Quaternion.Euler( 0, ( YRotation / hframes ) * x + StartXRotation, 0 );
    AmplifyImpostorInspector.cs approx line 710, directly after:
    Code (CSharp):
    1.                if (EditorGUI.EndChangeCheck())
    2.                {
    3.                   UpdateDynamicSizes();
    4.                   m_recalculatePreviewTexture = true;
    5.                }
    6.                EditorGUILayout.EndHorizontal();
    Add new:
    Code (CSharp):
    1.                // Start Axis Offset
    2.                EditorGUILayout.BeginVertical();
    3.                m_instance.StartXRotation = EditorGUILayout.IntSlider("Start Rotation X", m_instance.StartXRotation, -180, 180);
    4.                EditorGUILayout.EndVertical();
    5.  
    6.                EditorGUILayout.BeginVertical();
    7.                m_instance.StartYRotation = EditorGUILayout.IntSlider("Start Rotation Y", m_instance.StartYRotation, -180, 180);
    8.                EditorGUILayout.EndVertical();
    9.                // BakeCame Angle
    10.                EditorGUILayout.BeginVertical();
    11.                m_instance.XRotation = EditorGUILayout.IntSlider("Rotation Angle X", m_instance.XRotation, 0, 360);
    12.                EditorGUILayout.EndVertical();
    13.  
    14.                EditorGUILayout.BeginVertical();
    15.                m_instance.YRotation = EditorGUILayout.IntSlider("Rotation Angle Y", m_instance.YRotation, 0, 360);
    16.                EditorGUILayout.EndVertical();
     
    Last edited: May 6, 2019
    JBR-games and FiveFingerStudios like this.
  26. marcrem

    marcrem

    Joined:
    Oct 13, 2016
    Posts:
    153
    Hello,

    Really satisfied of my purchase so far! Now when working with my low poly clouds, it looks like it doesn't scale the objects correctly.

    Here's an example of a cloud model.
    Screenshot_1.png

    Now when generating an impostor, here's what it looks like.
    Screenshot_2.png

    Just scaling up the impostor will not work, everything starts to look messy. I'd really like the impostor mesh to have the same visual scale as the original model. Any idea?

    Here's an example with another cloud:

    Original:
    Screenshot_3.png

    Impostor:
    Screenshot_4.png
     
  27. ProjectMakers

    ProjectMakers

    Joined:
    May 6, 2015
    Posts:
    3
    Hello, marcrem,
    the developer describes that the model, which is processed with the Amplify Impostor, should have a scale of 1,1,1. If your clouds just have a scale of 0.7 as shown in your pictures, this could be the problem.
    Put the clouds into a parent object, change the scale to 0.7 and set the clouds to 1.0.
    This should hopefully fix your problem.
     
    Amplify_Borba likes this.
  28. Karan90

    Karan90

    Joined:
    Mar 19, 2019
    Posts:
    7
    Hello,

    I have one question and just wanted to know if it works with VR?
     
  29. SinDeSiecle

    SinDeSiecle

    Joined:
    Sep 30, 2017
    Posts:
    18
    Hi,

    Can I use impostors with realtime lighting? I mean, the sun position changes and I have a night and day cycle. Will the impostor adapt to light changes in such a way?
     
  30. Amplify_Borba

    Amplify_Borba

    Joined:
    Jul 24, 2017
    Posts:
    538
    Hello, although we do not offer this kind of control at this time we do plan to offer additional bake controls as Amplify Impostors matures out of its current beta stage, rest assured that all the feedback we get is registered and taken into consideration by the developer!


    Thank you for sharing, this is one of the reasons why we provide complimentary access to the source code, and we're always excited to see advanced users take advantage of this!


    Hello, as ProjectMakers was kind to mention, for now you should set your scale to 1,1,1 on the original object before doing the bake.


    Hello, yes! Amplify Impostors work great in VR, and we're currently unaware of any specific issues for this use case.


    Hello, yes, the impostors should behave accordingly as far as lighting and shadows are concerned!
     
    JBR-games likes this.
  31. Iman_col

    Iman_col

    Joined:
    Mar 24, 2018
    Posts:
    13
    Hi. I have many problems when it comes to cooking the impostors. My GPU or Graphic Card collapses at the time of rendering, the monitor screen turns black and when the Unity tabs return they are no longer displayed. I can only render the impostors using the CPU, for this I have to deactivate the driver of the graphics card to use the CPU and for that I also have to reopen the project, although the process is slower, it is more stable.

    I would like to know how this can be done, rendering with the CPU without having to disable the GPU. Having to disable the GPU driver to create impostors and activate the graphics card to make the tests is tedious
     
  32. SinDeSiecle

    SinDeSiecle

    Joined:
    Sep 30, 2017
    Posts:
    18
    Yes, they do! I bought the asset and have been working on it for 3 hours. My most complicated models go down to 6 to 8 poly at distance. That is exactly what I was looking for. Thanks...
     
    Amplify_Borba likes this.
  33. marcrem

    marcrem

    Joined:
    Oct 13, 2016
    Posts:
    153
    It does the weird scale even if the objects are at 1,1,1 in inspector.
     
  34. Amplify_Borba

    Amplify_Borba

    Joined:
    Jul 24, 2017
    Posts:
    538
    Hello, we're sorry to hear this!

    The reported black screen issue might occur if you run out of GPU memory, which could happen if you bake your impostors with a high Texture Size setting such as 8k on a 3GB GPU, could you confirm if this was the case?

    Does it occur when using the default value of 2k or even 1k maps?

    Also, what GPU are you using and which Unity and AI versions are you currently working on?


    That's strange, could you send us a simple sample project to support@amplify.pt with the issue present so that we can investigate this on our side using the same data as you?
     
    JBR-games likes this.
  35. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,321


    The Madness Sale is almost over but did you know you can get 10% OFF your entire purchase when you spend $50 or more? Use promo code MAYSALE10PERCENT during checkout!

    Check out our deals at 50% OFF - Asset Store Page
     
  36. JBR-games

    JBR-games

    Joined:
    Sep 26, 2012
    Posts:
    567
    Dam.. That would have been useful yesterday
     
  37. DigitalGlass

    DigitalGlass

    Joined:
    May 12, 2009
    Posts:
    86
    Any plans to support baking a nested prefab? I have buildings that are built out of modular parts and rather than make an impostor for each part, I'd rather make an impostor for the entire building
     
  38. Iman_col

    Iman_col

    Joined:
    Mar 24, 2018
    Posts:
    13
    I use a GeForce Nvidia 8600 GS GPU, as I said it is not a very efficient graphics card, but I wonder if there was a way for its asset to use the CPU instead of the GPU, without having to deactivate the driver of my graphic card .

    I will be sending the project by mail with the name "Test Assent 2017"
     
  39. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    1,321
    Sorry about that, wish we had share it earlier.


    If it's possible, absolutely. We're actually looking into the new Prefab workflow due the all the latest changes.
     
    DigitalGlass and JBR-games like this.
  40. Amplify_Ricardo

    Amplify_Ricardo

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

    Not sure what we can do here, I assume Unity itself might be quite taxing in specific situations with a 2006 GPU. I would recommend using a simpler baking and runtime shader but I don't think this would be ideal.

    Is this for a specific older installation? We're not aware of any technique that takes advantage of the CPU in that manner, what you mean by disabling the graphics drivers?

    Thanks!
     
    Last edited: May 16, 2019
    Iman_col likes this.
  41. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    284
    Hey there, just a quick fix that was breaking baking impostors in some specific configurations.
    Grab it at the usual places!

    cheers ;)

    Amplify Impostors 0.9.5 rev004 - Asset Store - Amplify Products

    Fixes
    • Fixed issue where some transform settings were not being respected thus baking the impostor in weird ways
     
  42. TKDHayk

    TKDHayk

    Joined:
    Dec 22, 2015
    Posts:
    70
    has anyone used this to create imposers for entire terrains or tiled terrain segments? (to be viewed from distance or mid range, not to be played on ofc).
     
  43. Amplify_Borba

    Amplify_Borba

    Joined:
    Jul 24, 2017
    Posts:
    538
    Hello, it could work depending on your setup, for example if you're just generating LOD's for the mesh chunks, just make sure that each terrain object group has its meshes aligned to prevent possible issues such as seams.
     
  44. naelstrof

    naelstrof

    Joined:
    Sep 12, 2017
    Posts:
    5
    Taking a default unity tree and trying to bake an impostor causes a problem like this.
    Here's the tree I'm trying to impostor:
    upload_2019-5-22_2-58-36.png
    Here it is after the bake:
    upload_2019-5-22_2-58-49.png
    I'm guessing it doesn't like Unity's "Optimized nature" shaders. Is there anything I can do about it beyond developing my own nature shaders?
     
  45. Amplify_Borba

    Amplify_Borba

    Joined:
    Jul 24, 2017
    Posts:
    538
    Hey there, support for Unity Tree Creator trees is something that has been previously requested and is currently pending further investigation by our developer, hopefully we can tackle this in the near future!
     
  46. naelstrof

    naelstrof

    Joined:
    Sep 12, 2017
    Posts:
    5

    Okay cool! For now I'll switch the trees to a cutout standard shader right before baking. The colors are so different but at least they look like trees.
     
    Amplify_Borba likes this.
  47. SgtLame

    SgtLame

    Joined:
    Nov 26, 2015
    Posts:
    43
    Hi,

    Here is one picture from the asset store page:




    I would like to know if the trees on the mountains in the background were rendered using Amplify Impostors.
    If not, what technique is used?
     
  48. Amplify_Borba

    Amplify_Borba

    Joined:
    Jul 24, 2017
    Posts:
    538
    Hello, all those trees in the background are impostors!

    You may either use them as part of a LOD group or by themselves, especially in situations where you know that the camera won't go up close to them.
     
    ftejada likes this.
  49. SgtLame

    SgtLame

    Joined:
    Nov 26, 2015
    Posts:
    43
    Thanks for your reply. Well I guess I'll have to get this asset then. :)
     
  50. TKDHayk

    TKDHayk

    Joined:
    Dec 22, 2015
    Posts:
    70
    I'm actually using small islands so I don't need to be worried about terrain tiling. Once i figure out how to export my terrain splatmap/texture date to a terrain OBJ, ill try this.