Unity中的像素Lo-fi

图片

我的开发游戏LAUNDRY GAME (是的,这是无耻的广告)的视觉风格基于3D 大型清晰像素 。 我喜欢低分辨率的3D。 我被问到许多有关如何执行此操作的问题,因此我决定编写一个教程。

注意:这只是我的决定! 有一些使用着色器,绘制图形和其他技巧的方法,但是对于我的个人项目来说,这样的解决方案就足够了。

另外1: 聪明的皮特·布里斯伯恩(Pete Brisburn) 在这里发送了一个 脚本,以防您不喜欢“天空四方”的把戏(第4步至第6步)!

阶段1:准备原始场景



首先,您需要准备现场! 我和鸟友Oscar J. Ruffles一起创造了这个小方块。 他绕着立方体跑来跑去,不断尖叫。 (这些只是字符控制器和动画师连接在一起。)

但是,请看这些令人讨厌的平滑线! 傅,让我们摆脱它们。

阶段2:移除MSAA相机



高亮显示主摄像机,然后取消选中允许MSAA”框。 如您所见,像素要清晰得多。 但是还没有升级! 也就是说,所有像素都将很小。 它需要修复。

阶段3:以渲染纹理渲染相机



我使用RenderTexture放大(以获取巨大的清晰像素),并将主摄像机渲染为该纹理。 这将使我们能够像使用任何常规纹理一样使用此RenderTexture!


这是我将用于RenderTexture的选项。 大小是我们放大的大小。 数字越小,像素越大。 对于这两个值,我通常使用300到600之间的数字 (例如,出色的Celeste可以从320x200缩放)。

过滤器模式是执行放大/缩小的一种方法。 “点”模式不添加抗锯齿功能,也就是说,它保留了我们非常需要的像素清晰度。

但是发生了什么事?


现在,我们不在屏幕上渲染Camera,而是在RenderTexture中渲染,所以屏幕上什么也没有渲染!

要解决此问题,我们需要设置另一台摄像机 ,但是这次有所不同。

阶段4:创建变焦相机+ Quad



让我们首先在场景中创建一个新相机(我们称其为QuadCamera ),然后将其作为孩子附加一个3D方形

阶段5:将其放置在空白处



然后,我们需要把QuadCamera推到某个地方。 无论在哪里,最主要的是永远都不能从主摄像机看到它。 我通常将其抬高到天空中或将其向下放低。

步骤6:将渲染纹理附加到四边形并将其放置在相机前面



然后我们取四边形。 我为其设置了Sprites-Default默认的Unity材质,不受光照影响),以使其不受场景中任何随机光照的影响。 然后将RenderTexture拖到四边形上。 现在Quad显示了我们的场景! 然后,我们移动四边形,使其位于QuadCamera (现在可以渲染目标屏幕的摄像头)的前面。


如您所见,渲染比例现已增加! 奥斯卡可以不断点击其像素喙! 但与此同时,我们离他的头越来越近。

阶段7:调整摄影机



在最后一个阶段,让我们回到我的主摄像机并进行设置,以便我们之前看到的差不多。 在这里,您可以增加渲染纹理的大小,以使像素变小或缩小,从而仅7个像素适合屏幕。 现在是进行实验的时候,找到适合您个人的东西。

奖励:确保纹理不模糊



如我们所见,模型的纹理(奥斯卡的大眼睛)一直都在模糊。 发生这种情况的原因是,当将纹理导入Unity时,会选择标准参数来生成mip纹理和平滑缩放。 但是我们不需要这个。 因此,在导入纹理时,必须禁用“ 生成Mip贴图”,并为“ 过滤器模式”选择“ 模式”

Source: https://habr.com/ru/post/zh-CN465479/


All Articles