- Home /
Render UI with RenderTexture to final render result
Hello guys,
I am trying to give my game a more 90s look using a RenderTexture with size 320x180 (16:9). Using this script on the camera and dropping the RenderTexture to the Target Texture of the Camera and the script it will turn the resolution (not the original resolution) to the RenderTexture size.
The games' original resolution is 800x450 (thats what is in the game tab)
However I have been troubleshooting for several hours trying to get the canvas work and look properly to the final render using the RenderTexture:
CanvasMode: ScreenSpace - Overlay:
This will make the canvas invisible, all elements are interactable though.
CanvasMode: ScreenSpace - Camera:
For this I created a new camera which will render only the canvas. I have changed the culling Mask to UI and unchecked the UI Layer on the mainCamera. Still the same result.
Then I dropped the RenderTexture also on the UICamera target texture. Now the game preview screen shows Scene is missing a fullscreen camera, but when I press play it shows all up, including the canvas! And the UI elements look also pixelated. But now everything on it is too large, filling the whole screen. Also, when I try to hover over an element, it does not work because the canvas and the cursorOrientation are not equally scaled.
After that, I looked up the canvas scaler component and changed it to constant pixel size, setting the scale factor to 0.4 has solved the large UI elements, being now in the original size. Then I press play and everything looks pixelated as it should, BUT now I cannot interact with the canvas elements, because their hover-interaction-fields are not scaled.
Please if anyone knows a tutorial on how to render the complete scene pixelated, let me know!
Thanks for your time.
Your answer
Follow this Question
Related Questions
Pixel Perfection unity UI 0 Answers
Buttons stopped working after I temporarily changed the font. 1 Answer
Problems with render priority in UI Canvas 2 Answers
Unable to reset dropdown value to -1 1 Answer