Posted January 12, 2021 by leafthief
#tutorial #hpsxrp #low-poly #unity3d #psx #characters
! Please note that this tutorial is outdated !
The HPSXRP (short for: Haunted PSX Render Pipeline) is a render pipeline for Unity3d that emulates the hardware limitations of the PS1.
The pipeline is developed by @pastasfuture (itch, twitter) and the Haunted PS1 community (itch, twitter, discord).
If you're into PSX graphics, you recognize these peeps from the Haunted PS1 Demo Disk 2020 or the MADVENT Calendar. It's a great community full of nice people, so definitely check out their games and their discord.
The HPSXRP github page basically contains all the information for setting up the render pipeline in the wiki. This article is essentially going to provide you the same information, just with some additional images and a couple of gifs.
Install GIT
In order for the Unity package manager to properly display the RP as a package, you'll need to have git and git lfs installed. Download it here:
https://git-scm.com/downloads
The easiest way to get started is to create a new 3D project. Not High Definition RP, not the Universal or Lightweight RP. Just the empty 3D template.
Once you created your project, navigate to the project folder and open up your manifest.json file
Project Folder\Packages\manifest.json
and add the line
"com.hauntedpsx.render-pipelines.psx":"<a href="https://github.com/pastasfuture/com.hauntedpsx.render-pipelines.psx.git">https://github.com/pastasfuture/com.hauntedpsx.render-pipelines.psx.git</a>"
Before switching to HPSXRP, I suggest putting something to render into the scene. I'm using a simple cube in my example. Next we'll go to the HauntedPS1 menu and create both the RenderPipelineAsset and the Resources. After that, we can finally switch the pipeline in the Project Settings/Graphics, by using the RenderPipelineAsset we just created.
To make our test cube render again, we'll have to do two things:
Create a new Global Volume in your scene and add two post processing effects: Quality Override Volume and Cathode Ray Tube Volume. Once you enable the Quality Override Volume, you'll see colored noise, vignette and artifacts. This is the Cathode Ray Tube post effect that's enabled by default. As I like to start with a blank slate, I add an override into the post processing profile, essentially disabling the Cathode Ray Tube Volume that makes the game look like its played on an old CRT TV.
But still no cube! That's because our test cube is still using the old default material. But the HPSXRP only renders its own shaders, meaning we have to update existing materials to use the PSXLit shader. Alternatively, we can simply create and assign a new material, as they default to using the PSXLit Shader.
Now we're able to see the cube again. At this point, we can start adding the textured models or update the existing materials to the PSXLit material. To utilize all options the HPSXRP provides, I suggest setting the filtering of your textures to bilinear. You can still default back to point filtering (pixely textures) in the material itself.
Here's my character Gertie, rendered in the HPSXRP. You can see the vertex jitter and the pixelation post processing. All the good stuff the Render Pipeline comes in.
Now, what are you waiting for? Go ahead and try it for yourself!
In the next post, I'll share some insights into my character workflow. Stay tuned!
- leafthief