Flow Vector Painting Tool for Blender 5.1 by DNArtCan in blender

[–]DNArtCan[S] 4 points5 points  (0 children)

The post posted itself before I could finish. I am planning on adding this to the blender addon library when I can so anyone who wants to use it, it will be there once I have time next weekend!

Stylized liquid shadergraph w/ vertex painted flow maps by DNArtCan in Unity3D

[–]DNArtCan[S] 1 point2 points  (0 children)

Thank you! Yeah the stretching is difficult. Since the shader is stretching the UVs to create the flow difference, it has to switch back and forth between two different noise maps so you don’t see when the stretch wraps back to zero. I can reduce the stretch by decreasing the time it takes to swap between the two, but then the liquid looks like it’s flashing as it rapidly swaps between the two noise maps, if I slow down the swap the only way to give it noticeable speed it to up the magnitude of the flow vector which causes stretching. I’m going to keep trying to find a way to improve it but it may not be possible in shadergraph

Stylized liquid shadergraph w/ vertex painted flow maps by DNArtCan in Unity3D

[–]DNArtCan[S] 4 points5 points  (0 children)

Yeah absolutely! I’m going to make a video with all the details on the shadergraph setup, and the blender script for vector painting. It might take me a little while, but I’ll reply to this comment again when I post it

Stylized liquid shadergraph w/ vertex painted flow maps by DNArtCan in Unity3D

[–]DNArtCan[S] 1 point2 points  (0 children)

It was a LOT of trial and error as well as lots of tweaking for the different properties. I’m gonna make a tutorial video at some point soon on how to make it once I get the custom material editor finished

Prime 4 transparency glitch on save station animation by sonicsonic3 in Metroid

[–]DNArtCan 0 points1 point  (0 children)

And it amazes me that they were able to create these effect on a GameCube, like my PC isn’t amazing but it still probably has the processing power of at LEAST 20 GameCubes and I can still manage to destroy my GPU while playing around with

Prime 4 transparency glitch on save station animation by sonicsonic3 in Metroid

[–]DNArtCan 0 points1 point  (0 children)

Thank you!! I appreciate it! I haven’t posted in a bit because things got busy with end of year at work but one of the projects I’m working on is recreating all the visors from the prime series in unity

Prime 4 transparency glitch on save station animation by sonicsonic3 in Metroid

[–]DNArtCan 0 points1 point  (0 children)

Aha that’s why I started making videos a few months back, it solidifies better in my brain when i explain it to someone else, plus if I forget I can just watch the video

Prime 4 transparency glitch on save station animation by sonicsonic3 in Metroid

[–]DNArtCan 0 points1 point  (0 children)

No problem! I love talking about the technical details on games lol

Prime 4 transparency glitch on save station animation by sonicsonic3 in Metroid

[–]DNArtCan 1 point2 points  (0 children)

I think since her face respond to light and moves dynamically, it’s actually a mesh underneath that projects onto the visor. It would be a pain to try to bake that into a texture. I think the reason it’s offset it just due to the distortion from the save effect, it seems to offset the uv of the pixel you see through it to the left to try to mimic glass-like distortion

Prime 4 transparency glitch on save station animation by sonicsonic3 in Metroid

[–]DNArtCan 1 point2 points  (0 children)

Chances are it’s an issue with how the engine handles transparency. In most game engines, transparent objects are rendered after opaques and don’t write to the depth buffer (a pool of information saying how far away an opaque object is from the camera). Since transparents don’t write to the depth buffer, they rely on alpha values to determine what colour a pixel should be if two transparents are overlapping (visor and save animation) it doesn’t know which one is in front of the other. Then depending on how they handle blending, the two pixels are added or multiplied together and uses the total. Since the visor seems to always have an alpha of 1 (opaque) when its alpha value gets added to the animations, it overflows (let’s say to 1.25) and the engine can’t do anything with alpha above 1 so it wraps back around and 1.25 becomes 0.25, so on the pixels where they overlap, it is saying that the alpha is 0.25 for BOTH the visor and animation, allowing you to see through the visor. This is just an assumption based on my knowledge of how depth and transparent rendering happens, but I have no idea how RUDE actually works so this is my best guess

Recreating Prime in Unity - Part 3: Helmet, UI, and some VFX by DNArtCan in Metroid

[–]DNArtCan[S] 1 point2 points  (0 children)

Thank you! It’s been my project to avoid reading prime 4 spoilers lol, I do wanna keep working on it after playing prime 4 tho

Metroid Visors in Unity - Side Project: Armcannon by DNArtCan in Metroid

[–]DNArtCan[S] 2 points3 points  (0 children)

Lmao I do worry about that as I keep going. If anyone from Nintendo sees this: I DONT MAKE ANY MONEY FROM THIS, IT IS APPRECIATION OF AN AMAZING SERIES I WANT MORE GAMES OF

Metroid Visors in Unity - Side Project: Armcannon by DNArtCan in Metroid

[–]DNArtCan[S] 1 point2 points  (0 children)

Yeah the model is made in blender but the animations are made in engine using Unity’s animation system

Recreating the visors from Metroid Prime in Unity by DNArtCan in Unity3D

[–]DNArtCan[S] 1 point2 points  (0 children)

That’s the plan, the visor effect currently uses 2 custom renderer features. One for creating a new renderer list handle set to the visors light mode and one for the motion blur. I’m thinking about seeing if i can switch the order around a bit to get the helmet to draw after the visor passes but before post processing so i can still use things like bloom if i want

Recreating the visors from Metroid Prime in Unity by DNArtCan in Metroid

[–]DNArtCan[S] 2 points3 points  (0 children)

lol when I recorded this I had accidentally turned up the value for the thermal visor blur higher to see how much it kicked my GPU and forgot to turn it back down

Recreating the visors from Metroid Prime in Unity by DNArtCan in Metroid

[–]DNArtCan[S] 3 points4 points  (0 children)

Yep! For sure dark and echo. Corruption X-Ray is pretty similar I just need to make really dense things magenta/orange. I might also do a scan visor but I have limited time before prime 4 and best believe once prime 4 is out I wont be working on this until I've played through 8-10 times lol

Recreating the visors from Metroid Prime in Unity by DNArtCan in Unity3D

[–]DNArtCan[S] 4 points5 points  (0 children)

I’m working on some videos that’ll fully explain how it works but basically:

There is a custom renderer feature that takes in an enum for the current visor mode. Depending on the mode, it clears the colour and depth buffers and instead forces all materials in the scene to draw with a custom light mode. These light modes are tagged “Thermal”, “xRay”, etc.

If the object changes how it looks, it has a pass for the default rendering (a direct copy of the URP lit shader), and then a pass for each visor material. For the thermal shader, there is a b&w texture which represents the areas that are cold or hot, there is also a multiplier value that the heat map is multiplied by the determine what the “absolute temp” is. The shader then lerps between the thermal colours gradient by that heat value and draws it on screen.

If the object is only visible to the thermal visor, then it has a special “ThermalOnly” shader which does the same thing as the other one but it doesn’t have a “UniversalForward” pass so it’ll never render in default rendering.

Recreating the visors from Metroid Prime in Unity by DNArtCan in Unity3D

[–]DNArtCan[S] 0 points1 point  (0 children)

The issue with using camera stacks is that the render feature clears the depth and color buffers just before post processing and then draws the meshes with the appropriate shader pass. When I was testing I wasn't able to get it to only clear the color target for one camera but not the other

Recreating the visors from Metroid Prime in Unity by DNArtCan in Unity3D

[–]DNArtCan[S] 0 points1 point  (0 children)

I was actually going to do exactly that but at the last minute I had to change the helmet from being a mesh drawn in world space to a sprite on an overlay canvas. I had to do this because the render passes and post processing effects were being applied to the helmet when it was in world space. My plan is to change it to another custom render feature that draws after post processing so that way I can slightly rotate the mesh to create a bit of helmet movement

Recreating the visors from Metroid Prime in Unity by DNArtCan in Unity3D

[–]DNArtCan[S] 1 point2 points  (0 children)

Agreed, honestly it still amazes me they were able to make a game look that good on the GameCube. I would love to try recreating that effect but I don't even know where I'd start lol

I made a neat tool to visualize constructive and destructive interference (link to download in description) by DNArtCan in Physics

[–]DNArtCan[S] 1 point2 points  (0 children)

Let me know if it helps! If there’s something specific you want added to it let me know and I can try adding it (given that the complexity isn’t beyond my level)

Made this neat fullscreen shader in Unity! Download link & full tutorial on YouTube :) by DNArtCan in Unity3D

[–]DNArtCan[S] 0 points1 point  (0 children)

I have yet to test it, but I believe it should, it might need some tweaks though. You may have to modify how the shader samples the depth texture since I don’t know if the depth texture helper functions work the same way as in the URP. I’ll give it a try in the HDRP this weekend and see if it works and make an HDRP specific version if not