im so mad at myself for not watching this sooner. from the thumbnail i always thought this was a video on 2D scroller-type games despite the title describing something completely different. this was exactly what i needed, thank you so much
As an aside Silent Hill had to devote vertex coloring exclusively to the flashlight so shadows are painted into the tile sheet. It’s the only ps1 game I’ve seen do this which adds to how eerily realistic it is.
I can't imagine how much effort that must have taken. I was messing around with the silent hill level viewer & there's a surprising amount of detail in the game, for example every building in central silent hill has a unique billboard & name. there's even different posters plastered everywhere, one in particular referencing portishead ... then all the different eerie posters and art in the school ... to manually draw the shadows into everything as well must have been insane.
The Mega Man Legends game also used vertex colors for dynamic lighting effects. In that case they used it both to give the environment the sense of directional light, where the top and west facing side of buildings/terrain walls/etc were made to appear as if they were receiving light and the bottom and east facing sides looked like they were in shadow. Then on top of that they faked distance fog by fading the vertex colors to white in the overworld, and black in the underground, the further a vertex is from the camera.
I literally screamed and woke my friend up while watching this video, because this dude just casually pulls out "and next we're going to do this specific thing that you've literally been trying to google how to do for like forever and haven't gotten any results for". Not once, not twice, not even three times. I'm not shitting you, this happened like SIX times in this single 14 minute video. I don't know what deity or algorithm decided to bless me with this golden nugget of a video, but holy shit thank you so much for making it, you are an actual genie.
Godot users (as I'm pretty much exclusively using Godot now): the glb/gltf file has the vertex painting saved inside the file, so you just need to hit the "albedo vertex" options to show the vertex painting. You can use all sorts of colours and paint your scenes, so you could potentially skip creating additional textures.
My man. Your tutorials are perfect. You don't waste time, you talk about a subject I can't find anywhere else, and on top of that, you offer enlightening and well-made visualizations to explain 3D concepts that I'd never quite understood. Your content has been extremely helpful to me in my 3D gamedev journey, and if I ever manage to ship a 3D game, no doubt I'm gonna credit you. Were it not for my poor brazilian third world ass, I'd be showering you with money. You certainly deserve it. For now though, i can offer just a big heartfelt thanks. This video made my day.
Ok just want to say this technique for modeling is GODLIKE and solves so many problems I've run into while trying to achieve this style personally, but my small complaint is that this is a texture atlas, not a trimsheet. A trim sheet stacks multiple textures vertically, while allowing them to tile horizontally, it also usually packs normals, AO, roughness, etc in another texture that goes with it. Atlases don't provide any enhanced performance on modern hardware, and actual trimsheets, while not PS1 accurate, are still really useful to the style. For the game I'm working on I use both as needed, sometimes an atlas just makes things get that old school look that you need, but sometimes it's just way more convenient to have a tiling trim. This is really some of if not THE best PS1 content on RUclips though so I'm subscribing for sure, thanks for the video!
just grabbing the games files and processing them and then dragging and dropping them in and exploring the levels made me lean forward in my chair a little bit, that was cool
also a thing I figured out a few days ago in Blender, where I figured out how to take 3-6 32x32 square textures and make a tilesheet in Blender that shows all possible 64x64 combos and transitions, so it's all in one texture. these vids are awesome.
the Medal of Honor games taught me the texture atlas approach and i can see why it bogged down the performance so much when you had to work with a grid instead of modern vertex tools
This video is so much more useful than I initially thought. One of the best. I took what I needed to get started, and every time I come back I learn something new that I can implement to take things to the next level.
Thank you so much, i'm trying to make a "Ps1" game in unity but I really have no idea how to start or where to begin. This video is handy and a good start to learning
Clever, this method also helps mitigate the PS1's affine texture mapping distortions by breaking meshes up into parts. The best solutions are the ones that solve multiple problems!
What you're describing isn't really a trim sheet, it's a texture atlas. Trim sheet is like an atlas for normalmaps or decals, so that you don't have to rebake normalmaps for five models with the same geometry detail in their highpoly.
Indeed, baking is not possible using a texture atlas like this, if you intend to bake anything into the texture, like lighting, its not going to work. But out of curiosity, do you have an alternative method that would solve that problem?
@@TheSicklyWizard yeah, any time you wind up trying to combine a texture atlas with a mip or normal scenario, you get problems. if you leave a 1-pixel moat around each tile, times two for each additional mip level, that'll give you the room you need to interpolate properly while still saving you the cost of texture binds.
I'm making N64-inspired graphics. I've been experimenting with strip-shaped texture atlas, like 32x1024 resolution. By doing that, I keep lots of textures on the same material but I'm also able to use texture tiling on the X axis of the texture, repeating specific texture patterns over large areas without having to model individual squares. The game will not use advanced lighting and visual effects. It's been working so far but my question is: will this kind of atlas cause development problems later on? Am I safe using a strip-shaped atlas?
@@Supervocetubeia64 The main issue boils down to whether you're using mip mapping. If yes, you'll need a textured moat separating elements on the Y axis to handle color bleed from pixels "outside" your texcoords. If not, you should have no problems packing your texture like this. Most N64 games did not mip due to the very small texture cache.
This channel is a godsend. I have no clue why you don't have more subscribers, the quality of these tutorials is enough to sell as a course. Thank you!
what makes this a legendary video is because he used GIMP :O Edit: Holy shit, that reset uv trick is a livesaver. EXACTLY what I neeed!!!! dude thanks a lot!!
Excellent video wizard! For a future video, I'd like to know how to create PS1 water textures. I've tried creating them but it's been troubling to create the water surface caustics and the like.
Loved this video! It's a great resource about a techniques that is *still* used today in modern high fidelity games. I think this would be more of an "Atlas" than a trim sheet. Trim sheets are generally made of strips that tile with themselves horizontally, but can also include some "floaters" like an atlas does as well. Either way, this is a really, really useful technique that can take performance cost down a ton in both low-res and high-res settings
I'm in love with this tutorial! The only issue is that your voice's audio balance keeps wavering towards the right ear, like you keep going 'off-center' at random. It's subtle, but with headphones, it can be jarring. Besides that hiccup - keep it up!
Seriously awesome UV tricks. Never tried the Reset option before! Have you tried using the "Dirty Vertex Colors" in the Paint menu when Vertex painting? I find it gives a pretty nice jumping off point for quickly filling in crevices with shadow, similar to ambient occlusion. Huge timesaver for large areas.
i have seen "dirty vertex colors", its a good trick, but i like to have more control over things than letting it automatically do it. I tested it with this scene, but the effect was too strong.
I don't use Unity or Unreal (I wrote my own), but you should be able to avoid having to paint in the light shading and use a light source in-engine by calculating the lighting in the vertex shader PER-VERTEX, rather than in the fragment shader PER-FRAGMENT. This would give you that faceted shading that will simply be interpolated across the triangle faces and give you that old look.
I'm so confused. I can't use Circle Select when using the Knife tool. And when I'm pressing escape to get out of the Knife tool all the things i selected (obviously) go away too!
Just curious but how would one go about making a capcom or square soft style game from the Era? I've been looking into making a game that uses pre-rendered backgrounds but I'm fairly new to all this and Can't seem to find a video on how to make pre-renders and objects that move along them with invisible collision.
@@TheSicklyWizard I've been trying to get the more blurry look instead of the tiled more clean look? The biggest issue I've been having is getting the top of the cliff to match well with the rest of the cliff wall.
You would need to use a texture filter, but if you use a filter you need to give the texture tile a padding so it doesn't blend together other textures and exasperate the problem
Hi, first off, thanks so much for your videos. They've been a tremendous help to me. I have a question: is this technique for texturing levels unique to this era of gaming, or is it still used today? Or does it really just depend on the type of game you're making? The idea of tiling a map like this in blender then exporting to my game engine sounds way more appealing to me than unwrapping an entire level and hand painting it. I grew up with rog maker 2k and 2k3 and always enjoyed building levels this way, but until now never figured how to implement this in 3d. Curious what's the industry standard...
This technique can definitely be used in today's games, it so depends on the game your are making. Nowadays I believe a lot of terrain use splatmaps to texture the environment, which is basically a non-color data texture map that assigns textures to be laid over the terrain instead of having to lay every single tile out.
awesome and shockingly rare information to find, thank you! curious how they handle this in gamecube era in games like okami, where the environments feel a bit less gridlike. i imagine it's similar though.
If you had decided to include the tree textures as part of the atlas, what would have been your process for creating the tree? I am trying to understand workflow for more complex objects using this method. I ask because in your speed tree video your bark UV goes outside the bounds of the texture - you would need to UV reset it to fit in the atlas, which would cause major stretching. Would you make a tree out of identical sized planes?
quick question, is there another way to do lighting that closely mimics the style? "painting" the lighting on is difficult for me especially in maps with a particular lighting source and not sunlight. of course it wouldnt be true to the style if i did it any other way, but i was wondering if there even *was* another way
If you use a white diffuse shader, you could bake the lighting from that into the vertex colors. There's a lot of possibilities here's, but that's one of them. You could set up a proximity using geo nodes for objects that would have drop shadows. Those are some of my ideas
I keep coming to this video like its gospel, thanks for the these videos! I got a question tho, how would I export from Blender to Unity while keeping the Vertex Painted Shadows?
I'm not to sure how unity works with it's shading system but I do know that the vertex colors are saved. Not sure how to access or use them in unity's system
@@TheSicklyWizard You were right about Vertex Colors being saved, I just had to make a custom shader using Unity's Shader Graph, by using Multiply between Vertex Color node and Sample Texture 2D in!
My trimsheat is 64x64 and each tile 32x32 but when put into blender each tile (reset, then scaled by half) bleeds into then next texture on all sides (basically having a very small grass border if they're dirt, or vice versa). Any idea why or what I need to do to fix it?
For those who are wondering, the Vertex Color node has been renamed to Color Attribute in Blender 3.0
oh thank you
im so mad at myself for not watching this sooner. from the thumbnail i always thought this was a video on 2D scroller-type games despite the title describing something completely different. this was exactly what i needed, thank you so much
As an aside Silent Hill had to devote vertex coloring exclusively to the flashlight so shadows are painted into the tile sheet. It’s the only ps1 game I’ve seen do this which adds to how eerily realistic it is.
I can't imagine how much effort that must have taken. I was messing around with the silent hill level viewer & there's a surprising amount of detail in the game, for example every building in central silent hill has a unique billboard & name. there's even different posters plastered everywhere, one in particular referencing portishead ... then all the different eerie posters and art in the school ... to manually draw the shadows into everything as well must have been insane.
is there a video that explains this? I still dont understand how it worked
@@LarryHazard +
The Mega Man Legends game also used vertex colors for dynamic lighting effects. In that case they used it both to give the environment the sense of directional light, where the top and west facing side of buildings/terrain walls/etc were made to appear as if they were receiving light and the bottom and east facing sides looked like they were in shadow. Then on top of that they faked distance fog by fading the vertex colors to white in the overworld, and black in the underground, the further a vertex is from the camera.
Metal Gear Solid 1 actually has the lighting baked into the textures
I literally screamed and woke my friend up while watching this video, because this dude just casually pulls out "and next we're going to do this specific thing that you've literally been trying to google how to do for like forever and haven't gotten any results for". Not once, not twice, not even three times.
I'm not shitting you, this happened like SIX times in this single 14 minute video. I don't know what deity or algorithm decided to bless me with this golden nugget of a video, but holy shit thank you so much for making it, you are an actual genie.
Straight to the fucking point and also manages to be concise?
Only this guy is allowed to make Blender Tutorials from now on.
Godot users (as I'm pretty much exclusively using Godot now): the glb/gltf file has the vertex painting saved inside the file, so you just need to hit the "albedo vertex" options to show the vertex painting. You can use all sorts of colours and paint your scenes, so you could potentially skip creating additional textures.
Ooh, nice!
My man. Your tutorials are perfect. You don't waste time, you talk about a subject I can't find anywhere else, and on top of that, you offer enlightening and well-made visualizations to explain 3D concepts that I'd never quite understood. Your content has been extremely helpful to me in my 3D gamedev journey, and if I ever manage to ship a 3D game, no doubt I'm gonna credit you. Were it not for my poor brazilian third world ass, I'd be showering you with money. You certainly deserve it. For now though, i can offer just a big heartfelt thanks. This video made my day.
Can't put into words how much I appreciate your videos.
I appreciate that!
This is honestly applicable to modern games too, thanks for explaining trim sheets!
Ok just want to say this technique for modeling is GODLIKE and solves so many problems I've run into while trying to achieve this style personally, but my small complaint is that this is a texture atlas, not a trimsheet. A trim sheet stacks multiple textures vertically, while allowing them to tile horizontally, it also usually packs normals, AO, roughness, etc in another texture that goes with it. Atlases don't provide any enhanced performance on modern hardware, and actual trimsheets, while not PS1 accurate, are still really useful to the style. For the game I'm working on I use both as needed, sometimes an atlas just makes things get that old school look that you need, but sometimes it's just way more convenient to have a tiling trim. This is really some of if not THE best PS1 content on RUclips though so I'm subscribing for sure, thanks for the video!
Ive heard that twice now about trim sheets, shame since i couldnt readily tell the difference
I had no idea how to make the shadows of the scene until now. You are very much needed in the blender community.
Another great video, you are seriously doing a huge service in making these.
You have one of the most underrated channels on RUclips!
just grabbing the games files and processing them and then dragging and dropping them in and exploring the levels made me lean forward in my chair a little bit, that was cool
also a thing I figured out a few days ago in Blender, where I figured out how to take 3-6 32x32 square textures and make a tilesheet in Blender that shows all possible 64x64 combos and transitions, so it's all in one texture. these vids are awesome.
the Medal of Honor games taught me the texture atlas approach and i can see why it bogged down the performance so much when you had to work with a grid instead of modern vertex tools
This video is so much more useful than I initially thought. One of the best. I took what I needed to get started, and every time I come back I learn something new that I can implement to take things to the next level.
Dude... I'm speechless. Loved it, great tutorial.
Reset UVs, what MVP function. Awesome tutorial 👌 thanks!
Thank you so much, i'm trying to make a "Ps1" game in unity but I really have no idea how to start or where to begin. This video is handy and a good start to learning
Полезное видео. Все по делу и без лишней воды. 🙂
Useful video. All on the case and without unnecessary "water".
Very useful, I might give this a shot in the future, it could be very fun :D
Thank you so much for uploading! :) Will try this out tomorrow
Hope you enjoy!
0/10 the spinning Silent Hill CD didn't have a black backside.
No eriously, you do an amazing job on here. Thank you so much for that.
Chipped PS1 lol
This art style is so unique and cool
I’m so glad I found this because it solves a problem I’ve been having with the Bevy engine! Thanks!
Clever, this method also helps mitigate the PS1's affine texture mapping distortions by breaking meshes up into parts.
The best solutions are the ones that solve multiple problems!
What you're describing isn't really a trim sheet, it's a texture atlas. Trim sheet is like an atlas for normalmaps or decals, so that you don't have to rebake normalmaps for five models with the same geometry detail in their highpoly.
It's also worth noting that baking anything using the method in the video is ill advised since the UV polys overlap one another
Indeed, baking is not possible using a texture atlas like this, if you intend to bake anything into the texture, like lighting, its not going to work.
But out of curiosity, do you have an alternative method that would solve that problem?
@@TheSicklyWizard yeah, any time you wind up trying to combine a texture atlas with a mip or normal scenario, you get problems. if you leave a 1-pixel moat around each tile, times two for each additional mip level, that'll give you the room you need to interpolate properly while still saving you the cost of texture binds.
I'm making N64-inspired graphics. I've been experimenting with strip-shaped texture atlas, like 32x1024 resolution. By doing that, I keep lots of textures on the same material but I'm also able to use texture tiling on the X axis of the texture, repeating specific texture patterns over large areas without having to model individual squares. The game will not use advanced lighting and visual effects.
It's been working so far but my question is: will this kind of atlas cause development problems later on? Am I safe using a strip-shaped atlas?
@@Supervocetubeia64 The main issue boils down to whether you're using mip mapping. If yes, you'll need a textured moat separating elements on the Y axis to handle color bleed from pixels "outside" your texcoords. If not, you should have no problems packing your texture like this. Most N64 games did not mip due to the very small texture cache.
This channel is a godsend. I have no clue why you don't have more subscribers, the quality of these tutorials is enough to sell as a course. Thank you!
GOD DARN MASTERPIECE
MADE BY A MASTERPIECE
I love these kind of videos, makes me so nostalgic. Good to see someone bringing back them oldschool vibes :)
I dont know if I even want to 3d model but damn I love the ps1 look of this
Awesome!
I think this one’s the best RUclips video I’ve ever watched. Really.
what makes this a legendary video is because he used GIMP :O
Edit: Holy shit, that reset uv trick is a livesaver. EXACTLY what I neeed!!!! dude thanks a lot!!
Excellent video wizard! For a future video, I'd like to know how to create PS1 water textures. I've tried creating them but it's been troubling to create the water surface caustics and the like.
If the topic wasn't so niche you'd have a tons more subscribers. This is really well done
yeah, probably :)
Such a helpful series, I really love the coziness that comes with this style.
Excellent video!! this is really in-depth for a low poly workflow, that UV reset + constrain combo just saved me so much headache.
Man, your channel is some of the greatest and most helpful content I've come across for game dev and modeling
Seriously thank you so much
Awesome! Was looking for a simplest way to model and texture environments. Always a good idea to go back in time.
This may be useful in the next year or two.
I want to start a hobby project that mimics 90's style FPS puzzle action games.
this is just what i was looking for to texture my terrains and not make a giant size texture!
thank you very much!
This is so fkn cool! How is it that I'm only now finding your channel? Great stuff!
Actually, this tuto is the best for beginners.
This is such a useful tutorial, thank you so much for making it.
So many of my questions answered in one video!
I'd really be interested in how to import vertex colors with texture into unity, could you do a tutorial on it?
love this... subscribed from new zealand
this looks pretty cool! thanks for sharing the creation process
Absolutely amazing!! Definitely going to give this a go when I get the chance, the vertex colouring at the end do so much to sell the look.
Loved this video! It's a great resource about a techniques that is *still* used today in modern high fidelity games.
I think this would be more of an "Atlas" than a trim sheet. Trim sheets are generally made of strips that tile with themselves horizontally, but can also include some "floaters" like an atlas does as well. Either way, this is a really, really useful technique that can take performance cost down a ton in both low-res and high-res settings
I'm in love with this tutorial! The only issue is that your voice's audio balance keeps wavering towards the right ear, like you keep going 'off-center' at random. It's subtle, but with headphones, it can be jarring. Besides that hiccup - keep it up!
Seriously awesome UV tricks. Never tried the Reset option before!
Have you tried using the "Dirty Vertex Colors" in the Paint menu when Vertex painting? I find it gives a pretty nice jumping off point for quickly filling in crevices with shadow, similar to ambient occlusion. Huge timesaver for large areas.
i have seen "dirty vertex colors", its a good trick, but i like to have more control over things than letting it automatically do it. I tested it with this scene, but the effect was too strong.
I don't use Unity or Unreal (I wrote my own), but you should be able to avoid having to paint in the light shading and use a light source in-engine by calculating the lighting in the vertex shader PER-VERTEX, rather than in the fragment shader PER-FRAGMENT. This would give you that faceted shading that will simply be interpolated across the triangle faces and give you that old look.
Wow, you are quite good at this. I love this series, really hoping you keep making PS1 style tutorials.
I stopped making these and just watched the video. Idk y but i find ur videos oddly entertaining lol
Idk if you read my mind but I was trying figure out how to this for my project. Thank you so much.
Great video as usual!
Can you teach us your water texture ? It looks so simple but effective !
Thank you!! The best lesson about this topic I've seen
Dude, you are AMAZING!
I would like this 100 times if I could.
This is so cool man. Thank you for showing
Thank you, awesome atmosphere
I'm so confused. I can't use Circle Select when using the Knife tool. And when I'm pressing escape to get out of the Knife tool all the things i selected (obviously)
go away too!
Just curious but how would one go about making a capcom or square soft style game from the Era? I've been looking into making a game that uses pre-rendered backgrounds but I'm fairly new to all this and Can't seem to find a video on how to make pre-renders and objects that move along them with invisible collision.
Another day in the golden mind (golden mine?) of TheSicklyWizard
Love it man, maybe now I can create a game with this Style
Commenting to influence the algorithm lol
doing the lords work
Please don't stop making these :')
This is beautiful
This is so cool! Thanks so much, this is great insight.
Very informative and detailed video. Nice.
ah i could have used the advice at 9:40 when I was younger
"Why didn't you do your homework?!"
_"It's a bit disruptive to my workflow"_
Thank's for this awesome video 🔥🔥
That was great! Thanks for sharing this technique.
This is amazing!
Great video! But I do have a question. How do you now import these vertex colors into Unity?
Amazing video! You explain everything really well.
Dont forget to downsample the color's bit depth color to 15 bit rgb.
this is so sick. thank you
Great video!! Would love a video about texturing terrain for N64 as well!
It's very much the same but lower res textures
@@TheSicklyWizard I've been trying to get the more blurry look instead of the tiled more clean look? The biggest issue I've been having is getting the top of the cliff to match well with the rest of the cliff wall.
You would need to use a texture filter, but if you use a filter you need to give the texture tile a padding so it doesn't blend together other textures and exasperate the problem
You are fantastic, and your videos are fantastic
Has Blender changed where when using add grid, it's now based off face subdivisons rather than vertex?
I'm not sure, I'd have to look
@@TheSicklyWizard I was just going through the tutorial then realised my grid was off when I'd set it to 21 sub divisions instead of 20 lol :)
Man! This is great!
Hi, first off, thanks so much for your videos. They've been a tremendous help to me. I have a question: is this technique for texturing levels unique to this era of gaming, or is it still used today? Or does it really just depend on the type of game you're making? The idea of tiling a map like this in blender then exporting to my game engine sounds way more appealing to me than unwrapping an entire level and hand painting it. I grew up with rog maker 2k and 2k3 and always enjoyed building levels this way, but until now never figured how to implement this in 3d. Curious what's the industry standard...
This technique can definitely be used in today's games, it so depends on the game your are making. Nowadays I believe a lot of terrain use splatmaps to texture the environment, which is basically a non-color data texture map that assigns textures to be laid over the terrain instead of having to lay every single tile out.
awesome and shockingly rare information to find, thank you! curious how they handle this in gamecube era in games like okami, where the environments feel a bit less gridlike. i imagine it's similar though.
That's a mighty weird looking Minecraft world. lmfao
Love the video btw!
Thank you so much for these videos!
8:27 dude turns into saul goodman
im making game with random world tiles gens and this is very usfull! ty!
how did you make that 4x4 tile in the gimp when making the dirt texture with grass texture
If you had decided to include the tree textures as part of the atlas, what would have been your process for creating the tree? I am trying to understand workflow for more complex objects using this method. I ask because in your speed tree video your bark UV goes outside the bounds of the texture - you would need to UV reset it to fit in the atlas, which would cause major stretching. Would you make a tree out of identical sized planes?
For the trees they use a looping texture, I didnt want to use an atlas for them because it wouldn't look good or organic in my opinion.
@TheSicklyWizard thanks for the response!
quick question, is there another way to do lighting that closely mimics the style? "painting" the lighting on is difficult for me especially in maps with a particular lighting source and not sunlight. of course it wouldnt be true to the style if i did it any other way, but i was wondering if there even *was* another way
If you use a white diffuse shader, you could bake the lighting from that into the vertex colors. There's a lot of possibilities here's, but that's one of them. You could set up a proximity using geo nodes for objects that would have drop shadows. Those are some of my ideas
i should remake this on sega saturn
Go for it 👀
I keep coming to this video like its gospel, thanks for the these videos! I got a question tho, how would I export from Blender to Unity while keeping the Vertex Painted Shadows?
I'm not to sure how unity works with it's shading system but I do know that the vertex colors are saved. Not sure how to access or use them in unity's system
@@TheSicklyWizard You were right about Vertex Colors being saved, I just had to make a custom shader using Unity's Shader Graph, by using Multiply between Vertex Color node and Sample Texture 2D in!
My trimsheat is 64x64 and each tile 32x32 but when put into blender each tile (reset, then scaled by half) bleeds into then next texture on all sides (basically having a very small grass border if they're dirt, or vice versa). Any idea why or what I need to do to fix it?
Your material is set to linear, you have to set it to closest so it doesn't bleed I to eachother
@@TheSicklyWizard Ah. Thank you for the help!
@@TheSicklyWizard Do you know of a way to keep it set to linear but not have the bleeding?
You would need to pad your textures with a 1 pixel border
@@TheSicklyWizard A simple solution lol. Thanks for the quick reply! 👍
the texture mapping tutorial part in gimp is outdated
Love the content!