Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411656 Posts in 69395 Topics- by 58451 Members - Latest Member: Monkey Nuts

May 15, 2024, 04:08:00 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityTownhallForum IssuesArchived subforums (read only)TutorialsRetro-ifying Unity
Pages: [1]
Print
Author Topic: Retro-ifying Unity  (Read 4626 times)
nihilocrat
Level 10
*****


Full of stars.


View Profile WWW
« on: January 15, 2012, 08:01:34 PM »

I have seen a number of Unity games, and make some of my own, which intentionally downsample the visual quality of Unity games to give a retro look reminiscent of the mid-90s or earlier. There are a handful of techniques which might not be immediately obvious which are necessary to achieve the look. I'll list them one-by-one below, and if anyone else knows some techniques, please add them.

Making textures look blocky instead of fuzzy
For every texture, go into its setting and set the "Filter Mode" to "Point". You might also want to set the Texture Type to "Advanced" and disable all mip maps; this is especially important to reproduce the "sparkle" effect when looking at textures from very far away in retro games.

Flat-shading on 3D models
I'm only really familiar with doing this in Wings3D. Select all edges, right-click and go to the "Hardness" option, and select "hard". I believe other modelling programs might use the term "Smoothing Groups" instead of "Hard Edges".

You can do this in Unity itself, too. In the FBXImporter component of an imported mesh prefab, you set Normals to "Calculate" and "Smoothing Angle" to 0.  -overhead

3D models with several solid-colored sections
Technically you can just split the mesh into several submeshes, and color each of those with a separate material. However, this is pretty inefficient for rendering, since each material needs its own draw call, and suddenly a single model takes a lot of draw calls. You could also just color the vertices in your modelling app; this is completely valid, but difficult to adjust if, say, you want to easily change the colors of a model in-game.

The method I use is to create a texture made up of several blocks of solid color. I UV unwrap the model, but I just shrink the coordinates into a little blob and shove them into the color I want that part of the model to be. In-game, I can just change the material (or the texture on the material) to change the color of the model.

Getting a resolution below 640x480, or faking a low resolution while using a higher real resolution
The only method I know requires Pro, which I don't have, I have merely been told how other games have done it. Render the contents of a camera to a low-resolution, point-filtered texture and stretch a GUI Texture using this texture to fill up the entire screen.
« Last Edit: January 21, 2012, 08:02:18 PM by nihilocrat » Logged

Chris Pavia
Guest
« Reply #1 on: January 16, 2012, 09:25:28 AM »


Getting a resolution below 640x480, or faking a low resolution while using a higher real resolution
The only method I know requires Pro, which I don't have, I have merely been told how other games have done it. Render the contents of a camera to a low-resolution, point-filtered texture and stretch a GUI Texture using this texture to fill up the entire screen.

I had been wondering about this the other day, thanks for the info! Man I need Unity pro...
Logged
ratrogue
Level 0
***

Bits & Bytes ... Attack!


View Profile WWW
« Reply #2 on: January 16, 2012, 01:11:44 PM »

Flat-shading on 3D models
I'm only really familiar with doing this in Wings3D. Select all edges, right-click and go to the "Hardness" option, and select "hard". I believe other modelling programs might use the term "Smoothing Groups" instead of "Hard Edges".

You can do this in Unity itself, too. In the FBXImporter component of an imported mesh prefab, you set Normals to "Calculate" and "Smoothing Angle" to 0.

Regards,
overhead
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic