Search Unity

IndieEffects: Bringing (almost) AAA quality Post-Process FX to Unity Indie

Discussion in 'Assets and Asset Store' started by FuzzyQuills, Sep 2, 2013.

  1. TrollHachem

    TrollHachem

    Joined:
    Dec 25, 2012
    Posts:
    65
    Oh , and i want to ask something , so i fixed the DX11 error in the 0tacun Shader , pink screen disappeared , but still doesn't work :/ , anyone can make a DX11 port ?
    Also , how can i make Ported Effects Stack Together? , Like , get the saturation balanced image and use it as a render texture for the next effect.
    Finally , Unity 5 is going to have a new Multi-Threading system that uses all the cores , maybe we can remove the frame drop by putting the Texture2D.Apply(); in a separate thread , if that is possible of course , anyone with the beta can test this?
     
    Last edited: Sep 8, 2014
  2. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    @TrollHachem: I did a test with your algorithm not too long ago, and the results were really surprising! I managed to lower it to 0.5, and it still looked awesome! :)

    Also, love your terrain, man. The farthest I got was a nice desert landscape.

    EDIT: Ok, new post!
     
  3. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    @TrollHachem: you good with shaders? changing the blend mode may help this. :)

    And I was considering doing a mutli-threaded Texture.Apply() but IndieEffects on my school laptop takes 13 milliseconds to execute already!
     
  4. TrollHachem

    TrollHachem

    Joined:
    Dec 25, 2012
    Posts:
    65
    i'm not really good , i can just modify some shaders to fit my need , but at least i can change blend mode :D
     
  5. TrollHachem

    TrollHachem

    Joined:
    Dec 25, 2012
    Posts:
    65
    Got Saturation and Bloom to work together :D
     
  6. Berenger

    Berenger

    Joined:
    Jul 11, 2012
    Posts:
    78
    Multithreading Apply won't work until Unity 5.0. Anything coming from Unity is thread locked and must be applied in the main thread. They talked (quickly) about a the job workflow they're implementing in the roadmap video of the seattle Unite.
     
  7. TrollHachem

    TrollHachem

    Joined:
    Dec 25, 2012
    Posts:
    65
    Yes , I'm currently waiting for unity 5 to upgrade my game (and actually continue working on networking because the old system is going away so i have to repeat :/ ) ,So , Using Unity 5 we can use another thread for the texture.apply and get a Huge boost , right?
     
  8. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    @TrollHachem: wait, they're getting rid of the networking API?! ALIEN, MUCH!!! :D
     
  9. TrollHachem

    TrollHachem

    Joined:
    Dec 25, 2012
    Posts:
    65
    the old one , it's still there in 5.0 , but in 5.X , well RIP xD
     
  10. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    So, does that mean they are going ot integrate a new networking API? or are they going to kill it off completely?
     
  11. TrollHachem

    TrollHachem

    Joined:
    Dec 25, 2012
    Posts:
    65
    Didn't you watch the new Networking System video? here's a link :
     
  12. TrollHachem

    TrollHachem

    Joined:
    Dec 25, 2012
    Posts:
    65
    Sooo , since stencil buffer is now free , that means we can make actual refractive water , right?
     
  13. Baldinoboy

    Baldinoboy

    Joined:
    Apr 14, 2012
    Posts:
    1,526
    No. I do not believe so. All it will do for Unity free is help with the performance of the UI.
     
    Eric2241 likes this.
  14. TrollHachem

    TrollHachem

    Joined:
    Dec 25, 2012
    Posts:
    65
    did some googling , it can make mirrors , so it can basically make reflections i guess , and refraction is just a distorted reflection , so , yeah?
     
  15. TrollHachem

    TrollHachem

    Joined:
    Dec 25, 2012
    Posts:
    65
  16. Baldinoboy

    Baldinoboy

    Joined:
    Apr 14, 2012
    Posts:
    1,526
  17. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    @TrollHachem: Oh, ok! good! at lest a worthy replacement is in the works! Lets just hope it's as easy to use as oler API.
    BTW, your understanding of refraction is a little, er, warped! :D refraction is actually how light passes through a surface, whereas reflection is light bouncing off the same surface. ;)

    EDIT: Read the blog post, and it appears they have a high-level API, of which is what the current API is, right? if so, I'm covered! :)

    EDIT2: Um, in your screenshot, where's the water? I see a GIANT hole... :D
     
  18. TrollHachem

    TrollHachem

    Joined:
    Dec 25, 2012
    Posts:
    65
    Actually it's @FuzzyQuills 's water and it causes no framedrops.
    It's not visible because of large amounts of grass , but you can look at refracted fish xD

    Edit : i hate optics anyway.
     
  19. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    @TrollHachem: really?! I had no idea! :D If anything, you probably put the size recalcualtion in yourself, didn't you? :)

    Either way though, good to hear it's performing well enough for your needs. also know of a way to detect if an object is visible in the viewport? if so, that gives me an idea to help increase performance. :)
     
  20. TrollHachem

    TrollHachem

    Joined:
    Dec 25, 2012
    Posts:
    65
  21. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    Ok, will give this a try. and raycasting the whole screen is NOT the way to go. that's suicide! :D :) ;) :rolleyes:
     
  22. TrollHachem

    TrollHachem

    Joined:
    Dec 25, 2012
    Posts:
    65
    Tried it , didn't work , i made it use distance and i've put the fallback texture as the texture that it should be refracting , temporary solution
     
  23. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    Hmmm... post the code modification, I may be able to help you.

    Long story short, if not visible, just don't draw it. also, don't use it in OnWillRenderObject, it probably won't work in that particular render stage!
     
  24. TrollHachem

    TrollHachem

    Joined:
    Dec 25, 2012
    Posts:
    65
    (Note : converted the code to c# and made it only use 1 renderer)
    Add a boolean that'll save if to refract or not
    Code (CSharp):
    1. private bool refractTime = false;
    And one that'll define distance to stop refracting :
    Code (CSharp):
    1.     public float CutDistance = 100;
    2.  
    Then Add this :
    Code (CSharp):
    1.  void Awake()
    2.     {
    3.         if (refract) refractTime = true;
    4.     }
    Then simply , in the update function ,
    Code (CSharp):
    1. if (Vector3.Distance(GetComponent<Transform>().position, rend.GetComponent<Transform>().position) > CutDistance) refract = false;
    2.         else if (refractTime) refract = true;
    Note : i used getcomponent for transform because the ".transform/.renderer , that kind of stuff" is going away in Unity 5 (there is a translator that'll make them GetComponent<>) but , we'll have to get used to the new system ;)
     
  25. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    Yes... In one of my new projects, I started caching the rigidbody for this reason. as for animation component, I always cache that, as most of the time, I have to correct the model transforms anyway. But is the gameObject modifier going too? Caching the gameobject sounds really unnecessary... ;)
     
  26. TrollHachem

    TrollHachem

    Joined:
    Dec 25, 2012
    Posts:
    65
    no , there is no getcomponent<GameObject>()
     
  27. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    Oh! *facepalm* Now that WAS stupid to ask! :D :p

    So obviously, we don't treat gameObject as quick access mod. in this case, we can ignore this one, as he has no problems, and is safe and happy at home... wait, what?! :eek: :)
     
  28. TrollHachem

    TrollHachem

    Joined:
    Dec 25, 2012
    Posts:
    65
    Anyway to stack an effect that distorts an image (fisheye/underwater waves etc) with one that just applies some color modifications (color correction for example)? This is what i get :/
     

    Attached Files:

  29. yellowelephant

    yellowelephant

    Joined:
    Aug 7, 2014
    Posts:
    7
    Hm the screen starts fading white and stays that way. Am i something missing ?
     
  30. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    You using the old version? the old version's motion blur does this if it's turned up too high. try turning it down or off to fix this.

    If the new versions doing it though... I have no idea what it could be.

    @TrollHachem: Weird... o_O try a different blend mode and see what happens. :)
     
  31. TrollHachem

    TrollHachem

    Joined:
    Dec 25, 2012
    Posts:
    65
    Blending didn't work , i'll have to pack all the effects in one shader :confused: At least that works
     

    Attached Files:

    Last edited: Sep 12, 2014
  32. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    Now that's cool!
     
  33. Cyrien5100

    Cyrien5100

    Joined:
    Oct 17, 2012
    Posts:
    145
    Some recent graphics cards doesn't care about NPOT textures, they have the same performances cost. (On my graphic card, NPOT or POT textures costs the same).
     
    Eric2241 likes this.
  34. Lemo76

    Lemo76

    Joined:
    Aug 7, 2012
    Posts:
    174
    This may have been asked many times before so sorry in advance, but I'm trying out the shaders and the outcome is a blackscreen with the error 'Trying to read pixels out of bounds' pointing to line 106.
     
  35. TrollHachem

    TrollHachem

    Joined:
    Dec 25, 2012
    Posts:
    65
    You've put texture Size 0 , it should be less than your screen height/width 'depends on the ratio' (if width > height then use height and vice versa) , and it shouldn't be 0.
     
  36. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    @TrollHachem: having it too large can cause problems too. if the width and height of the screen is smaller than the POT size, this will throw that error.

    @Lemo76: Long time no see, man! :)
    Just follow above info, and it should work! ;)
     
  37. Lemo76

    Lemo76

    Joined:
    Aug 7, 2012
    Posts:
    174
    Thanks, got it to work now.
    Is there a way to set up my scene so certain transparent objects which are tagged with a blurry cam and are blurry also cast that effect upon the objects behind it?
    Here's the scene example with the transparent blurry window (Multiple cams)


    The best I could do to make the outcome possible is by forcing it by setting the other two objects as the Window Layer.

    Is there a way which this effect is possible?
    -EDIT: The Window on the 2nd screenshot is not meant to be blurry, only the objects behind.
     
  38. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Hi,

    I dezipped the project from GIT on my asset folder of my game, but unity crashes syaing it has multiple "Library" folders, so deleting the folder library i oculd start Unity. Adding some FX to camera and none worked or i had strange results. Is there another way to install and use the package ? some Unity package file ?
     
  39. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    @zenGarden: oh! don't download the WHOLE thing as .zip! only download the IndieEffects folder!

    And with the GitHub download, you have to assign everything yourself, as there is no real way, other than using a .unitypackage (unity packages are locked to whatever version they are created in...) to have them already assigned.

    Not to worry though! If you need help assigning the values, PM me, and I will give you a list to follow to assign things correctly! :)
     
    zenGarden likes this.
  40. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    @Lemo76: This is actually possible with and without this package. it is the exact method I use for fake refraction fx in my water shaders. basically, use a script on your wall to grab the RT variable form main script, then set the texture in your material/shader to RT. When you do it this way, any object behind the wall will be blurred. (But then again, same method also blurs objects in front of wall, so object in front gets haze around it near wall... :D)
     
  41. killa247

    killa247

    Joined:
    May 7, 2013
    Posts:
    25
    Ewwww Javascript >.< haha nah its fine, although the sun shafts are way way way intensive, consumes so much, and i have a i7 4790k and a gtx 770 4gb. Im sure this can be improved better? i know that the unity pro has wicked shafts, although none of us are rich enough to buy it haha. thanks very much though made my game I'm working on much better looking :) by the way, would love your feed back on what you think of my game. first time networking in unity, a little unsure of how to update players of certain things and what not. http://frayofheros.weebly.com/
     
  42. TrollHachem

    TrollHachem

    Joined:
    Dec 25, 2012
    Posts:
    65
    Last edited: Sep 14, 2014
  43. Gogin

    Gogin

    Joined:
    Nov 9, 2013
    Posts:
    60


    Hi guys,

    I was away for long time. I used the SSAO and trees still look abnormal black :( Any issue?
     
  44. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    @killa247: YOU ARE KIDDING ME SQUIDGUARD!!! :D (Couldn't view youtube videos, as they are blocked here! :()

    Either way though... of the stationary images, (of which was the ONLY visible part form here!) that is lookin' real nice! if you need some networking help, I have done several multi-player tests, including FPS and brawler ones. If you wish, I can PM you my base framework that makes connections and handles network level loading, if you're interested! :)

    @Gogin: dark trees? does it occur with SSAO off? It also looks like your trees edges are being occluded... :D

    @TrollHachem: Mind if i show off my current GUI for splashdown? (my racing game) BTW, nice screens! I though newGUI could do 3D too, right?
     
  45. Berenger

    Berenger

    Joined:
    Jul 11, 2012
    Posts:
    78
    @FuzzyQuills You could add a tool in the editor that sets everything up properly, with AssetDatabase and such. I would advise using a custom inspector for the IndieEffect component that add a button "Setup my project" or the like, then use DrawDefaultInspector so you don't have to bother with serialization.
     
  46. TrollHachem

    TrollHachem

    Joined:
    Dec 25, 2012
    Posts:
    65
    @FuzzyQuills yes , it can make , but that doesn't mean i know how :confused: , Also , Sure :rolleyes:
     
  47. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    @TrollHachem: Well then, here it is:
    SplashDownScreen1.png
    Note that the game you see there is still in alpha stage, which is why the rank and laps numbers are still boxes. ;)
    For more info, go here: http://forum.unity3d.com/threads/wi...arcade-racer-for-android.267972/#post-1772747

    (if you do visit the link above, you might wonder why the button looks different. this is because I only just put in a neon blue speedometer! :D)

    @Berenger: I actually didn't think of that. I haven't fiddled with editor scripts befoe though, so I am no sure where to start... :D Plus, I am currently developing game (see above! :p) and am putting all personal attention to it. once game is finished, I will consider a first-time startup script! :) Agreed?
     
  48. TrollHachem

    TrollHachem

    Joined:
    Dec 25, 2012
    Posts:
    65
    @FuzzyQuills why not just use 4.6? , doesn't look like a GUI that should always be updated xD
    @Berenger maybe i can do that? what should it exactly do?
     
    Last edited: Sep 15, 2014
  49. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    @TrollHachem: Actually, that blue bar moves in a radial motion...

    Once I have my new video up on my WIP thread, I will direct-link here.

    BTW, if you wish to make the "inital setup module" for indieEffects, basically have it link all the shaders at the press of a button to their relevant scripts. I am not sure of how to do it with ONE script through editor code though! :D
     
  50. TrollHachem

    TrollHachem

    Joined:
    Dec 25, 2012
    Posts:
    65
    Something like this?
     

    Attached Files: