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. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    297
    Common, of course I did read your question, if I didn't want to bother with it why would I reply when the question is not even related to ASE? I simply misread that you are already using render textures. For some reason I thought you were thinking of using them but not actually using them. So no, without actually saving the result somewhere (ie: RT) you can't get the color of a fragment.
     
  2. ScoobyNooby

    ScoobyNooby

    Joined:
    Nov 14, 2017
    Posts:
    45
    to make the question stand out more in relation to ASE. Let me ask this way. is there a node that can detect how much light the shader has received.

    also does ASE support terrains? and if no then why not? the reason I ask why not is because CTS - Complete Terrain Shader uses a modified version ASE.
     
  3. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    297
    No, we don't have such a node.

    We don't FULLY support terrain shaders... yet. By support I mean we aren't providing any sample and special features that terrain shaders usually need. We are, however, expanding on the template system and we do have a terrain template in the works, which isn't ready yet. The reason CTS can use ASE is because he created the missing pieces himself or simply doesn't want/need them. Also, keep in mind that terrains can use regular shaders, so there's nothing stopping anyone from using a ASE shader in a terrain, we are simply missing some small parts like the dependencies, decals and fog customization.
     
  4. marcatore

    marcatore

    Joined:
    May 22, 2015
    Posts:
    160
    Thanks a lot. It worked disabling dynamic batching.
     
    Amplify_Paulo likes this.
  5. ArtC0de

    ArtC0de

    Joined:
    Sep 7, 2015
    Posts:
    14
    Hello, little noob question here.
    I'm making a 2D game, it will be possible to use this tool to create some shaders for 2D projects? Like Water shader, reflection or flames?
    Thanks
     
  6. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    6,362
    How do I change the shadow color?
     
  7. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    297
    Short answer: Yes!

    Since sprites can use any type of shader you can create a regular surface shader and turn off some options to save performance and you are good to go. If you want to do something more specific you can always create a custom lighting surface shader and finally if you want to go to the extreme you can use a sprite template.

    In any of those cases you'll need to figure out what exactly you want to do and only then proceed with the how. For instance, 2D water or ice shaders with reflection don't always actually reflect, sometimes you just want to reflect a few sprites and not the whole scene and is just less expensive to render a new sprite inverted. In case of flames it depends if you want them to burn something from start to finish or a continuous flame/heat effect. So it's very import to define exactly what you want because you don't always need/want a shader and even when you do there's multiples of doing it.

    If you have any troubles getting there just ask.

    What do you mean? Am I right to assume you are using custom lighting with a light attenuation node? If yes you can use the light attenuation node on the alpha input of a lerp node and put whatever color you want in the black part (shadow) and any other in the white part (light).

    Outside of custom lighting there is no concept of changing the shadows because they already do all lighting calculation (hence the name custom lighting) so they don't allow any interference (unless you edit unity internal shader files).
     
    Last edited: Nov 15, 2017
  8. Mister-D

    Mister-D

    Joined:
    Dec 6, 2011
    Posts:
    1,694
    bought it ;)
    thank u for an awesome tool!
     
  9. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    297
    Appreciated :] feel free to ask away if you need any help. Also check the online documentation for a bunch of in-depth information.
     
  10. Amplify_RnD_Rick

    Amplify_RnD_Rick

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

    We've just uploaded a new build into our website.
    Here are the release notes.

    Release Notes v1.3.7 dev 06:
    • New Shader Functions:
      • Half Lambert Term
      • Blinn-Phong Light
    • Fixes:
      • Fixed issue with setting the proper canvas mode when load the shader or the editor window on hotcode reload
      • Fixed issue with shader function titles not supporting hyphen characters
      • Fixed issue on not refreshing shader function include files on load
      • Fixed issue on shader function tab name not being renamed when its file is renamed from the editor
      • Fixed 'Texture Sampler' node preview when in reference mode
      • Fixed stack overflow crash with pasting 'Commentary' nodes
    • Improvements:
      • Premultiplied options now multiply RGB values with Alpha when in custom lighting mode
      • Shader Functions are now loaded by guid and fallback to name search method if load fails
      • Added custom categories for shader functions
        • Recompiled existing shader functions to account for new categories
      • Improved 'Triplanar Sample' node texture array support
        • Now allows different index for each texture when doing triplanar in cylindrical mode
      • Area from picking inputs from connections now only take the port icon into account and only include the label when dropping the connection
      • Added preview for 'Static Switch' node
    Happy shader creations!
     
  11. o1o101

    o1o101

    Joined:
    Jan 19, 2014
    Posts:
    639
    Hey @Amplify_Paulo and @Amplify_Ricardo

    Quick question about the LOD Fade Node, I was able to set everything up correctly, my shader multiplys the alpha clip for fading instead of using dithering, however the transition happens so fast (with either dither or alpha) that it is almost as bad as without crossfading.

    Any idea of how to slow down the fade transition ?

    Thanks!!
     
  12. Graham-B

    Graham-B

    Joined:
    Feb 27, 2013
    Posts:
    331
    Does Amplify Shader have a node similar to the UV Tile node in SF?

     
  13. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
  14. Graham-B

    Graham-B

    Joined:
    Feb 27, 2013
    Posts:
    331
    Super! Thanks for the info. This node appears to have the animation built in, is there a more lightweight solution if you only want to reference a single area in UV space without animating a series of them?
     
  15. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    I think no.
    Yo can set the speed to 0 and set the desired start frame and check if you have performance issues.
     
  16. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    Hey, everyone. Does anyone have issues with the latest build not working with Unity 2017.2?
     
  17. Khena_B

    Khena_B

    Joined:
    Aug 21, 2014
    Posts:
    273
    I'm trying to offset a texture by adding to the UV coords, it works but the offset is bigger the bigger the texture is and i want it to be consistent, I assume that's what MainTex_ST is for, is there a simple solution for this in ASE?
     
  18. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    297
    What issues are you having? I just tried importing to a 2017.2 project ans everything seemed fine.

    That's right, you want to use texel size. You might want to divide or multiply the result with either the texture size or the individual size of a pixel of a texture (texel). Check the link to see an example (although is doesn't do necessary what you want).
     
    Khena_B likes this.
  19. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Hi Paulo!

    Quick question - I'm using amplify for water but I'd like to remove the influence from any directional lights, and instead just use point + any reflection probes for lighting. Is this possible?

    It's because I have water that goes from outside to inside, and that's broken with directional lights.
     
  20. Amplify_RnD_Rick

    Amplify_RnD_Rick

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


    We've just uploaded a new build into our website.
    Here are the release notes:

    Release Notes v1.3.7 dev 07:

    • Improvements:
      • Added Shader Function previews
      • Improved node list update on current focused window when renaming a shader function
    • Fixes:
      • Fixed issue on tabs node list not being updated with shader function renaming
      • Fixed issue with opacity mask not working correctly in custom lighting mode

    On this build we added support for previews on shader functions. Now you can see node previews when working on a shader function and select what you would like to set as its preview when using it inside a shader.
    You can only have the function node showing a single preview, and it will be in regards to one of its 'Function Output' nodes.

    To let the shader function know which 'Function Output' is to preview, select that 'Function Output' and hit the Set as Preview button on its Node Properties windows.

    Hope you guys have an awesome weekend and happy shader creations!
     
  21. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    6,362
    still no up and down key to select the node after search :(
     
  22. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    297
    Yes, you can filter using the world light pos node which contains the type of light. this means you can simply multiple the type output to whatever you are doing since type is 1 when is NOT directional.

    Using this method does not save performance since the calculations will be done anyway. If you want to simply not run directional calculations you can filter everything using a static switch in symbol mode and use the "DIRECTIONAL" symbol (without quotes).

    I've tried it before, unity does not like my attempts :C
     
  23. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Hey, thanks a lot. It's not for saving performance, it's just that the dir light will shine across the water surface when occluded so I would rather just not render it for meshes which may be occluded from the sun in parts.
     
  24. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    6,362
    What's happening? Maybe one of us can help.
     
  25. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    It might have been another asset causing issues. I just rolled back to 2017.1
     
  26. marcatore

    marcatore

    Joined:
    May 22, 2015
    Posts:
    160
    Is there a way to rotate (or change) the axis when I use the triplanar sampler in Cylindrical mapping?
     
  27. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Hi all, is there a heightmap -> normal function? I looked at VertexNormalReconstruction example but it didn't seem to give me what I was looking for as I'm sampling vertex.y height from a texture...
     
  28. studio1h

    studio1h

    Joined:
    Jul 6, 2012
    Posts:
    31
    Question: Is there a way to add normal maps to a custom lit shader? I'm working on a shader based on the "CustomLightingToon" example and I'd like to add normal maps.
     
  29. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    297
    The main issue is the way unity editor gui already works so I'm not sure if there's even a solution. Basically editor gui is already setup in a way that tab changes the element to focus, this is the standard windows behavior so it makes sense. The problem is that arrows already have other events associated with it, for instance, text fields use the arrows to change lines or go to the end or start of the field. I've tried recreating the tab event with the arrow keys and send it but it doesn't seem to like it :\ I suspect because it already has other things associated with it? not sure.. I need to do more tests or try different approaches.

    I'm still curious about the issues you are having, it might be something we can fix on our side. It might also be useful to know which other assets do you have. Any new information that you have share it so we can take a look ;)

    Not exactly, but you can set the node in object space and rotate the object itself. Can you say where do you want apply the effect? we never saw the need to be able to select the axis but we do intend to add individual axis texture selection in the future so you can use whatever texture you want in any plane.

    There isn't, but it's doable in the editor, I actually have something like that in my own tests. I could try to salvage it and share it but I must warn you that is highly expensive and the results aren't perfect either. There's almost no cases where regular normal maps aren't better. But maybe you have one of those?

    Yes, you do it by using the world normal node. The input is in tangent space so it uses a normal map. This is dependent on the solution you are using for custom lighting, if it's based on the toon sample it's the equivalent to say you need to connect your normal map to every world normal node.
     
  30. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    It's for surface waves from a render texture for dynamic water mesh deform. I could sample the same texture in different positions, but I suspect just drawing some form of RG directional on the texture might give me normals (theoretically as I'm pulling this out of thin air). So instead of grey maybe I should draw some richer data to the texture?

    Maybe I should draw the water as a valid normal map on the render texture, blending things together then the normals would be there to read for vertex normals? Any advice is always welcome :)
     
  31. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    297
    Correct me if I'm wrong, your surface already has vertex movement waves, right? and you want to add an additional wave from a render texture (I'm assuming ripples) and also have it changes the vertex movement of those waves and everything with correct normals, am I right so far? This render texture does not have the waves, only the ripples, right?

    I'm guessing that you then want to merge the displacement of the render texture with the one from the normal maps? I don't know how you are creating the ripples and how you are dissipating them but I guess you could render the RG as regular normal maps and use the B as a heightmap for the vertex movement. Then in the shader you need to remap and unpack the normal map and blend it with the rest. See the unpack scale normal node for an example. This will solve your normals in the fragment but they will still look a bit off because the vertex normal is still flat, you could then reconstruct the normals in the vertex using the same technique as the one in the flag sample. Be advised tho, it's a bit more expensive so you might wanna give it some tests to see how performant it is for you, specially if you don't intend to cull the water when not visible. If performance becomes an issue you can always do some LOD variations with some stuff turned off or subdivide the water mesh into different chunks and only render the necessary ones.

    EDIT: on the topic of ripples, you might wanna look into wave particles from a 2007 siggraph.
     
    Last edited: Nov 20, 2017
    hippocoder likes this.
  32. sadicus

    sadicus

    Joined:
    Jan 28, 2012
    Posts:
    272
    Hi, I'm only familiar with Substance Painter / Designer, was this added yet?
     
  33. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    297
    Could you be more specific? we do have support for substances in the editor, not sure what you mean by substance painter tho.
     
  34. TitoOliveira

    TitoOliveira

    Joined:
    Aug 4, 2014
    Posts:
    79
    Hi!
    I'm a shader noob and i've been meaning to get one of these node-based solutions to start getting a feel for it. ASE has been on my radar for quite a while now, and i figured with the black friday sale going on, that's a good opportunity to get it.

    So i've been checking the wiki, tutorials and features to see what it can offer, and one thing i didn't find is if it's possible to create dynamic vertex movement in it. For example swaying grass, or something like water waves when an object interacts with water (the 2D water effect like in Ori and The Blind Forest comes to mind).
    How's the support for that?
     
  35. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    297
    We have a special output port for changing vertices around. And we do include a simple sample that does it:

    Unity_2017-11-20_18-33-09.png

    Now, keep in mind that you still have to create them to your liking. We don't have a drag and drop solution for a water effect like Ori, but with a bit a tinkering we can get there. Just don't expect premade solutions, that would defeat the purpose of the editor. We do, however, intended to add some special nodes for commons solutions, for instance we intend do add the calls to the internal functions that unity uses for swaying grass and leaves because we understand that some people just want use those. By no means this is set in stone tho, if you feel like there's something missing that we can easily add while you struggle with it we can surely add those. It's just a matter of asking :]
     
    GamerPET likes this.
  36. TitoOliveira

    TitoOliveira

    Joined:
    Aug 4, 2014
    Posts:
    79
    Cool, thanks for the reply.

    Of course.
    I mentioned Ori because i learn best trying to make things, rather than following lessons about the basics and whatnot. And i already have in my mind a concept of how that could work. So knowing there's the Vertex Offset thing i can try to break down the rest of the effect and learn how the tool works in the process :)
     
  37. MarcusValerius

    MarcusValerius

    Joined:
    Aug 1, 2016
    Posts:
    24
    Since there is currently no fur asset on the market that is thoroughly convincing, would it perhaps be possible to build an okay-ish fur shader in ASE?

    I recently purchased this asset, but I have absolutely no experience with parallax stuff and wouldn't know where to start. I've seen two mentions of a fur shader in this thread but nobody ever bothered to go into any detail.
    So, anybody got any advice for me, or perhaps even an online tutorial or demo file? That would be wonderful.

    Ultimately, I would like to be able to adjust the fur's color, length and density as well as direction of growth via texture maps and/or perhaps vertex normals.
     
  38. studio1h

    studio1h

    Joined:
    Jul 6, 2012
    Posts:
    31
    Super! -- THANKS!!
     
  39. OP3NGL

    OP3NGL

    Joined:
    Dec 10, 2013
    Posts:
    267
    Can Anyone convert this code into ASE?

    Code (csharp):
    1.  
    2. Shader "Custom/InteriorMapping - Cubemap"
    3. {
    4.     Properties
    5.     {
    6.         _RoomCube ("Room Cube Map", Cube) = "white" {}
    7.         [Toggle(_USEOBJECTSPACE)] _UseObjectSpace ("Use Object Space", Float) = 0.0
    8.     }
    9.     SubShader
    10.     {
    11.         Tags { "RenderType"="Opaque" }
    12.         LOD 100
    13.  
    14.         Pass
    15.         {
    16.             CGPROGRAM
    17.             #pragma vertex vert
    18.             #pragma fragment frag
    19.  
    20.             #pragma shader_feature _USEOBJECTSPACE
    21.          
    22.             #include "UnityCG.cginc"
    23.  
    24.             struct appdata
    25.             {
    26.                 float4 vertex : POSITION;
    27.                 float2 uv : TEXCOORD0;
    28.                 float3 normal : NORMAL;
    29.                 float4 tangent : TANGENT;
    30.             };
    31.  
    32.             struct v2f
    33.             {
    34.                 float4 pos : SV_POSITION;
    35.             #ifdef _USEOBJECTSPACE
    36.                 float3 uvw : TEXCOORD0;
    37.             #else
    38.                 float2 uv : TEXCOORD0;
    39.             #endif
    40.                 float3 viewDir : TEXCOORD1;
    41.             };
    42.  
    43.             samplerCUBE _RoomCube;
    44.             float4 _RoomCube_ST;
    45.  
    46.             // psuedo random
    47.             float3 rand3(float co){
    48.                 return frac(sin(co * float3(12.9898,78.233,43.2316)) * 43758.5453);
    49.             }
    50.          
    51.             v2f vert (appdata v)
    52.             {
    53.                 v2f o;
    54.                 o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
    55.  
    56.             #ifdef _USEOBJECTSPACE
    57.                 // slight scaling adjustment to work around "noisy wall" when frac() returns a 0 on surface
    58.                 o.uvw = v.vertex * _RoomCube_ST.xyx * 0.999 + _RoomCube_ST.zwz;
    59.  
    60.                 // get object space camera vector
    61.                 float4 objCam = mul(unity_WorldToObject, float4(_WorldSpaceCameraPos, 1.0));
    62.                 o.viewDir = v.vertex.xyz - objCam.xyz;
    63.  
    64.                 // adjust for tiling
    65.                 o.viewDir *= _RoomCube_ST.xyx;
    66.             #else
    67.                 // uvs
    68.                 o.uv = TRANSFORM_TEX(v.uv, _RoomCube);
    69.  
    70.                 // get tangent space camera vector
    71.                 float4 objCam = mul(unity_WorldToObject, float4(_WorldSpaceCameraPos, 1.0));
    72.                 float3 viewDir = v.vertex.xyz - objCam.xyz;
    73.                 float tangentSign = v.tangent.w * unity_WorldTransformParams.w;
    74.                 float3 bitangent = cross(v.normal.xyz, v.tangent.xyz) * tangentSign;
    75.                 o.viewDir = float3(
    76.                     dot(viewDir, v.tangent.xyz),
    77.                     dot(viewDir, bitangent),
    78.                     dot(viewDir, v.normal)
    79.                     );
    80.  
    81.                 // adjust for tiling
    82.                 o.viewDir *= _RoomCube_ST.xyx;
    83.             #endif
    84.                 return o;
    85.             }
    86.          
    87.             fixed4 frag (v2f i) : SV_Target
    88.             {
    89.             #ifdef _USEOBJECTSPACE
    90.                 // room uvws
    91.                 float3 roomUVW = frac(i.uvw);
    92.  
    93.                 // raytrace box from object view dir
    94.                 float3 pos = roomUVW * 2.0 - 1.0;
    95.                 float3 id = 1.0 / i.viewDir;
    96.                 float3 k = abs(id) - pos * id;
    97.                 float kMin = min(min(k.x, k.y), k.z);
    98.                 pos += kMin * i.viewDir;
    99.  
    100.                 // randomly flip & rotate cube map for some variety
    101.                 float3 flooredUV = floor(i.uvw);
    102.                 float3 r = rand3(flooredUV.x + flooredUV.y + flooredUV.z);
    103.                 float2 cubeflip = floor(r.xy * 2.0) * 2.0 - 1.0;
    104.                 pos.xz *= cubeflip;
    105.                 pos.xz = r.z > 0.5 ? pos.xz : pos.zx;
    106.             #else
    107.                 // room uvs
    108.                 float2 roomUV = frac(i.uv);
    109.  
    110.                 // raytrace box from tangent view dir
    111.                 float3 pos = float3(roomUV * 2.0 - 1.0, 1.0);
    112.                 float3 id = 1.0 / i.viewDir;
    113.                 float3 k = abs(id) - pos * id;
    114.                 float kMin = min(min(k.x, k.y), k.z);
    115.                 pos += kMin * i.viewDir;
    116.  
    117.                 // randomly flip & rotate cube map for some variety
    118.                 float2 flooredUV = floor(i.uv);
    119.                 float3 r = rand3(flooredUV.x + 1.0 + flooredUV.y * (flooredUV.x + 1));
    120.                 float2 cubeflip = floor(r.xy * 2.0) * 2.0 - 1.0;
    121.                 pos.xz *= cubeflip;
    122.                 pos.xz = r.z > 0.5 ? pos.xz : pos.zx;
    123.             #endif
    124.  
    125.                 // sample room cube map
    126.                 fixed4 room = texCUBE(_RoomCube, pos.xyz);
    127.                 return fixed4(room.rgb, 1.0);
    128.             }
    129.             ENDCG
    130.         }
    131.     }
    132. }
    133.  
    134.  
     
  40. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,389

    Black Friday Sale!

    Don't miss out on this exclusive Asset Store deal! With over 40 shader samples, Shader Functions, Shader Templates, and a Custom Node API, you can count on our editor as a one-stop-shop for your shader development needs.

    Amplify Shader Editor - Asset Store Page


    What does Firewatch, p.a.m.e.l.a., Manifold Garden, Rust, The Forest, Night In The Woods, Broforce and Star Wars Journeys Ep 1 – to name a few – have in common? Check out our full suite of Amplify Unity Products and find out what they can do for your project.
     
  41. marcatore

    marcatore

    Joined:
    May 22, 2015
    Posts:
    160
    It's great that you'll add the individual axis texture selection.

    About your question, consider that rotate the object it's not always possible.
    For example, I have a car and I'd like to have the cylindrical sampler 90° degress rotated and not aligned with the car.
    With the top and bottom textures aligned with the horizontal parts of the car.
     
  42. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    297
    Not easily no. The main issue is that build a fur shader requires a special shader function which we don't fully support yet. We already allow for tessellation that uses it but that's about it. That said, there's nothing stopping you from creating your own vertex frag and use it as a template inside ASE, but that obviously isn't what we want, we want to provide an easy way for common cases and fur is definitely one of them. We've been progressing on the template system that will use it for sure, besides that, fur on surfaces shaders is still something we need to look into. So, in short: soonish, maybe?

    Ah, I see, I'm busy with a larger task now but I'll see if can do something about it ;)
     
    deab and hopeful like this.
  43. MarcusValerius

    MarcusValerius

    Joined:
    Aug 1, 2016
    Posts:
    24
    Ah, that's kind of sad to hear, but I understand. It's reassuring to know that fur shading is at least on your radar and somebody is looking into it. I'm no programmer, so I'll be waiting then.
    Fur (possibly resuable as human hair or even certain types of grass) is gonna be a huge deal for everybody when you get it done and you do it well. Good luck.
     
  44. marcatore

    marcatore

    Joined:
    May 22, 2015
    Posts:
    160
    Don't worry. I'll wait when it will be done. :)

    Now I've other problems with a shader I'm working on.
    The first one is that I have 2 Texture Coordinates nodes that set automatically the reference to another texture but I dont' want this. Everytime I have to set to "None".

    The second one is that the texture object nodes seems that they don't remember the "locked to Texture 2D Array" option.
    Or at least, to have shader worlking I have to reset that option changing to Auto and then again to "locked to Texture 2D Array" (and the "None" reference as described before).

    Another problem is that I have this errors but I can't understand what going wrong
    "Error assigning texarray texture to 2D texture property '_Dirt_Level_Array': Dimensions must match
    UnityEngine.GUIUtility: ProcessEvent(Int32, IntPtr)"

    and

    "Error assigning texarray texture to 2D texture property '_RaindropBumpMap': Dimensions must match
    UnityEngine.GUIUtility: ProcessEvent(Int32, IntPtr)"

    The 2 Array textures was done using your Texture Array Creator. What are dimensions relating?
     
  45. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    297
    Managed to reproduce the the first issue, I'll try getting it fixed for the next dev release.

    About the second one, what nodes are you using? that error should only come up when you are trying to put a texture array in a regular texture sample.
     
  46. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,467
    I have a bunch of Assets, including Amplify Motion, Alloy, UFE, and smaller assets... it drove me CRAZY trying to see which assets are causing the errors.
     
  47. Khena_B

    Khena_B

    Joined:
    Aug 21, 2014
    Posts:
    273
    Is it possible to have a shader that renders in front of a specific shader only, and behind everything else?

    For example in this image, have the water caustics effect only render in front of the sprites that are in the foreground and not in front of the background?

    Caustics.png
     
  48. Amplify_Paulo

    Amplify_Paulo

    Joined:
    Jul 13, 2017
    Posts:
    297
    That looks really good!

    I think that might be a prime candidate for either a stencil buffer mask or some kind of filter using depth.

    The depth route is only doable if your sprites actually are positioned in some depth fashion, if they share the same plane and you reorder them in a different way you can't filter them.

    The stencil buffer route is more customizable but also more complex to use. The idea being that you either render the background and its items or the foreground and its items in a specific stencil "layer" and then you use that layer with your effect to mask what you want or don't want.

    Here's a simple example that uses two shaders (the ball and cube are using the default unity materials)
    The back is the blue plane and writes to the stencil buffer while the front red plane reads from that same stencil buffer and only renders if it's not from the same stencil reference, which means the blue plane peaks through the red plane. Do also notice that the red plane is transparent and the shadows it casts still hit the blue plane normally.

    2017-11-23_11-37-20.png
     

    Attached Files:

    Last edited: Nov 23, 2017
  49. Mark_T

    Mark_T

    Joined:
    Apr 25, 2011
    Posts:
    303
    Me again, two weeks later: "How near?"
     
    blitzvb likes this.
  50. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    528
    I assure you that the Terrain template is not forgotten. We really want for you to Amplify your terrains!

    We are currently working on a task on extending Templates functionalities which is needed for the Terrain templates ( and other ones as well ).
    After that is done, I assure you that the Terrain template will be the next task. We expect to start working on it next week.
    Believe us guys, it has a really high priority on our end and will happen.

    One topic I would also like to discuss is about ASE minimum Unity version.

    ASE is currently being developed on Unity 5.4.6f3 but we're reaching a point on which this version is limiting us from improving certain parts of the plugin.

    We are scheduling to upload a build tomorrow to our site, and if it proves stable, on Monday to the Asset Store. This build will be the last one developed under Unity 5.4.6f3 and from that point forward we will start using Unity 5.5.5f1.

    We will start uploading new builds of ASE to Asset Store using the 5.5.5f1 version but will keep the old 5.4.6f3 for anyone who absolutely can't migrate to an higher version.

    Our main concern on this decision is how this will impact you all and to know many of you are still on the 5.4 version.

    What Unity version are you guys using? Is this upgrade on ASE and its currently Unity version will have a big impact on your end?