Setting up the HPSXRP
What is the HPSXRP
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.
Setting up the HPSXRP
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.
Requirements
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
Starting a new project
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":"https://github.com/pastasfuture/com.hauntedpsx.render-pipelines.psx.git"
This line will add the github repository to your packages. Once you head back into Unity, the Render Pipeline should show up when opening the package manager.
Switching to HPSXRP
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.
Make it render
To make our test cube render again, we'll have to do two things:
- Enable PSX Quality Post Processing Effect
- Update materials
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
TURNPIKE NORTH
Creating a real-time PSX scene inspired by Life is Strange
Status | Released |
Category | Other |
Author | leafthief |
Tags | life-is-strange, Low-poly, Point & Click, PSX (PlayStation), vignette, ya, young-adult |
More posts
- Building the SceneJan 23, 2021
- Creating CharactersJan 14, 2021
- Creating TURNPIKE NORTHJan 11, 2021
Comments
Log in with itch.io to leave a comment.
Thank you so much! This is great.
I am getting this error when trying to install it
Library\PackageCache\com.hauntedpsx.render-pipelines.psx@a28da49f24\Runtime\RenderPipeline\PSXCamera.cs(152,23): error CS1501: No overload for method 'SetReferenceSize' takes 3 arguments
Check the Unity version you're using - don't think it works for the newest versions (2022, 2023).
The Github project for the pipeline says "Built for, and verified in Unity version 2019.3, 2019.4 LTS, 2020.1, and 2020.2."
will it work on a 2D project ???
I haven't tried yet, so I don't know. Sorry!
very cool!
Can’t wait to try this out.
I'm not really into 3D, however this is a cool setup nonetheless.
This is really fucking cool, thank you so much for putting this together!
Hello!
The Scene window is basically all gray and the error pops every few seconds. I'm running Unity 2019.4.12f1.First of all I wanted to thank you for the tutorial and to everyone who worked on HPSXRP for making it open-source.
After carefully following every step i got the following error:
Thanks in advance!
I'm not a technician myself but maybe I can still help.
In general, a good entry point for getting help would be the Haunted PS1 discord. There's a dedicated #hpsxrp channel with a valuable history of problem-solving. I did a quick search. It seems that some people have run into this exact issue.
One person was able to resolve this by checking whether git LFS is installed and installing it if this wasn't the case.
If that doesn't do the trick, check out the discord. The peeps there will gladly help where they can, I'm sure.
Will ask in their discord, thank you so much!
Hey Man, did you get a reply on this question? Cause I'm experiencing also an error that why I'm asking. :) Cheers!
Failed to resolve packages: The file [B:\UNITY\PROJECTS\TEST\UNITY 2019 PSX TEST\Packages\manifest.json] is not valid JSON:
Unexpected string in JSON at position 1721 while parsing '{
"dependencies": {
"com.unity.col'. No packages loaded.
A re-import of the project may be required to fix the issue or a manual modification of B:/UNITY/PROJECTS/TEST/UNITY 2019 PSX TEST/Packages/manifest.json file.