Search Unity

  1. How can our website serve you better? Give us your feedback. Take our survey and let us know.
    Dismiss Notice

[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. TheAlmightyPixel

    TheAlmightyPixel

    Joined:
    Jun 21, 2014
    Posts:
    263
    So after a bit of testing, I must say that ASE is really fun to use. It does throw some GUI errors every once in a while, but they don't interfere with anything. The "Interpolator node limit" error is popping up occasionally as well.

    One thing I'd like to see with ASE is proper, in-depth documentation of each node. Many of the nodes have very unclear descriptions, and it forces you to test them out in various ways before you can make out what they actually do. I know you guys are working on the documentation, but what would be amazing is a clear, short description of each node, along with images.

    Some advanced tutorials would be nice as well.

    Another thing I noticed is that the Simplex noise is a bit buggy. It doesn't seem seamless, instead it has these little patches all over it. This is the result of a noise node with World Position as the "position" value and 0.25 width:



    Being able to have multiple subshaders would be great, as well.

    Also, the fact that the link between nodes disappears when you click on an input is quite annoying. I found myself reconnecting nodes very often after trying to move them and having clicked on the input label by accident. Could it be made so that the link gets destroyed when you right-click the input instead of left-click?

    Oh, and would it be possible to have a Height output on the master node?
     
  2. Purgatus

    Purgatus

    Joined:
    Jan 24, 2013
    Posts:
    5
    Just wanted to throw in my thanks to the devs. I'm just getting started with shaders, and I kept hearing about Shader Forge, which, while nice was far outside my price range. After seeing the brand loyalty you have built up with other products and seeing how responsive you have been on these forums, I bought in and I'm not looking back.

    I still have a long, long way to go with shaders, but this tool is making it decipherable to me at last.

    I would like to echo some of the other commenters on some tutorials geared around this particular interface. I have been getting by with some UE4 and ShaderForge tutorials which are super close, but inevitably have one small difference that throws me out of wack.

    Also thanks the regular posters here, I've been getting great tips from you all. Best money I've spent on Unity so far!
     
  3. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,252
    Thanks, that really means a lot to us. Keep an eye out for updates, we are going to be posting quite a few tutorials in the coming months. Be sure to subscribe to our Youtube channel for immediate updates. Feel free to ask any questions that you might have, we would be happy to help.
     
    Last edited: Oct 7, 2016
  4. jjgarcianorway

    jjgarcianorway

    Joined:
    Oct 19, 2015
    Posts:
    33
    Ooops! I heard tutorials and I've got really excited :) Please, think that some of your customers are newbies and want to learn with the good tools :) So... It will be super good to have a kind of introduction or beginners help... if it's possible.

    I've already purchased your tools and I'm super happy but for someone completely new to all this things... it sounds like Chinese :D

    Thanks for the great support too!
     
  5. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,252
    Thanks, we really appreciate the support. We have that in mind, we try to explain as much as possible in each tutorial without making it too long or complex. We will likely post a few, longer, in-depth tutorials at a later stage.
     
  6. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    523
    Yes, unfortunately we also noticed these artifacts. We need to review this node and maybe rewrite it.

    We understand your pain. The main issue is that wire dragging between ports is more intuitive this way.
    And we are also reserving right mouse clicks for context menus on a near future.
    But we'll take a closer look at it and do our best to make it more intelligent and robust.

    We wont be able to add this input at this point since surface shaders don't support it. But rest assured, we will add it on a future beta when developing custom shaders support.

    We are also planning to upload a new build for you guys later today.
     
    TheAlmightyPixel likes this.
  7. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    Almost finished.
    Flat Water Shader:



     
  8. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    This flat water shader is using a texture to guide the vertex displacement. But including a Texture Sample and/or Texture Coordinates on the path to Local Vertex Offset will finish on error: tex2D is not supported in vertex program and texture coordinates are dropped to the shader like input.texcoord_0 but input doesn't exists on this context (vertex program).

    To dodge this problem i have wrote a very dirty custom node:



    "TFHC - tex2Dlod Hack" --> this node only write to shader the following hardcode:
    tex2Dlod(_WaveGuide, float4(o.texcoord_0.xy,0,0 )).rgba

    It's pretty dirty but the flow works and i could continue working on the shaders.

    There is any other solution without this hack?
    Is possible add to the suggestions that Texture Sample and Texture Coordinates nodes drops correctly in vertex program?

    I'll write another version without texture guide (using calculations and / or noise) knowing that sampling textures in vertex program is hardware dependent, but will be great to know if there is another solution or if it can be waited on future releases.
     
  9. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    523
    For now there is no other way. But you raised a really neat issue.
    We will modify the texture sampler node to be able to automatically adapt if connected to the vertex displacement port.
    Expect this implemented on a near future update.
     
    laurentlavigne likes this.
  10. Purgatus

    Purgatus

    Joined:
    Jan 24, 2013
    Posts:
    5
    I am having trouble with vertex manipulation.

    In the ShaderForge tutorials, they have a Normal Direction node. I have been trying to use a Vertex Normal node in the same way but it always kicks out an error. I get the feeling that I'm trying to pound a square peg into a round hole since I don't understand all the math behind it yet.

    The tutorial uses a sin to lerp two color bands. Which is simple and easy. Where I get lost is when they use the same setup to move the vertices using the Normal Direction node. What nodes do you use in ASE?
     
  11. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    523
    Hi Purgatus.
    I know this initial experience can be quite frustrating but with time you'll get the hang of it!

    You can check our 'Samples/Extrusion/NormalExtrusion' example which uses both the '[VS] Vertex Pos' and '[VS] Vertex Normal' nodes on the 'Local Vertex Offset' port.

    Just a quick note, all the nodes with the [VS] prefix on the 'Vertex Data' category are to be used exclusively on the 'Local Vertex Offset' port.
     
  12. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    523
    Hi guys,

    As promised, I just uploaded a new build into our download area.

    Here are the release notes.

    Release Notes v0.1.5 dev 001
    • Community Node additions
      • The Four Headed Cat ( moved to a separate 'Logical Operators' category )
        • Compare With Range
        • Compare Not Equal
        • Compare Lower Equal
        • Compare Greater Equal
        • Compare Lower
        • Compare Greater
      • Kebrus
        • Vertex Tangent World
        • Vertex Binormal World
    • 'Register Local Var' node changes:
      • Is now independent from Master Node execution order and generates activation signals
      • Will always be executed even if not connected to Master Node
      • Fixed issue updating name string array when loading from file
      • Added order index to control their declaration order( lesser index declared first )
    • Fixed issue on port type change not propagating in certain nodes
    • Hitting Escape key will disable context palette menu if active
    • Fixed issue where right mouse clicking on certain port areas would delete their wire connection
    • Minor improvement on nodes performance
    Hope everything runs smoothly on your end and happy shader creations!

    EDIT: Just a quick note, 'Register Local Var' and 'Get Local Var' are NOT currently working with the 'Local Vertex Offset' port on the Master Node but this will be fixed on a future update
     
    Last edited: Oct 7, 2016
    Tiny-Tree and kebrus like this.
  13. TheAlmightyPixel

    TheAlmightyPixel

    Joined:
    Jun 21, 2014
    Posts:
    263
    Made another animated illumination shader. This was initially supposed to be a rain shader, but I couldn't get the raindrops to trigger at a random rate (if anyone has any ideas on how to do this please let me know :) ) so I turned it into this:

     
  14. kebrus

    kebrus

    Joined:
    Oct 10, 2011
    Posts:
    414
    For everyone using the anisotropic shaders, I've just updated them in the previous page to the latest ASE version

    I found something about the new changes to the reg nodes. It doesn't seem like a bug but it behaves like one. When you create a reg node you now have to give them an index. I actually don't mind it and I think it might be a good idea. I can actually see use of them even if they aren't linked to anything. The thing is, when developing if you have to add a new reg that needs to happen before some other reg node you need to re-order them all. This is mildly annoying but it's to be expected. The problem tho is that even if you re-order them the "get" nodes are now pointing to the wrong reference, I didn't look into them yet but I suspect you guys are using some kind of enums or dictionaries to build the get list? It might be a good idea to re-think how the get nodes actually get their references.

    Good additions overall ;)
     
  15. kebrus

    kebrus

    Joined:
    Oct 10, 2011
    Posts:
    414
    I don't know what you are using to place the spheres, is it a tiled texture? Depending on how you are getting them if you can isolate them you can use a mix of sin waves to generate something that feels random by offsetting their wavelength, similarly to the way you would create a water waving effect to be random. The contingency is that it's much more difficult if these come from textures. If they are texture tho you could create another one where the value of each pixel represents a multiplier of the effect velocity. If you cleverly create it you can make it look it's random but it's trickie... I think.

    Just ideas.
     
  16. Purgatus

    Purgatus

    Joined:
    Jan 24, 2013
    Posts:
    5
    I would like to dissolve a transparently lit object. Is that the domain of multipass shaders and thus out of reach for this program ATM? or is there a way to get it both transparent and masked?
     
  17. kebrus

    kebrus

    Joined:
    Oct 10, 2011
    Posts:
    414
    Short Answer: it's possible right now.

    You don't necessarily need multiple passes to do both transparent and masked materials at the same time, what you can't do is having them both at the same pixel, you have to choose. For example with hairs it's usual to do two passes, one does transparent alpha with alpha blend, this gives the hair the smooth look of the input alpha texture but you get a bunch of problems with transparency order, depth, shadows, etc. So people to another pass on top of the alpha blend with alpha test and mask a fine detail hair with aliased edges, so you take the smoothness of alpha blend at the hair edges and you take the preciseness of alpha test for the majority of hair and you get away with the depth and shadow problems.

    In your case, you can do a transparent shader and use the "clip" function to discard the pixels to do the dissolve effect in just one pass. Just keep in mind tho that you'll still have the ordering, depth and shadow issues. I would only recommend this for additive blended effects for vfx and stuff like that.
     
  18. TheAlmightyPixel

    TheAlmightyPixel

    Joined:
    Jun 21, 2014
    Posts:
    263
    Yeah, I was using a tiling texture.

    I had two textures, a rain mask and a rain "speed mask". I tried using a sine wave and modulating it depending on the brightness of each pixel in the speed mask, but it was quite difficult to get rid of the sine wave's pulsating nature, so it ended up looking like the raindrops were pulsing.

    I'm actually working on another rain shader at the moment, and I managed to get the raindrops to work by using a flipbook. I'll try to remember to post the results when I'm done with it.
     
  19. kebrus

    kebrus

    Joined:
    Oct 10, 2011
    Posts:
    414
    Please do post them. You could remove the pulsating effect by making some adjustments to the wave like making it more of square wave (doesn't really to be square).
     
  20. Purgatus

    Purgatus

    Joined:
    Jan 24, 2013
    Posts:
    5
    Thanks for your reply. Unfortunately, I only understand a bit of what you said. :)

    Is there a clip node I'm not seeing? I apologize for being a bit dense, I'm very new to shaders in general.
     
  21. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    Custom node: TFHC - Pixelate UV

    This node creates a pixelated effect modifying the texture coordinates

    On UV port attach the texture coordinates to pixelate
    On Pixels X attach or write the number of horizontal pixels.
    On Pixels Y attach or write the number o vertical pixels.



    Shader example using the node:


    Shader example results changing the Resolution parameter:


    Feel free of use, fix, improve, etc this custom node.
     

    Attached Files:

    Skyfly, kebrus and TheAlmightyPixel like this.
  22. TheAlmightyPixel

    TheAlmightyPixel

    Joined:
    Jun 21, 2014
    Posts:
    263
    Alright, I got my rain shader to a point where I'm happy to call it done. The raindrop masking isn't completely reliable and the raindrops may not look quite natural, but I don't mind.


    I used a 2K flipbook texture (64 x 256x256 tiles) for the raindrops, which I then iterated through in a script. I probably could've achieved the same result without code, but I really just wanted something quick and easy. I made the flipbook in After Effects - which is actually quite beneficial because I can always edit the flipbook very quickly in case I need to.

    Here's what the flipbook effect looks like with another texture:

    I used the vertex colour's red channel as a mask for the puddles (the raindrops only appear in the puddles). The meshes vertices are also pushed downwards slightly according to the red vertex colour channel to add some depth.

    I'm sure I could've done many things a lot better, but I really wanted to do everything as simply as possible, so I kind of brute-forced some things. Here's the graph for the shader, in case anyone wants to see it:

     
    benderete, kebrus and one_one like this.
  23. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,514
    Last edited: Oct 10, 2016
  24. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    Seems that Register Local Var and Get Local Var are not working fine with Break To Components:
    If I register a local var from a vector and then attach a break to components to the get local var, i don't obtain the vector components.

    An image to show the issue:
     
  25. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    Another issue. The Pow node only works with floats. I mean, this node only output floats and then you cannot p

    I have created a custom node from the Pow one to output the same type of the value attached to the first input port, but i think that perhaps will be better fix the original that include other node.

    Code (CSharp):
    1. // Amplify Shader Editor - Visual Shader Editing Tool
    2. // Copyright (c) Amplify Creations, Lda <info@amplify.pt>
    3.  
    4. // Custom Node Power Multi Type by The Four Headed Cat @fourheadedcat
    5.  
    6. using System;
    7. using UnityEngine;
    8.  
    9. namespace AmplifyShaderEditor
    10. {
    11.     [Serializable]
    12.     [NodeAttributes( "TFHC - Power Multi Type", "Operators", "A to the b-th power of scalars and vectors", null, KeyCode.None )]
    13.     public sealed class TFHCPowerMultiTypeNode : ParentNode
    14.     {
    15.         protected override void CommonInit( int uniqueId )
    16.         {
    17.             base.CommonInit( uniqueId );
    18.             AddInputPort( WirePortDataType.FLOAT, false, "A" );
    19.             AddInputPort( WirePortDataType.FLOAT, false, "B" );
    20.             AddOutputPort( WirePortDataType.FLOAT, Constants.EmptyPortValue );
    21.             m_useInternalPortData = true;
    22.             m_textLabelWidth = 15;
    23.         }
    24.  
    25.  
    26.         public override void OnInputPortConnected( int portId, int otherNodeId, int otherPortId, bool activateNode = true )
    27.         {
    28.             base.OnInputPortConnected( portId, otherNodeId, otherPortId, activateNode );
    29.             m_inputPorts[ 0 ].MatchPortToConnection();
    30.             m_inputPorts[ 1 ].MatchPortToConnection();
    31.             m_outputPorts[ 0 ].ChangeType( InputPorts[ 0 ].DataType, false);
    32.         }
    33.  
    34.         public override string GenerateShaderForOutput( int outputId, WirePortDataType inputPortType, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar )
    35.         {
    36.             string x = InputPorts[ 0 ].GenerateShaderForOutput( ref dataCollector, inputPortType, ignoreLocalvar );
    37.             string y = InputPorts[ 1 ].GenerateShaderForOutput( ref dataCollector, inputPortType, ignoreLocalvar );
    38.  
    39.             return "pow( " + x + " , " + y + " )";
    40.         }
    41.  
    42.     }
    43. }
     
  26. antoripa

    antoripa

    Joined:
    Oct 19, 2015
    Posts:
    1,163
    Hi,
    I am new with Shader. I have bought Amplify few weeks ago and I would like to start to explore.
    Are there tutorial ? I would understand the workflow to build a new Shared and even the effect of the single transformation ( last at high level is even fine )
     
  27. Erogrim

    Erogrim

    Joined:
    Sep 19, 2014
    Posts:
    1
  28. Amplify_RnD_Rick

    Amplify_RnD_Rick

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

    Hope you had a great weekend!
    We just uploaded a new build into our download webpage.

    Here are the release notes:

    Release Notes v0.2.0 dev 001
    • Fixed issues with 'Get Local Var' node
      • Output port type is now correctly set to its reference type
      • Changed how references are saved so it won't be affected by order index re-ordering
    • Fixed issue with 'Power' node
    • Fixed issue with 'ATan2' node
    • Fixed issue with 'Cross' node
    • Community Node additions
      • The Four Headed Cat
        • Logical If
        • Pixelate
    • Community Samples additions
      • The Four Headed Cat
        • DissolveBurn
      • Mourelas Konstantinos
        • EnvironmentGradient
    Fixed. You might need to re-assign the Get Local Var node references on the first time you load the shader with this new version.

    This suggestion is quite interesting! ;)

    Yes! Glad you pointed this out!

    Thank you so much for pointing this out! Will also do some internal testing on our end!

    Fixed.

    Fixed.

    Your feedback has been amazing. The amount of bug fixes and new content has reached a level on which we had to rethink a bit our initial roadmap and will most likely close Beta 1 with this v0.2.0 update.

    For all of you that have already bought ASE please don't worry it will remain exactly the same update-wise.
    If your still haven't bought ASE and are interested in doing so, this would be a great time to do it because the price will soon increase to $25 .
     
    kebrus likes this.
  29. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,514
    awesome, it would be great to have them especially material function.
    @Amplify_RnD_Rick just curious, why not creating a private repo where licensed user can sending pull request to colaborate to ASE?
     
  30. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    523
    Having a private repo with the community is really something that we are already thinking about and would be very helpful indeed.
    There are still some concerns and issues, namely copyright, we still need to figure about before making a decision.
     
    Last edited: Oct 10, 2016
    antoripa likes this.
  31. SquidCap

    SquidCap

    Joined:
    May 17, 2014
    Posts:
    11
    Lots and lots of GUI error, related to main skin:
    NullReferenceException: Object reference not set to an instance of an object
    AmplifyShaderEditor.UIUtils.CustomStyle (eCustomStyle style) (at Assets/AmplifyShaderEditor/Plugins/Editor/Utils/UIUtils.cs:1090)
    AmplifyShaderEditorWindow.set_CurrentSelection (ASESelectionMode value) (at Assets/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderEditorWindow.cs:2865)
    AmplifyShaderEditorWindow.OnGUI () (at Assets/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderEditorWindow.cs:2220)

    This causes the canvas to freeze in the editor, prevents closing it and prevents pretty much everything (line 2220 creates them constantly when mouse is over the window what is suppose to have canvas), Does not fix itself until the plugin/editor folder is deleted and re-imported. Workaround needed ASAP, fix urgent.
     
  32. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    523
    Hi SquidCap,

    We apologize for all these issues. You started getting them after upgrading to our latest version?
     
  33. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    523
    Unfortunately one of the downsides of being in a beta is that between builds some aspects change on the plugin architecture and you may need to remove the older plugin folder.
    But rest assured that we will do our very best to prevent this to happen.
    Again we apologize for this inconvenient.
     
  34. kebrus

    kebrus

    Joined:
    Oct 10, 2011
    Posts:
    414
    Sorry for only answering now, it escaped me somehow.

    Indeed there isn't, it shouldn't be too difficult to create one but the way they work could be tricky to implement, they work as endpoints since what they do is telling the fragment not to render (if you don't know what fragment is think about it as pixel), kind like using "return;" to end a function early. But at the same time you can have as many as you want because just like "return;" you can have different conditions to not renders specific fragments.

    Right now the editor as a little flaw where it does let you use the clip function but only using a fixed value. It seems to be just temporary since they do have the connection in the master node so I'm guessing it should come soon enough.
     
  35. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,514
    Hmm that's a good point, i'm sure you guys can figure it out which best :)
    btw @Amplify_RnD_Rick
    this setup giving me declaration conflict of saturate (node)
    upload_2016-10-11_14-34-35.png
    if i'm using red arrow setup multiple output connection from saturate node, the error occured.
    my workaround are using different saturate node for each output.
    ended up like this
    upload_2016-10-11_14-50-59.png

    also
    upload_2016-10-11_15-5-59.png
    this setup randomly giving me this error
    ambiguous overloaded function reference "lerp(half3, half3, float4)
    sometimes work sometimes doesn't
    Might want to check on these issue :)
     
    Last edited: Oct 11, 2016
  36. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    523
    Thank so much for reporting this issue!
    We are already testing it out on our end and will upload a fixed version as soon as it is done!

    EDIT: A quick workaround I would like to suggest is instead of using multiple Saturate nodes you could use only one as you did before, create a Register Local Var node and connect its input to Saturate output and do the multiple output connections from it.
     
    Last edited: Oct 11, 2016
  37. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    New Custom Node: Flipbook UV Animation

    ++++++++
    EDIT: Update the custom node to include a property to set the behavior when the speed is negative.
    ++++++++

    I made a shader with "autonomous" flipbook texture animation and the result was a little "spiderweb" :confused:. So, I have encapsulated all this mess into a custom node.

    The node view:

    The texture tiles will be read from left to right and, depending of the value of "Texture Direction" property, from Top to Bottom or from Bottom to Top.

    With "If Negative Speed" you can set this options:
    - Switch to Positive: the negative speed is convert to positive. Then, for example, speed = -1 have the same effect than speed = 1.
    - Reverse Animation: if the speed is negative, the animation will run in reverse order.

    Example of shader using the node:

    And I have uploaded a video to show how it works:


    Feel free of use, fix, improve, etc this custom node.

    To use the custom node copy it on you project on the folder:
    Assets/AmplifyShaderEditor/plugins/editor/nodes/textures

    ++++++++
    EDIT: Update the custom node to include a property to set the behavior when the speed is negative.
    ++++++++
     

    Attached Files:

    Last edited: Oct 12, 2016
    TheAlmightyPixel, moure and zyzyx like this.
  38. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    523
    In one word ... AMAZING!
     
    benderete likes this.
  39. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,252
    Awesome work! Another great example of how to expand the Amplify Shader Editor.
    We created a new Tutorial Playlist for community tutorials, open to submissions.

    Thanks!
     
    benderete likes this.
  40. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,514
    man we gonna need a custom node repo/library soon :D
     
  41. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,252
    Indeed, we are looking into possible semi-automated solutions. ;)
     
  42. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,514
    Hmm this might be a long shot, but i understand the reason for not using github/bitbucket.
    So how about creating a tool where we can upload,browse,and download a custom nodes just like Playmaker Ecosystem Tool?
     
    benderete likes this.
  43. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    Thanks! :oops:;)
     
    Amplify_Ricardo likes this.
  44. Amplify_Ricardo

    Amplify_Ricardo

    Joined:
    Jul 19, 2013
    Posts:
    2,252
    It's an interesting idea, the Playmaker ecosystem is a great example. We will post additional information as soon as we have any new developments.

    Thanks!
     
    Reanimate_L and benderete like this.
  45. daniel713

    daniel713

    Joined:
    Aug 22, 2014
    Posts:
    1

    Hello !! @benderete !!
    you help me how to import the node to shader editor,
    TFHCFlipBookUVAnimation.cs
    upload_2016-10-11_13-39-17.png

    I am new at this

    thanks !!!!!!!
     

    Attached Files:

  46. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    Hi, copy the file on your project assets on folder AmplifyShaderEditor/plugins/editor/nodes/textures
     
  47. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    I have updated the Custom Node: Flipbook UV Animation to include a property to set the behavior when the speed is negative.


    With "If Negative Speed" you can set this options:
    - Switch to Positive: the negative speed is convert to positive. Then, for example, speed = -1 have the same effect than speed = 1.
    - Reverse Animation: if the speed is negative, the animation will run in reverse order.

    The file is updated in the original post.
     
  48. TheAlmightyPixel

    TheAlmightyPixel

    Joined:
    Jun 21, 2014
    Posts:
    263
    @benderete

    I noticed that your Flipbook node's "Columns" input port is locked to a float type but the "Rows" input port isn't.

    Is this intentional?
     
  49. benderete

    benderete

    Joined:
    Aug 31, 2014
    Posts:
    129
    No, must be a mistake on my side, my intention was not lock them. In any case if those port types were locked would be more correct to lock them to int.

    I'll check it. Thanks for the advise ;)

    I hope this node works fine for you. I have seen your rain shader and the node maybe very useful on it.

    +++
    Edit: Updated the fixed file on the original post.
    +++
     
    Last edited: Oct 12, 2016
  50. Amplify_RnD_Rick

    Amplify_RnD_Rick

    Joined:
    Feb 15, 2016
    Posts:
    523
    Hey Benderete,

    No need to check it out. I've already included your latest node version into ASE and fixed it.

    Guys, expect a new build later today!
     
    TheAlmightyPixel, zyzyx and benderete like this.
unityunity