The VG Resource

Full Version: [TUTORIAL] Fix shaders for PS1 models in Blender
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
When you import a .obj or .dae PS1 model into Blender, the model won't look like it would in-game. I couldn't find a script that would fix this automatically, so I wrote one. I'll explain how to use it here.

I'll be using the model Evening Lake Home from Spyro 3, ripped by Cooljackup. I'll also be using Blender 3.6.

If you import this model into Blender you'll see

[Image: Before.jpg]

Notice it doesn't look like the icon at all. To fix it, make sure all the objects are selected, then open the Text Editor, press "New" and paste this script: https://raw.githubusercontent.com/scures.../ps1ify.py

Then just hit the Run button at the top (arrow icon).

[Image: 9sxljD1.png]

You should get

[Image: 45d5xFW.jpeg]

The land is fixed, but the water isn't transparent. The script needs help to know which parts should be semi-transparent. You can tell it a material should be semi-transparent by putting the word "Transparent" (case-insensitive) in the material name. Here we select the Water object, switch to the Material tab in the Properties editor, and rename the material "Water" to "Water Transparent".

[Image: ZwTAUMd.png]

And just hit Run again to get

[Image: After.jpg]

Ta-dah!

This works because the PS1's fragment shader is simple enough that you basically only need three pieces of information to know how to shade any object: whether it has a texture, whether it has vertex color, and whether it is semi-transparent. The script knows the first two, so if you help it out with the third, it can fix everything for you.

Hope this helped someone.