Search Unity

[Best Tool Asset Store Award] Amplify Shader Editor - Node-based Shader Creation Tool

Discussion in 'Assets and Asset Store' started by Amplify_Ricardo, Sep 13, 2016.

  1. o1o101

    o1o101

    Joined:
    Jan 19, 2014
    Posts:
    639
    Quite possibly a nooby mistake, but only my Amplify Shaders are not working on Android Vulkan, every other shader works fine, Amplify shaders show pink. What settings can I check in Amplify to make sure it is going to work? What other steps do I need to take?
     
  2. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    That's quite strange as we have been regularly doing tests with ASE on 2019.3. What is your current ASE version, it's the latest one from our website?

    We don't have any official documentation on converting shaders from the default pipeline into SRP.
    Without seeing the shaders, I cannot give you a proper answer if the conversion is possible.
    Changing a shader from Standard to HDRP in ASE is going to its Shader Type dropdown on Node Properties and selecting HD/Lit.
    You'll need to configure the new HD Lit master node and that requires some knowledge on what the Standard master node was doing which may be a bit tricky if don't have much experience using ASE.
    But the main problem is that here are certain features on our Standard Surface Master Node, like Tessellation, that we still don't have on HDRP. So if these shaders are p.e. using tessellation then it won't be possible to convert.

    Can you let me know your Shader Type? Is it Standard Surface?
    If so, can you to your Rendering Platforms options over the Node Properties and check if the Vulkan checkbox is turned on?
    Please download our latest version if you notice that your ASE doesn't have the Vulkan checkbox (this was a recent addition).
     
  3. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    1,235
    I definitely understand. This is the makeup of the clothing shader if that might help? I don't see any tesselation or anything super fancy going on with it.











     
  4. o1o101

    o1o101

    Joined:
    Jan 19, 2014
    Posts:
    639
    Hi @Amplify_RnD_Rick Yes standard surface shader or blinn phong, no custom lighting, etc. I just downloaded the latest version of Amplify on Unity 2018.4.8f1 , I do not see an option for "Vulkan" in Rendering Platforms. Some of my shaders work, others do not, particularly my terrain shaders & other similar shaders, these all work fine on Metal or Open GLES 3.0.
    I am using my own version of the four splats terrain shader function, does it need an update? It has all my custom nodes so I cannot just update it.

    Thanks

    upload_2019-10-4_15-11-46.png

    Edit: Upgrading Amplify seemed to break my terrain shader with Metal on IOS, however I made a couple changes and the differences are the following: I enabled instanced terrain and switched from blinn phong to standard.
    Nothing is fixing this, is there a way to revert Amplify version?

    upload_2019-10-4_17-54-8.png
     
    Last edited: Oct 5, 2019
  5. apan-bin

    apan-bin

    Joined:
    May 15, 2015
    Posts:
    29
    Can AES 1.7.0 not be used on the URP of 2019.3?
     

    Attached Files:

  6. astromedia-only

    astromedia-only

    Joined:
    May 13, 2014
    Posts:
    25
    I have latest from assetstore atm. (1.7.0 it says)
     
    Last edited: Oct 5, 2019
  7. ChristmasGT

    ChristmasGT

    Joined:
    Sep 21, 2011
    Posts:
    11
    Hey Rick!

    Do you know if Amplify Shader is able to handle an effect similarly to: https://mehm.net/blog/?p=1218?

    In a nutshell, I'd need to use the scene's depth to be able to clip the player / entities from within the camera viewpoint. Providing a custom depth image wouldn't be a problem (it's what we've been doing). But it doesn't appear to be possible in Shader Graph.

    Idealistically we would like to develop something similar to the following code from within Amplify Shader, is this possible?

    Code (CSharp):
    1. Shader "Background/DepthWrite" {
    2. Properties {
    3.         _DepthTex ("Depth Texture", 2D) = "white" {}
    4.         _RenderedTex ("Rendered Image", 2D) = "white" {}
    5.         _Near("Near clipping plane", Float) = 1
    6.         _Far("Far clipping plane", Float) = 40
    7.     }  
    8.     SubShader {
    9.         Pass {
    10.             CGPROGRAM
    11.             #pragma vertex vert
    12.             #pragma fragment frag
    13.  
    14.             #include "UnityCG.cginc"
    15.             struct vertOut {
    16.                 float4 pos:SV_POSITION;
    17.                 float2 uv:TEXCOORD0;
    18.             };
    19.  
    20.             vertOut vert(appdata_base v) {
    21.                 vertOut o;
    22.                 o.pos = UnityObjectToClipPos (v.vertex);
    23.                 o.uv = v.texcoord.xy;
    24.                 return o;
    25.             }
    26.  
    27.             uniform sampler2D _DepthTex;
    28.             uniform sampler2D _RenderedTex;
    29.             uniform float4x4 _Perspective;    // The perspective projection of the Unity camera
    30.             uniform float _Near;
    31.             uniform float _Far;
    32.  
    33.             struct fout {
    34.                     half4 color : COLOR;
    35.                     float depth : DEPTH;
    36.                 };  
    37.          
    38.          
    39.             fout frag( vertOut i ) {            
    40.                     fout fo;
    41.  
    42.                     // Read the depth from the depth texture
    43.                     float4 imageDepth4 = tex2D(_DepthTex, i.uv);
    44.                     float imageDepth = imageDepth4.x;
    45.  
    46.                     // Go back to clip space by computing the depth as the depth of the pixel from the camera
    47.                     float t = (imageDepth * (_Near - _Far) * - 1);
    48.                     float4 temp = float4(0, 0, t, 1);
    49.                     float4 clipSpace = mul(_Perspective, temp);
    50.              
    51.                     // Carry out the perspective division and map into screen space (DirectX)                  
    52.                     // We only care about z
    53.                     clipSpace.z /= clipSpace.w;
    54.                     clipSpace.z = (0.5*(1.0-clipSpace.z));
    55.                     float z = clipSpace.z;
    56.  
    57.                     // Write out the pre-computed color and the correct depth.
    58.                     fo.color = tex2D(_RenderedTex, i.uv);
    59.                     fo.depth = z;
    60.                     return fo;
    61.                 }
    62.  
    63.             ENDCG
    64.         }
    65.     }
    66. }
    Thanks!
     
    Last edited: Oct 6, 2019
  8. petey

    petey

    Joined:
    May 20, 2009
    Posts:
    1,824
    Hi all,

    Just wondering if someone could help me out with this,
    Screen Shot 2019-10-07 at 2.35.32 pm.png
    I'd like to stop this additive shader from overlapping itself. I thought maybe that's something that could be done with a sub shader, maybe but I haven't made anything like that in Amplify.
    Any chance someone could point me in the right direction with this?

    Thanks!
    Pete
     
  9. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    From the shots you sent, this seems to be a pretty regular Standard Surface shader using the Metallic workflow.
    So it's a matter of changing the Shader Type from Surface to HD/Lit and redo the connections to the Master Node.
    Have you already tried it? Did it throw any errors?

    Also, here's a neat tip on taking screenshots at an ASE graph if you are a Windows user. We added a new button to our canvas a while ago which takes a screenshot to your whole graph and saves it into the ScreenshotASE.png image file into your project folder.

    ScreenShotButton.png
    This shot you sent does not seems to be from our latest ASE v1.7.0r9 since even the items ordering in the Rendering Platforms list are now different.

    Vulkan.png
    Have you downloaded the latest version from the Unity Asset Store or our website? The website version is always ahead and its the one containing the latest Vulkan toggle.

    Regarding your terrain shader, this is quite strange as no changes have been made on the Standard Surface Master node for quite a while.
    Can you send me your original terrain shader ( before compiling it with the latest ASE version ) through the support@amplify email so I can check it on my end and see what might be breaking?

    You can use ASE with the Universal Rendering Pipeline but, like the other RP, only shaders created with the URP template are compatible with it.

    That shader ( Animated Fire ), since its a Standard Surface, it is using Unity's default pipeline thus its not compatible with URP.

    ASE automatically installs the URP templates if it detects you have it installed on your Packages folder. So you should see on the Create Menu > Amplify Shader menu both the Universal > PBR and Universal > Unlit options to start creating URP compatible shaders.

    Please download the latest version from our website since its a bit more updated and let me know if the problems persists.

    You can do this using our Shader Templates. These, in a nutshell, are regular shaders with a bunch of special tags which allow us to retrieve information from the shader and create shaders based on them.
    On that particular shader you sent, you need to be able to write on the Depth buffer which our regular template shaders don't do. But it's quite easy to pick p.e. our image effects template and create a custom one from it to be able to write on the Depth Buffer.
    Our templates documentation is quite outdated, but we can definitely help you in the process of creating this custom template if you encounter any issues.

    If you are using the standard Surface Shader Type you can maybe go to its Depth options and activate the Extra Depth Pass.
    This will create a first pass which only renders to the Depth buffer, which may be what on need to for you to prevent that overlap.
     
  10. astromedia-only

    astromedia-only

    Joined:
    May 13, 2014
    Posts:
    25
    Thx for response, after update and resaving the shader it seemed for a moment it works (except i was not able to get transparency on my shader to work correctly) but after few undo/redo changes i was greeted with this error:
    upload_2019-10-7_15-50-9.png
    This is not first time i see some redefinition issue in my shaders ... is it some mess during updating Unity and ASE versions ASE cant deal with properly or do i have something badly setup?
    Seems like editor is not fully able to do changes without some leftover code or something i guess?
    And during going through options i had found this bug:
    upload_2019-10-7_15-52-57.png

    Btw there is currently no HD/Unlit template?
     
  11. kilik128

    kilik128

    Joined:
    Jul 15, 2013
    Posts:
    909
    i_ looking for more post process sample
    like color id and maybie draw basic texture like camera projection
    thank's
     
  12. o1o101

    o1o101

    Joined:
    Jan 19, 2014
    Posts:
    639
    The latest website version fixed the Metal terrain issue, but I am having no luck with Vulkan + my instanced terrain shader, I sent you a PM with all the details including the shader source and a video of the behavior.
     
  13. Cleverlie

    Cleverlie

    Joined:
    Dec 23, 2013
    Posts:
    219
    would anyone be my hero and give me some orientation on how to modify the depth buffer on the pixel shader? I can't find any good info googling this, beside the fact that if you are coding the shader you could edit the o.depth value in the fragment code, but how could I achieve this in ASE?

    the deal is this: I'm rendering a 360 image of a scene, and along with it I'm gonna render a 360 grayscale depth texture of the scene, then in my shader I'll render this image and use the depth texture to "replace" the real scene depths, this way my idea is to fake the scene as if it was a realtime render, such as impostors do ( I guess) and then this "impostor" skybox will blend nicely with realtime 3d objects on the scene.

    any ideas? thanks in advance
     
  14. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    1,235
    The screenshot tool sounds great, I use linux though. I will try to make the change and see how it goes. I appreciate it.
     
  15. a_d_69

    a_d_69

    Joined:
    Jun 7, 2017
    Posts:
    13
    Good afternoon! I’m doing a shader for decals and ran into a problem of artifacts on the UV. Decals are implemented using a projector and render texture superimposed later on the desired object. With this approach, artifacts appear on the cliffs of the sweep and the seams become visible. I got rid of this problem by shifting the texture by 1 pixel in each direction, thereby overlapping the seams, but each frame will be very resource-intensive to perform this procedure in the shader. To solve this problem, I need to draw an outline around the texture and paint each outline pixel in the color of the adjacent pixel. Please tell me how to implement this functionality? Or maybe there is another solution to the problem?P.S. I tried to perform the offset operation on four sides using a regular script, but there is a problem with overlays, because if you shift the texture 4 times and overlap, there is a problem with translucent pixels. When overlapping, they lose transparency. P.P.S. photo taken from someone else's video to clearly show the problem.
     

    Attached Files:

  16. oceanq

    oceanq

    Joined:
    Apr 10, 2015
    Posts:
    22
    I have a question about replacement shaders.

    Using Amplify, if I make a shader with a _MainTex property, and also make a replacement shader that uses _MainTex, when the replacement shader runs, then the texture in _MainTex is passed to the replacement shader as expected.

    However, if I use one of the default Unity shaders that has a _MainTex property instead, then when I run my replacement shader, neither the texture (nor the UV's) are passed to replacement shader.

    So as it stands now, I can use replacement shaders (made in Amplify) if all of the assets are also using shaders that were authored in Amplify, but not if my assets are using the Unity Standard Shader (or any other Unity shader, as far as I can tell).

    I'm assuming that I'm doing something wrong! Any advice would be appreciated.
    Thanks!
     
  17. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    Thanks for reporting this issue on Additional Directives menu. Because of the UI changes made by Unity on 2019.3 some elements are now broken/not showing correctly.
    We will release fixes for each one of them as soon as we can.
    Regarding the issue you are having, undo/redo in ASE were always a bit a source of problems but it shouldn't generate those type of issues.

    Can you please try to close all ASE windows, reimport the templates and then reopen the shader and compile it?
    If the issue persists please send me the shader so I can compile it on my end and see what might be happening?

    Regarding HD Unlit, we do have a template for it but its not completely up to date. You can find it at the Create menu over Deprecated > HD > Unlit.

    EDIT: The error you are being greeted with is because the HD package on 2019.3 already both the TransformPreviousObjectToWorldNormal and TransformPreviousObjectToWorld functions declared on their libraries.
    It seems that you only need to remove them from the compiled code, but I'll need review the templates as soon as 2019.3 comes out of beta.
    What you can do for now is open the HD\Lit template and simply remove those functions from there. This way all your shaders will be compiled without these functions.
    Please let me know If you have any issues trying this on your end.

    We do have a couple of post-processing samples over our package. You can check them on AmplifyShaderEditor > Examples > Official > TemplateExamples > PostProcess.
    These should be a good place to start for what you are trying to do.

    Thank you so much for sending that info to me. I'll take a look at that as soon as I can.

    Unfortunately we are using Windows specific code to be able to fetch the ASE canvas how we need it to. So for now this will be a Windows only specific feature.

    Sometimes these artifacts are to mips and how you are trying to access them when fetching the texture. But it's really hard for me to be able to help you without seeing the actual state of your graph. Is it possible for you to share it so I can better help you out?


    My first time that came into mind was, are all these shaders on the same Render Type?
    If property names are the same then it should work independently of where they were created.
     
    Last edited: Oct 8, 2019
  18. a_d_69

    a_d_69

    Joined:
    Jun 7, 2017
    Posts:
    13
    it’s definitely not a mip-maps, I’ll try to explain how it works, so that the essence of my problem is clearer. In order to project a sticker on the geometry, I use a projector. The projector projects the sticker on the car, then takes a mesh scan and puts a sticker on it, the resulting texture is baked in the render texture and superimposed on the desired scan channel. This way I get the projected texture to scan the car for example.

    In order for the stickers to project correctly, it is necessary that there are no overlays on the scan, otherwise the texture will also be duplicated where it is not needed. Thus, the sweep needs to be cut, and if the sweep cut passes into the cut of one pixel, a ladder appears. This problem can be solved by filling the adjacent pixel with the color of the previous pixel. The task is very simple, just make a border around the texture and fill it with the colors of this texture. Maybe there is some solution to this problem?
     

    Attached Files:

  19. Sibylline-Siren

    Sibylline-Siren

    Joined:
    Jul 8, 2012
    Posts:
    22
    Hi,
    I was wondering: is there any way to keep on the default metallic/smoothness PBR options in the output node while using custom lighting? I was checking this* demo video from the developers of the Borderlands game and they seem to feature both metalness/roughness and the kind of stuff one would implement through custom lighting, like textured shadows and toon ramps.

    *05:00 onwards
     
  20. oceanquigley

    oceanquigley

    Joined:
    Apr 20, 2018
    Posts:
    7
    Yep! In fact, the replacement shader works fine (replacing the relevant standard Unity shader and rendering) so long as it's not relying on UV's or _MainTex (it could be that just the UV's are failing to make it to the replacement shader, will test that)
     
  21. astromedia-only

    astromedia-only

    Joined:
    May 13, 2014
    Posts:
    25
    Awesome, it really helped to remove those declarations from template and then change in those shaders template to something else and then back and resave it ... thx a lot.
    I have only those two errors now but i can live with them i suppose so im posting just as feedback :) :
    upload_2019-10-8_20-38-38.png

    And one more question if i may - is there also planned postprocess support for hdrp? like now its not done by postprocessing volume anymore but just volume :) and they does not seems compatible.
     
    Last edited: Oct 8, 2019
  22. sabojako

    sabojako

    Joined:
    Jul 7, 2017
    Posts:
    48
    Hey there,

    Can barely read the text in the new console box. This might be because I'm on Light theme?
    Using Unity 2019.3.0b4 and ASE 1.7.1

    Cheers :D

    upload_2019-10-8_17-40-26.png
     
  23. oceanq

    oceanq

    Joined:
    Apr 10, 2015
    Posts:
    22
    Testing replacement shaders (replacing the default Unity Unlit/TransparentCutout shader with a custom Amplify transparent cutout shader), and for some reason, the UV's are not being passed to the replacement shader. If I use procedural UV's the texture will render, but if I try to use the UV's on the model it will not. It seems like the model's UV's are just not present for the Amplify Replacement Shader.
    Any advice?
     
  24. megatonmedia

    megatonmedia

    Joined:
    May 9, 2015
    Posts:
    15
    Using the LW/Unlit shader type I'm getting an error with unity_ColorSpaceDouble being undeclared. Is there an alternate I'm supposed to use in lwrp?

    More info:
    Unity 2019.2.8f1
    Amplify 1.7.1
    Shader error in 'Quantum/AudienceTinted': undeclared identifier 'unity_ColorSpaceDouble' at line 133 (on d3d11)

    upload_2019-10-8_21-49-24.png
     
  25. iceb_

    iceb_

    Joined:
    Nov 10, 2015
    Posts:
    95
    Have anyone had any success with using an ASE shader with LWRP and successfully (2019.2) able to cast emissive out onto a Baked lightmap?

    I've tried converting old shaders to LWRP/PBR, and also creating fresh new ones. The results were always the same, can't get Emissive Output from ASE lwrp shader to cast emissive lights onto a bake. (Yes I made sure the Global Illumination dropdown was set to Baked, no difference) I tested my settings with a regular Unity LWRP shader and it was able to cast Emissive Lightbakes outward.

    I hope I'm wrong but it looks like the function is completely broken currently?

    :(
     
  26. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    Gotta be honest, right of the bat I can't figure out a proper solution for you. I need to give it some thought.

    Yes you can use the Standard Surface Light node. This node calculates Unity's Standard Surface light results on a Custom Lighting environment.

    That's cool to know. Thank you for that feedback.
    We don't have any immediate plans for Post-Processing effects on HDRP mostly because Unity hasn't given us a way to do so.
    Right now there's no way (that I'm aware) of creating and using custom post-processing effects on HDRP.

    My second guess is that somehow shaders are using different texture channels to get the uv coordinates. P.e. one is using TEXCOORD0 and another is using TEXCOORD1.
    Is it possible for you to check this?
    In either way, if possible, please share the shaders with us so we can try and see what is happening on our end?

    That variable unity_ColorSpaceDouble only exists on the default standard pipeline.
    We haven't updated that node to properly work on SRP.
    What you can do is this:


    Which is how unity internally creates that variable over the default pipeline.

    Please copy this link below to your clipboard and paste it directly on your ASE canvas:
    http://paste.amplify.pt/view/raw/554ee20a

    Can you share a small project with us with this issue you reported? It would help us immensely to quick check what is happening and provide a fix.
     
  27. millionpoly

    millionpoly

    Joined:
    Mar 5, 2016
    Posts:
    6
    Is it possible to get the portal effect from the legacy renderer stencil example working with HDRP? I've tried setting up some new Deprecated/HD/Lit shaders with the same stencil settings but the read object isn't being clipped by the mask object.

    AmplifyShader.png
     
  28. millionpoly

    millionpoly

    Joined:
    Mar 5, 2016
    Posts:
    6
    Got it working. It was just a matter of changing the render queue for the mask.

    AmplifyShader2.png
     
    Amplify_RnD_Rick likes this.
  29. Giustitia

    Giustitia

    Joined:
    Oct 26, 2015
    Posts:
    113
    Hi everybody.

    So, have a silly question about a post processing shader. I'm trying to get the world position for each pixel from screen view in a post processing shader. I've been trying to get it for about 10 hours with no success :(
    Can anyone put a bit of ligth on my path? :)

    Thank you everybody!! :D
     
  30. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    You can use our Reconstruct World Position From Depth shader function.
     
  31. cyuxi

    cyuxi

    Joined:
    Apr 21, 2014
    Posts:
    49
    Hi,
    It seems the redefinition issue of " uniform half4 _MainTex_ST " is happening on the PostProcessStack template for the latest version 1.7.1.001. Also this pps template is still using CG at the moment, Is it going to be switched to HLSL in future?
     
  32. Giustitia

    Giustitia

    Joined:
    Oct 26, 2015
    Posts:
    113
    Thanks! Will give a try :D
     
  33. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    We did some tests and it compiled correctly on our end. Can you let us know your particular setup so we can replicate on our end and fix the issue?
    We do not have any immediate plans on updating this template, at least for now.
     
  34. zsr9212123

    zsr9212123

    Joined:
    Aug 28, 2019
    Posts:
    2
    Hi,
    I'm having this issue that render queue is not working for transparent shaders.
    So I made a shader for an object that is in touch with transparent particles. I tried to change the render queue both in the graph editor and text editor, neither of them works. The object is always rendered in front of the particles visually.
    How could I fix the problem? Please help!
    I'm working with the latest version of ASE (1.7.1) in Unity 2019.2.6f1 and HDRP.
     
  35. Giustitia

    Giustitia

    Joined:
    Oct 26, 2015
    Posts:
    113
    Hi everybody.

    I'm getting problems with post processing shaders made with ASE after building the game for windows. I have on my camera Unity's bloom and AO plus another post processing effect that I made on ASE. In editor all works fine, both edit and play mode, but as I make a build of the game for windows, all post processing effects on my camera stop working if the custom shader is applied to.

    Any suggestion? :)
     
  36. Giustitia

    Giustitia

    Joined:
    Oct 26, 2015
    Posts:
    113
    Ok, solved! I had to include my PP shader in "Always Included Shaders" Graphis setting section. Since I've no objetcs in scene referencing it or materials using it (just the PP Profile) it seems that Unity doesn't build the sahder. Hope this may help someone in the future :p
     
    Amplify_RnD_Rick likes this.
  37. RoughSpaghetti3211

    RoughSpaghetti3211

    Joined:
    Aug 11, 2015
    Posts:
    1,708
    @Amplify_RnD_Rick
    Is there any plans to add tessellation to SRP shader templates

    thanks
     
  38. apan-bin

    apan-bin

    Joined:
    May 15, 2015
    Posts:
    29
    Problems with checking“Draw Instanced”options for custom terrain shaders ASE custom terrain draw instanced.png ASE custom terrain draw instanced.png
     
  39. MikeDaBird

    MikeDaBird

    Joined:
    Apr 17, 2018
    Posts:
    2
    Hello,

    When I saw that the Voronoi node was added, I instantly downloaded the update. Sadly, I've got some issues with it when combined with a Time node. Plugging a Time node with a scale other than 1 in the Angle port of the Voronoi throws an undeclared variable error when compiled.
    upload_2019-10-13_19-40-23.png

    I tested in two different project (my main game project which is relatively complex and another one with way less content), one using 2019.1.7f1 and the other 2019.1.9f1, not using any SRPs and the same error happened in both.

    Oddly enough, if I set the Voronoi node to use Unity's Voronoi or if I use any other of the Time nodes available (like sin, cos, delta or parameters,) the issue goes away.

    In a simple shader like in this image, I can also go around the error using a multiply node instead of changing the scale. But in the current shader I'm making (which the setup is currently inside a function,) it throws the same error, but with a different variable returned.

    I wanted to simulate water foam with it, so that was a pain to debug. At least, I managed to make something nice with the Unity's Voronoi route. Still doesn't change the fact that this might be a bug in the plugin.
     
  40. cyuxi

    cyuxi

    Joined:
    Apr 21, 2014
    Posts:
    49
    Hi Rick,
    you are right.The redefinition warning already gone after reopening the project. Don't know what was causing it before. Sorry for the false report of bug. The PPS workflow is just working fine.
     
    Amplify_RnD_Rick likes this.
  41. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    What is the shader that you are applying to the particle system? Its render queue may be the cause for this ordering issue.
    Is it possible for you to pack a small sample with this so we can more quickly pinpoint what might be the issue?

    We do have plans to add tessellation over SRP but we're unable to give you an estimate as it does not depends entirely on us.

    By the screenshot you sent, I'm assuming that you are on Unity 2019.3 and SRP 7.x.x . Are you using the Universal Rendering Pipeline or HD?
    Is it possible for you to pack and send a small sample so we can test on our end?


    We were already able to reproduce the issue and will fix it on our next build.
     
  42. apan-bin

    apan-bin

    Joined:
    May 15, 2015
    Posts:
    29
    YES using the Universal Rendering Pipeline
     
  43. apan-bin

    apan-bin

    Joined:
    May 15, 2015
    Posts:
    29
    YES using the Universal Rendering Pipeline
     
  44. apan-bin

    apan-bin

    Joined:
    May 15, 2015
    Posts:
    29
    YES using the Universal Rendering Pipeline
     
  45. zsr9212123

    zsr9212123

    Joined:
    Aug 28, 2019
    Posts:
    2
    @Amplify_RnD_Rick Thanks for replying! Actually I've solved this problem by changing "Sorting Priority".
    But I'm having another problem now.
    First I created a shader in transparent surface type with ASE 1.7.0 and it performed well.Then I compiled it in ASE 1.7.1 and the shader performed wrongly. I didn't change anything about the shader.I just clicked the "set active" button(green button) once.It seems that this only happens in transparent type.So is there any difference between ASE 1.7.0 and 1.7.1 in generating shaders?
    Thanks for helping!
     
  46. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    Between 1.7.0 and 1.7.1 there were quite a lot of changes, without seeing your shader is really difficult for me to pinpoint what might be the issue.
    Can you please send me the shader via our support@amplify.pt email so I can take a look at the code differences between compiling each version and see what might be the problem?

    We've uploaded a new version into our website.

    Release Notes v1.7.1 rev 02/03:
    • Fixes:
      • Fixed issue both on creating duplicate texture ST constants and being declared out of the cbuffer
      • Fixed possible issues on 'Texture Transform' node over SRP
      • Fixed baked lighmap issues over Lightweight/Universal PBR templates
      • Fixed SimpleTerrain sample water shader which was broken due to recent 'Screen Depth' node changes
      • Fixed compilation errors on 'Voronoi' node
      • Fixed issue on registering duplicate instanced variables which are already on template as non-instanced
    One of the issues we fixed over this build is one reported by @iceb_ regarding baking lightmaps with Lightweight.
    I just wanted to leave a quick note because besides compiling the shader with the new template, you'll need to setup your material with the proper flags on a C# script.

    Code (CSharp):
    1. MyMaterial.globalIlluminationFlags &= MaterialGlobalIlluminationFlags.AnyEmissive;
    2. MyMaterial.globalIlluminationFlags |= MaterialGlobalIlluminationFlags.BakedEmissive;
    3. MyMaterial.globalIlluminationFlags |= MaterialGlobalIlluminationFlags.RealtimeEmissive;
    4. MyMaterial.EnableKeyword( "_EMISSION" );
    Unity does this under the hood via their Lightweight RP custom inspector, but for now our users need to manually do this to be able to have their material baking the correct information on lightmaps.

    We do apologize for the inconvenience.
     
    Last edited: Oct 17, 2019
  47. apan-bin

    apan-bin

    Joined:
    May 15, 2015
    Posts:
    29
    By the screenshot you sent, I'm assuming that you are on Unity 2019.3 and SRP 7.x.x . Are you using the Universal Rendering Pipeline or HD?
    Is it possible for you to pack and send a small sample so we can test on our end?

    yes ,using the Universal Rendering Pipeline
     
  48. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    Please pack and send me a sample via the support@amplify.pt email containing a scene with a terrain using your materials and shaders so I can more quickly debug and pinpoint what might be the issue.
    This would help me immensely.
     
  49. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    Hey guys,

    We've uploaded a new build into our website which fixes an issue reported by @zsr9212123 concerning incorrect shader conversion between templates from different ASE versions (1.7.0 and 1.7.1).

    Here are the release notes:

    Release Notes v1.7.1 rev 04/05:
    • Fixes:
      • Fixed issue on getting incorrect inline properties on templates
      • Fixed 'Diffusion Profile' node issues on SRP v6.9.X
      • Fixed multiple issues regarding shader functions Additional Directives usage
     
  50. IRobin42

    IRobin42

    Joined:
    Jun 6, 2019
    Posts:
    2
    Hi all,

    I've made a shader using Amplify on the built-in render pipeline, and I have an issue when porting the shader to LWRP; there's no option to add an extra depth pass, which I need. Is it unavailable in Amplify Shader Editor for LWRP or have I missed something? I've tried to modify by myself the shader, with limited shader knowledge, with no success. I tried to add this pass before the main one:

    Code (CSharp):
    1. Pass
    2.         {
    3.             Name "DepthOnly"
    4.             Tags{ "LightMode"="DepthOnly" }
    5.             ColorMask 0
    6.             ZTest Less
    7.             ZWrite On
    8.  
    9.             HLSLPROGRAM
    10.             #define _RECEIVE_SHADOWS_OFF 1
    11.             #define ASE_SRP_VERSION 60901
    12.  
    13.             #pragma prefer_hlslcc gles
    14.             #pragma exclude_renderers d3d11_9x
    15.             #pragma target 2.0
    16.  
    17.             //#pragma shader_feature _ALPHATEST_ON
    18.  
    19.             #pragma vertex DepthOnlyVertex
    20.             #pragma fragment DepthOnlyFragment
    21.  
    22.             #include "Packages/com.unity.render-pipelines.lightweight/Shaders/UnlitInput.hlsl"
    23.             #include "Packages/com.unity.render-pipelines.lightweight/Shaders/DepthOnlyPass.hlsl"
    24.             ENDHLSL
    25.         }
    Any help would be welcome!

    One hypothesis I have is that because LWRP is a single pass forward rendering, it couldn't support extra depth pass? I'm not sure about it because of my limited shader/tech art knowledge, what do you think?

    tl;dr: is it possible to add an extra depth pass in a LWRP shader, and if so, how? :)

    Thanks in advance!