Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Daniel Ilett

47
Posts
2
Topics
279
Followers
38
Following
A member registered Jan 12, 2016 · View creator page →

Creator of

Recent community posts

(1 edit)

You'll be happy to hear that I've been working on this and have added a slider that lets you control the strength of the affine texture mapping effect! There's a few other changes I want to make before I push an update, but I'm hoping to get it done today.

The nice side effect is that I can remove the shader keyword that I previously used to toggle this effect so it should reduce the shader variants required for each of the shaders.

I might be able to do that in-shader with tessellation, although not all platforms support that. I just think it would be funny to combine the modern shader feature of tessellation with the very retro feature of affine texture mapping. Either way, it sounds like there is definitely demand for some kind of feature(s) to get around this extreme warping without needing to manually subdivide the mesh.

(1 edit)

Hey, it's just gone live on the Asset Store! Let me know if that solves your issue!

Ah yeah, it usually takes the Asset Store a while to process updates. Hopefully it'll be live soon enough, on my end it just says "a few business days left" which is very unhelpful!

Hey, just to let you know - I've been working on this today and I've added a toggle to switch between point filtering and bilinear filtering in the CRT effect. I think that should fix the problem you were having! I'm uploading the update right now so hopefully you can try it out in a few minutes.

Been working on this today and I believe I have fixed some, but not all, problems with lighting. The problem in efenigma's video should be fixed. The problem sBarz was having with Retro Vertex Lit might still be there.

Forward+ lighting should generally be more stable, but I fear I might not be able to get the Retro Vertex Lit shader on par with the regular Retro Lit shader because of the way the shader needs to poll the additional lights. I don't know if it's even possible to do what I want to do only in the vertex shader, but I'll keep experimenting.

Either way, I'm uploading an update as we speak. Hopefully that fixes some of the issues!

Good to know, I've seen a couple of other problems with Forward+ so I'll focus on that and try and narrow it down!

That is weird! Does this happen in a particular rendering path (forward, forward+ or deferred)? I'll try and find the root cause of the problem and get back to you with a fix!

Hey, sorry I missed this! When you reduce the reference resolution, the internal texture used for the CRT effect will resize itself. If I remember correctly, it uses bilinear filtering, which would look blurry when the resolution is low enough. I can look into adding a toggle to use point filtering for a crisper image instead. Thanks for letting me know!

So, affine texture mapping is sort of a 'hardware' feature, I think there are ways to map differently in the code but then it's no longer really affine texture mapping.

I believe the way developers for PS1 games got round this problem is by subdividing the mesh to use more triangles, since this issue mostly arises when a single triangle takes up a significant percentage of the screen at an angle.

I'll look to see if there's a way to do some sort of blend between affine mapping and perspective correct mapping, as I feel that could be a useful feature if I can get it working. Thanks for reaching out!

Oh and also, I'm not sure if the vertex painting tool will get added for sure - I did look into what would be needed for that and it would be a lot of work. There seem to be vertex painting tools out there that might just do what people need anyway. I did release the N64-style 3-point bilinear filter shader earlier today though!

There might be a few unforseen problems with certain platforms. I'll admit I didn't test out WebGL builds, but I have heard before that there are certain shader features that straight up don't work on that platform. The noperspective keyword, which drives the affine texture mapping effect, might be one of them. I'll have to test out the CRT effect with WebGL but I really hope it's feasible to get running, but thanks for letting me know about these problems.

That's actually a bit weird that the base texture isn't preserved - if you mean you're going from Lit to Retro Lit, they both use _BaseMap as the shader reference and I think Unity is meant to keep textures in that case. I'll see if I can get that fixed.

With the surface options menu bit, I can probably find a way to auto-open that, although I'm not sure which people would generally prefer. Interestingly, I had to create that whole bit from scratch - I really wish there were a way to just click a button somewhere and Unity just adds that whole section, but nope, it involves a fair bit of editor scripting!

Hey! I can look into adding back the Render Pass Event options, hopefully that would solve your problem. Not sure what the issue is that prevents both these assets working well together, but if I were to test my own shaders with other assets I'd be here for an eternity of course! Did the game look different between editor and build in previous Unity versions?

Sorry, I missed this! I'll take a look at this and see if I can get shadow casting working. I'm aware some people have had problems with the grass shader so I will try and get to the bottom of them!

Hey! Still in the process of squashing a few bugs people have reported, and after that, I plan on adding some shaders that people have asked for: an N64 3-point "bilinear" filter shader, a flipbook and billboard shader, dithering, and maybe also a vertex painting tool. 

Obviously all of that is subject to change, and I'm always happy to hear feature requests (although I may not add all requests of course)!

I've updated the pack for the Forward+ and Deferred rendering paths, with support for additional point and spot lights, and stuff like vertex colors. Gonna work on adding even more features over time!

(1 edit)

For sure! Definitely looking into more lighting options, and a billboard shader is a neat idea. So is a flipbook shader. Do you know what specifically you would be looking for with an N64 shader that's different to the PSX shader? I'm preparing a new update and more of the PSX stuff (like affine textures) will be toggleable.

Should be fixed now - let me know if you're still having issues with the shaders!

I shall look into this! Does this happen with all effects or just Blur?

I suspect I know what's happening and I will try to get a fix ready asap. Thanks for letting me know there's an issue!

Hey, thanks for sharing with me!

Looks quite strange indeed - not sure what would cause lines that are all broken up like that. I assume it's because the shader is trying to sample pixels outside the bounds of the screen, although it should clamp to the edges. I'll look into this!

Which render pipeline are you using?

Thanks for letting me know - do you see anything at all or do they show up as magenta? Also, which Unity version and render pipeline are you using?

Officially, the version I created the pack with is Unity 2022.3.0f1, and typically LTS minor version releases don't massively break compatability. So although I didn't specifically test 2022.3.4, there's no reason it shouldn't work in that version. Support for the Unity 6 beta is also a bit wonky but I am actively developing that.

Yes! I'm always on the lookout for suggestions and I did plan on expanding the selection of effects in this pack - that's definitely on the list.

Hey! I just published an update for this pack that means it properly supports RTHandles and the Blitter API in URP. I've tested it and it is functional in 6.0.0 (and I believe by extension also 2023.x), however you do need to disable Render Graph to make it function.

It looks like the requirement to support Render Graph introduces another breaking change so I'll need to develop another update to support both RG and non-RG workflows. The non-RG workflow works with Snapshot Shaders Pro, though. I think Render Graph will be enabled by default in Unity 6 LTS, whenever that drops.

For now, you can disable Render Graph via Project Settings -> Graphics -> Pipeline Specific Settings -> URP. You will find a checkbox to disable Render Graph near the bottom of the window. It's not a perfect solution but I hope you can at least use these assets for now!

Oops, I missed this. Yes - I plan to add support for 2023.x/6.x for URP and I'm aware it's broken currently - there were some breaking changes on Unity's end so I need to redo a lot of the code. I don't have a time estimate for adding compatability with the newer versions but I hope this is the last breaking change in the way post effects work for a while!

Post your suggestions for new features and effects here! I can't guarantee I will add them all, but I would like to know what new effects and additions/changes to existing effects you would like to see.

Post your suggestions for new features and effects here! I can't guarantee I will add them all, but I would like to know what new effects and additions/changes to existing effects you would like to see.

Hey, apologies for the long wait but I have updated this asset pack so it should now work with Unity 2022 and you shouldn't see the same errors again - just download the URP 2022 version from the project page. You might still see some compiler warnings rather than errors but the pack will still function just fine, and I'm working on updating the pack to remove those warnings.

Hey, apologies for the late reply. I take it you must be using Unity 2022 or beyond? It's a known issue, as Unity changed the way a couple of APIs work between 2021 and 2022. I haven't yet updated this pack to work with Unity 2022 but I'm working on it. Sorry, I wish it were a one-line fix that I could just post here!

Hey! Not sure what happened there. Should be fixed now, apologies for the inconvenience!

I've had a look at this, and thankfully it's an easy fix, but it does have to be applied to each Editor script. Unity changed the return type of the GetDisplayTitle method in Unity 2021.2 - the fix I'll be implementing is wrapping the method in a conditional like this:

#if UNITY_2021_2_OR_NEWER
    public override GUIContent GetDisplayTitle()
    {
        return new GUIContent("Name of the effect goes here");
    }
#else
    public override string GetDisplayTitle()
    {
        return "Name of the effect goes here";
    }
#endif

You'll also need to import the UnityEngine namespace, which your IDE will likely tell you to do. Hope that helps - let me know if there are still issues with any of the scripts!

I suspect this is a change that Unity has made in Unity 2022 regarding the return type of a function I'm overriding in my own code, given the errors you're getting. I will look into this!

Hmm, that's an interesting point. I'll look into it and see if I can think of a solution - but currently, it's inherent in the way the shader works that it depends on the screen resolution (you'd see the same thing with the Gaussian Blur shader), so dynamically changing the kernel size probably *is* the workaround. Basically, I think it would potentially require a complete rethink of how the shader works to decouple the effect from resolution.

Hey! I haven't tested this asset pack on Unity 2020.1.7f1 (or any Unity 2020 version for that matter!) but I'll try to get to the bottom of this as soon as I can. This pack is most stable on the LTS versions of Unity (currently that's 2019.4), but if I can solve these issues for you then I'll get back to you. Thanks for your patience :) 

That looks super cool, happy you learned something from me! :D

Glad you like it! Had a couple of tries at your game and reached a score of 7650, really cool game :D

Hi! That's a cool way of using the effects :)

Changing values at runtime on URP works something like this:

1) Get a reference to the Forward Renderer Data asset. The easiest way is to assign in the Inspector (this is the asset which contains all the Render Features):

public ForwardRendererData forwardRendererData;

2) Get the list of Render Features from that. It's a List<ScriptableRenderFeature>.

var features = forwardRendererData.rendererFeatures;

3) Iterate through the list and find the specific effect you want to modify. If you've only got, say, a Radial Blur effect applied, it's as easy as picking the first list element and casting to RadialBlur, for example:

RadialBlur blur = (RadialBlur)features[0];

If you've got a bunch of effects, you'll need to cycle through them all until you find the one you want.

4) Modify the property you want. Probably a good idea to do a null-check just in case. The settings variable is a struct which contains all the properties for a given effect - it's set up in the exact same way for every effect.

if (blur != null)
{
    blur.settings.strength = 27;
}

Please note, any changes you make in Play Mode using this approach will persist when you stop playing. I hope that helps! I'll be updating the documentation included in the asset pack to outline this process in the next major update.

Hey! Glad you like the look of it :)

It's compatible with 2019.4 (LTS) for sure - the effects were mainly developed in 2019.3, so the jump to 2019.4 doesn't really break anything.

Thanks for flagging up the broken link - that's a hangover from when these shaders were split into separate assets on the Store for built-in and HDRP. I've updated the link now.

Glad you like the effects! I'm already planning a future update and would be very happy to add movement options to both those effects. 

I'd like to add my asset pack to the bundle (not a game, but still hopefully worthwhile to add!):
https://danielilett.itch.io/snapshot-shaders-pro-hdrp

Hey! I briefly mentioned this in the other thread (https://itch.io/t/799579/unity-2019313f1urp-cant-manage-to-make-it-work), but I think this could be due to the quick-fix I came up with in that thread - setting the Render Pass variable on the effects to "Before Rendering Post Processing" causes these issues in Scene View. I seem to be able to keep "After Rendering Post Processing" on Unity 2019.3.15f and URP 7.3.1, and the effects work as intended in Game View with no Scene View rendering issues.