@@supriyakhanra9068 Not bullying, he made a game called Karlson because someone challenged him and said that he can't make a 3d game and since then many people comment on his videos like this lol. I'm just joking, I do love his videos.
Wow, this was way more impressive than I expected. You could flesh this out a bit and sell this as an asset I bet. Keep up the excellent content, cheers :)
Awesome tutorial! I really appreciate that you both explain the shader and include a full view of the shader graph so it can easily be recreated! The struggle to recreate a shader using nothing but gifs of the finished product and maybe some code that doesn't work anymore is the worst part of game dev.
Back in the day when I worked for a larger game publisher, central tech did a presentation on several shader options for the XBox and PS3. What they called a ' depth shader' is what we have here. This was ~2004. After playing with all our nice new shaders we were immediately informed that they were too expensive to use. And such is the life of a game artist
There's free drop in resources on the Unity Asset Store for this, but I love that you built it from scratch and showed the process for those of us who want total control over the process.
i made a new playlist just because of this video called "stuff i should put in a game" Just seeing a practicle demonstration of this helps understand ideas that are within ones grasp. Thank you for reminding me of that.
Things like that are what makes game developing so much interesting and fun to mess with these innovations are so interesting to come up with even in smaller scales. it does make it more difficult than challenging to accomplish but it adds more magic to it and makes everything so interesting.
I'm a software developer by trade, but video game developers have always inspired me. Y'all are literally the intersection between art, story telling, and computer science. So I've been dabbling a bit in video game development, and man, what you guys do is NOT easy. Much respect for content creators like yourself!
I was today years old when I realised Spiderman didn't have rooms rendered behind those windows. This is an amazing technique, and one which I would love to make use of in future projects!
I remember seeing someone on reddit posting about how Forza horizon 4 Devs had attention to detail when they modeled the interior of building windows he'd be disappointed if he knew the truth XD
It took me a year to find a time and watch this video saved in my downloads. I do not regret that since I am learning shaders in details and I can better understand how powerful this trick is. Thank you for another great video!
That's a nice one! For a few months ago, when I was creating my version of this tutorial, I followed similar steps to your thought process. Happy to see it kinda converges with others like a common sense :)
That's really cool. Just a note - the pacing in these sandbox videos is, IMO, way better than your other videos (from what I've seen so far). Sometimes I can't keep up visually in your other videos. This weird concept exploration format is gold, though.
Waoo you actualy cover complicated topics and you do them realy well Thank you. Your works are realy amazzing, cant wait to watch what pics you interest.
Great video! I appreciate your efforts! I just wish you went into a little bit more detail about why something went wrong, and how changing it fixed it, an example is around the 4:15 mark
Thank you for this video, i won't be using this for windows but i will be using the basic techniques for something else that will be far better than my initial implementation!
Fun fact! One of the examples you gave for blackout windows, Cities Skylines, does actually use a technique similar to this, with the exception that it only shows the floor inside the window, that fades into the distance. So you have interiors, but the interiors are all empty wooden floors and nothing else.
Great tutorial as always, you have some of the highest quality game dev content on youtube. Another suggestion that I would think would be helpful, and go along with your strategy/city builder game theme that comes up in some of your videos, would be a tutorial on how to create a 3D based grid map system, Where buildings/units/roads are snapped to a grid when placed. This would be a great niche to hit, as the current tutorials for this on youtube are either poorly made or use an inefficient method to create this. Cheers
My brain: render out a room in one image with a depth map. Use those textures on a model and use inverse camera mapping to displace using a parallax node. idk if that works lmao I haven't tried it, but someone should. Probably not as performance Friendly though, but hey, you get per object depth information at the sub pixel level, so that's cool I guess
That's exactly what I was thinking, we could improve the illusion of depth specially for the things that stick out. But then again, if you're using it for something that will whizz by at 250kmph then there's no point XD. Maybe for something like spider man, they can replace the faked room with a full 3d room once he gets close enough to the window
you can get a real struggle doing this, cauz you adding things you shouldn't. Depth map cant be baked on the UV of cubemap, so this is first problem to solve if you about to mix those pipelines.
This is very cool. I wish that more games would use this technique, it seems like something like this isn't that resource intensive given that Spider-Man for the PS4 uses it.
This is so cool. It only works in 2D. In VR this wouldn't work, you would be able to tell that it's a flat surface but it would still kind of look like it had depth
I would LOVE to see a video on projection decal shaders. I know that HDRP has these built in, but I would love to have it decomposed in shader graph so I could do some more custom processing on the texture that gets projected.
Really cool stuff. It would be cool to do some kind of comparison test with this way and the more traditional method. I'm curious to see the performance of this technique vs the simpler one.
In 2005 this technique was used in a game called Trackmania Sunrise, in buildings in the bay enviroment. The effect didn't look as good as in current games, but it's still quite surprising considering the time.
Really nice video ! I was thinking that something that could be cool and give it a sense of increased fidelity would be to display some curtains that are displayed with a smaller parralaxe offset in front, on the sides of the windows. That would give the illusion that the player can see what is behind the curtains. (Said curtains should then be in a different texture, not integrated in the cubemap, of course)
Do you still need to flatten the objects along the walls after you negated the tiling values at 6:56? Wouldn't that also fix the skewing of any objects in the room, like at 6:08? Or will that always be the nature of this type of projection?
Really cool video! As a followup, could you potentially create a system that automatically randomises each room for every iteration of the cubemap, just to add that extra bit of variation?
Yeah, there's a lot more you could do with it. In theory, you could expose the Cubemap properties in the Shader and set them on an instanced material using a script for something like that.
There is a UE5 demo floating around which uses parallax mapping to "populate" the interior of rooms in a mostly static street scene, so I came here to try to understand it. (Too much math and scripting; my head hurts!) But your result is excellent!
Wouldn't using a orthographic camera instead of a perspective camera to capture the cubemaps work better and fix the whole "having to squish things down"?
I guess how the interior mapping shader works is by intersecting camera rays with imaginary cubes behind the plane. Moreover, I think that by pulling the camera out of the window and un-squishing all the geometry may produce better results (which means that you can't simply use a cubemap anymore).
This is really cool, was wondering if you could plug in an animated image and have a person in some of the rooms? maybe someone on their computer making minute movements so they don't break that depth illusion
Hi Matt! This video is just awesome, the only thing I can't seem to understand how it works is the cube you made in blender with the rearranged UVs. How did you do it? Thank you so much for all the work you do!
I'm pretty sure you can just use a reflection probe to bake a cubemap from a scene as long as the objects are static. That's what I did for a game I worked on and it saves as exr which I could just open up in ptohoshop and edit
Because light from the sun is much brighter than any light coming from the rooms, it would be cool to see the textures darken in certain conditions that involve competing light sources. Side note: I really feel like total reflection on windows (when viewed from a steep angle) is super unused. There were many cases in the video where I thought, "In real life, that would probably be impossible to see into because of the reflection".
This was really interesting, good job man!
Why you don't try and add this to Karlson (or you can't do that)
@@yousifragab479 why u bully him ?
@@supriyakhanra9068 Not bullying, he made a game called Karlson because someone challenged him and said that he can't make a 3d game and since then many people comment on his videos like this lol. I'm just joking, I do love his videos.
You should try it... (You know to finish it, don't you?)
@@yousifragab479 It would look pretty good in Karlson. Once he developed that he can also just throw it into Milkman Karlson as well.
Wow, this was way more impressive than I expected. You could flesh this out a bit and sell this as an asset I bet. Keep up the excellent content, cheers :)
Local hero teaches game designer wannabes how to pull off rad effects. Thank you sir.
lol
Awesome tutorial! I really appreciate that you both explain the shader and include a full view of the shader graph so it can easily be recreated! The struggle to recreate a shader using nothing but gifs of the finished product and maybe some code that doesn't work anymore is the worst part of game dev.
Back in the day when I worked for a larger game publisher, central tech did a presentation on several shader options for the XBox and PS3. What they called a ' depth shader' is what we have here. This was ~2004. After playing with all our nice new shaders we were immediately informed that they were too expensive to use.
And such is the life of a game artist
Senior game artist:
"I am limited by the technology of my time, but one day you will figure this out"
@@standardLitExactly. Cheers
There's free drop in resources on the Unity Asset Store for this, but I love that you built it from scratch and showed the process for those of us who want total control over the process.
i made a new playlist just because of this video called "stuff i should put in a game" Just seeing a practicle demonstration of this helps understand ideas that are within ones grasp. Thank you for reminding me of that.
People install Windows to play games, this guy installs games to play with windows.
🤨
there's a little bit of analogy in your randomness
@@lucianorubio9129 Windows is like a window to windows
Things like that are what makes game developing so much interesting and fun to mess with these innovations are so interesting to come up with even in smaller scales. it does make it more difficult than challenging to accomplish but it adds more magic to it and makes everything so interesting.
Want this city you made 😍
I'm a software developer by trade, but video game developers have always inspired me. Y'all are literally the intersection between art, story telling, and computer science. So I've been dabbling a bit in video game development, and man, what you guys do is NOT easy. Much respect for content creators like yourself!
Sadly, professional video game developers are chronically underpaid and overworked. Not a great industry to work in.
I was today years old when I realised Spiderman didn't have rooms rendered behind those windows. This is an amazing technique, and one which I would love to make use of in future projects!
I remember seeing someone on reddit posting about how Forza horizon 4 Devs had attention to detail when they modeled the interior of building windows he'd be disappointed if he knew the truth XD
That is true dedication, great job!
This is a brilliantly presented video on a really interested topic, deserves so many more views!
It took me a year to find a time and watch this video saved in my downloads. I do not regret that since I am learning shaders in details and I can better understand how powerful this trick is. Thank you for another great video!
That's a nice one! For a few months ago, when I was creating my version of this tutorial, I followed similar steps to your thought process. Happy to see it kinda converges with others like a common sense :)
Forget "No loading between buildings." Or "you can climb those mountains." Give me "See that window? You can look through it."
This shader looks really amazing, good job
Incredible analysis and final result! Love it. Goooooood job!
That's really cool. Just a note - the pacing in these sandbox videos is, IMO, way better than your other videos (from what I've seen so far). Sometimes I can't keep up visually in your other videos. This weird concept exploration format is gold, though.
This is sooooo cooooooool! Great work Matt! I always loved this technique and you've done a great breakdown here.
nice work! good job!
Waoo you actualy cover complicated topics and you do them realy well Thank you. Your works are realy amazzing, cant wait to watch what pics you interest.
It adds life and a soul to the game's ambience
Awsome video! I love this type of video, which shows the whole creative process, showing problems encountered and searching for information.
Great info as always! I really enjoyed the watch!
Thank you for sharing it with the community! Great job!
I'm just gonna borrow this for a second... nice video man!
Your videos are so next level 🤯
Holy crap, this is amazing! God bless the algorithm for recommending this.
Man u make some real tutorials...... Love it 😍
Nice! It really adds a lot to a simple environment.
Great video! I appreciate your efforts! I just wish you went into a little bit more detail about why something went wrong, and how changing it fixed it, an example is around the 4:15 mark
You spent a ton of time on this obviously and this is really interesting. Great work!(:
Great video dude, very informative bit also fun to watch!
Bro, the fact that I was just looking for a video like this 3 days ago is crazy lmao
Thank you for this video, i won't be using this for windows but i will be using the basic techniques for something else that will be far better than my initial implementation!
Fun fact! One of the examples you gave for blackout windows, Cities Skylines, does actually use a technique similar to this, with the exception that it only shows the floor inside the window, that fades into the distance. So you have interiors, but the interiors are all empty wooden floors and nothing else.
Woohoo! Nice job. Now I'm off to create my own interior mapping shader, and hopefully learn from your tribulations. Keep up the awesome content!
I was JUST thinking about how to do this same thing! Great video! Thanks!
Great tutorial as always, you have some of the highest quality game dev content on youtube. Another suggestion that I would think would be helpful, and go along with your strategy/city builder game theme that comes up in some of your videos, would be a tutorial on how to create a 3D based grid map system, Where buildings/units/roads are snapped to a grid when placed. This would be a great niche to hit, as the current tutorials for this on youtube are either poorly made or use an inefficient method to create this. Cheers
This is the type of thing that makes this game next gen
My brain: render out a room in one image with a depth map. Use those textures on a model and use inverse camera mapping to displace using a parallax node. idk if that works lmao I haven't tried it, but someone should. Probably not as performance Friendly though, but hey, you get per object depth information at the sub pixel level, so that's cool I guess
That's exactly what I was thinking, we could improve the illusion of depth specially for the things that stick out. But then again, if you're using it for something that will whizz by at 250kmph then there's no point XD. Maybe for something like spider man, they can replace the faked room with a full 3d room once he gets close enough to the window
you can get a real struggle doing this, cauz you adding things you shouldn't. Depth map cant be baked on the UV of cubemap, so this is first problem to solve if you about to mix those pipelines.
@@KusalGunasekera honestly, in Forza Horizon 5, the normal cubemap approach works really well, things look 3D enough with a little trickery
Really like your channel ,please post more often
That is incredible! Thank you for that video, it was really interesting to watch
This is very cool. I wish that more games would use this technique, it seems like something like this isn't that resource intensive given that Spider-Man for the PS4 uses it.
You have so professional game devs and ideas ♥
This is really interesting and intriguing!! Thanks for the amazing explanation.
You are amazing! Thank you for sharing your knowledge
This is incredibly cool. Thank you for sharing!
Wow, good job! This is nice, thanks for sharing.
Wuaoooo sin palabras.... Excelente tutorial me sentí emocionado por el shader y el resultado logrado..
Man u r opening my eyes to AAA level game graphics
Awesome work man
This is so cool. It only works in 2D. In VR this wouldn't work, you would be able to tell that it's a flat surface but it would still kind of look like it had depth
1:29 how did the room change???
I would LOVE to see a video on projection decal shaders. I know that HDRP has these built in, but I would love to have it decomposed in shader graph so I could do some more custom processing on the texture that gets projected.
This was really interesting to watch, I'm highly unlikely to ever use it but it was awesome. Thank you.
Nice. The front glass should be part of the shader though, no need for all that overdraw.
Awesome, my brain is screaming out of confusion but in a good way, great job :D.
Really cool stuff. It would be cool to do some kind of comparison test with this way and the more traditional method. I'm curious to see the performance of this technique vs the simpler one.
beautiful, good job
you know how much we love you?
In 2005 this technique was used in a game called Trackmania Sunrise, in buildings in the bay enviroment. The effect didn't look as good as in current games, but it's still quite surprising considering the time.
This is amazing !
Excelent video! Thank you for sharing this knowledge
wow, that is incredible
must be nice to be a genius like you
Amazing! Would also be interessted in how the script works to get the cubemaps for the rooms. I already learned so much from your videos, thank you!
It's literally the editor script shown in the video. That's all there is to it. It uses the default Camera.RenderCubemap feature as I mentioned.
I actually first noticed this when playing on Naboo in Battlefront 2. Interesting stuff!
Really nice video !
I was thinking that something that could be cool and give it a sense of increased fidelity would be to display some curtains that are displayed with a smaller parralaxe offset in front, on the sides of the windows. That would give the illusion that the player can see what is behind the curtains. (Said curtains should then be in a different texture, not integrated in the cubemap, of course)
Fantastic video, thanks so much!
Do you still need to flatten the objects along the walls after you negated the tiling values at 6:56? Wouldn't that also fix the skewing of any objects in the room, like at 6:08? Or will that always be the nature of this type of projection?
Really cool video! As a followup, could you potentially create a system that automatically randomises each room for every iteration of the cubemap, just to add that extra bit of variation?
Yeah, there's a lot more you could do with it. In theory, you could expose the Cubemap properties in the Shader and set them on an instanced material using a script for something like that.
You could also use a texture array for the cubemaps and sample from it using some simple rng to make it less tiled. Idk, food for thought.
Nicely done.
this is really cool
The Crew 2 does this effect really nicely.
wow what a quality video, thank you
There is a UE5 demo floating around which uses parallax mapping to "populate" the interior of rooms in a mostly static street scene, so I came here to try to understand it. (Too much math and scripting; my head hurts!) But your result is excellent!
nice work !
Wouldn't using a orthographic camera instead of a perspective camera to capture the cubemaps work better and fix the whole "having to squish things down"?
Wow, this is really interesting.
Well done sir.
you should try to make corners be the same room to make it seem more realistic
I guess how the interior mapping shader works is by intersecting camera rays with imaginary cubes behind the plane. Moreover, I think that by pulling the camera out of the window and un-squishing all the geometry may produce better results (which means that you can't simply use a cubemap anymore).
This is really cool, was wondering if you could plug in an animated image and have a person in some of the rooms? maybe someone on their computer making minute movements so they don't break that depth illusion
Beautiful
bruh thats amazing
Awesome video I will add it to my game (because Dani wouldn't)
Gotta try this with spaceship windows, I hope it will bring a better sense of scale compared to the drawed windows on huge ships
Wooow this is awsome thank you mate
Hi Matt! This video is just awesome, the only thing I can't seem to understand how it works is the cube you made in blender with the rearranged UVs. How did you do it? Thank you so much for all the work you do!
Pretty impressive
What game is that in 0:30?
Agents of Mayhem, I believe.
I'm pretty sure you can just use a reflection probe to bake a cubemap from a scene as long as the objects are static. That's what I did for a game I worked on and it saves as exr which I could just open up in ptohoshop and edit
Because light from the sun is much brighter than any light coming from the rooms, it would be cool to see the textures darken in certain conditions that involve competing light sources.
Side note: I really feel like total reflection on windows (when viewed from a steep angle) is super unused. There were many cases in the video where I thought, "In real life, that would probably be impossible to see into because of the reflection".
Geez, imagine a combo of procedure generated rooms and this shader. It would be amazing!
7:29 wheres that video?
this tripped me out bro
Man, great work! so you made AAA paralax windows