Answers:
我不知道有任何即插即用的解决方案,但是这里有一个算法可以在像素着色器中工作,而只是将纹理作为额外的资源。
所需的资产是一个很小的纹理,其中有一排带有一定数量的图块,其中最左边的是最暗的,最右边的是最亮的。
然后发生的是(每帧):
(col.r+col.g+col.b) / 3.0
可能就足够了,即使那并不完全是眼睛的工作方式)floor(grayscale * TILE_COUNT)
)渲染的图块vec2( whichTile * TILE_WIDTH + tileX, tileY ) / vec2( TILE_WIDTH * TILE_COUNT, TILE_HEIGHT )
链接的页面上有几张示例图像,我想考虑的一件事是所计算出的灰度值会有一点点噪点,因此它不是MMMMMMMMMMMMMMMM
s的一大块
更新:gamedev聊天室中的@Lokkij为Unity发布了更完整的教程:http://pentahelix.github.io/ASCII-Tutorial-Revisited/