欢迎光临散文网 会员登陆 & 注册

关于末地传送门方块渲染的研究

2023-07-08 19:28 作者:橙渐猫_爱吃贰  | 我要投稿

本文是较随意写的,最好看视频。有一说一,用ppt+视频最好。哪一天我语言好了,我回来改动。
    末地传送门方块没有常规实体纹理的图片,但能发光。
    (这里用1.9版本做例子!!
    以白正方形形状、不改变原图像素大小的图片作为纹理,通过观察,可以明显发现该方块的渲染是想让玩家觉得——它是立体的!它的深的!它就像生活中的三维立体变幻卡,从不同方向上去看,大脑会认为卡片内是三维立体空间(大致就这意思),而末地传送门方块的渲染就是这样。而且,渲染可将纹理淡化并改变原色。(可能用的是glBlendFunc的自己的颜色减去自己颜色的alpha值)(说的模糊)
    当然,它是有底的,可能没有无数层,对于颜色也会改变。
    首先说底。底部是由一个个纹理的图片组成的,在背景之上,不会移动,走向为160,即北偏西20(看F3界面的facing),并且它像放在地方的方块一样,近大远小。若玩家相机在竖直方向上向上移动,那么底部会“放大”,使得它看起来没大变化,若向下则“缩小”,但是,向上飞时,底部确切看起来变小了;若玩家相机在水平方向上移动,那么底部不变大小,玩家与底部相对运动,底部不动。而背景,用的是末地天空纹理,朝向为正北,并且变暗了,用的渲染方式和底部的纹理的一样,但是玩家向上飞时,背景几乎看起来没变化,且还能比底部都大。这是notch的阴谋!
    接着说层。一把氢气一把火,我找到了7层,我猜通过分析代码可以很好确定到底有几层。应该是由于立体渲染,所以上面纹理大,下面小;应该是由于渲染,所以从上往下纹理由半透明到更半透明(都知道半透明颜色可以叠加吧),白色改变后的颜色有蓝色、青色、紫色、冬青绿……。这些层中的一张纹理很大,但不能与底部的一张纹理相比较,应与1m³的石头比较大小——由于纹理中1像素正常对应游戏中1像素,所以最顶层的一张纹理在游戏中的大小相当于16*16方块大小。
    这些层中的纹理都会移动,速度相差不大(可能是相同的),运动都有固定的方向,即使摁ESC,也不会停下。对于最顶层的纹理,它非常的正,不歪门邪道,不过方向是向正南移动。对于其他层,从上往下,似乎是————一层中纹理旋转一个角度,运动方向也随之旋转,纹理继续沿方向运动,而这层的下层在这层的基础上再旋转一个角度,同理。总之,这些层中的纹理都会移动,至于层数是否是无限个,我不知道,看代码试试?
    说说颜色与渲染的关系。对于透明部分,渲染不搭理,游戏中依然是透明的。对于不透明部分、半透明部分,渲染会将它们浅化并染色,由于颜色叠加,所以会出现一些现象,比如较透明的白色纹理在游戏中显示的和纯白色纹理在游戏中显示的一样(我不好说不说了,notch太坏了),至于为什么会染色是一个问题!
    如果把图像像素改变,渲染会怎么样?
    改了末地传送门方块的纹理的像素后,渲染确实变化了,但不像云那么明显。大概,游戏把纹理整到256*256大小里了,且单张显示的不是256*256像素,而是纹理,懂?。显示的还是拼接而成的图像,但是每一次变化后,纹理移动幅度也大,不知什么原理了。可见,末地传送门方块能显示的单张纹理只有256*256大小。底部和背景也一样,但各自显示大小不同。
    如果删了呢?
    删掉纹理文件,游戏中会把末地传送门的纹理当文件丢失,使用丢失材质(missingtexture)纹理。在现在,丢失材质纹理是黑紫方块的图像,在最初,则是白色背景带有missingtexture黑字的图像。
    末地传送门方块的渲染是否有距离现象?
    确实有。太离谱了,我不知道怎么描述。背景甚至还能变大变小,还有极小的。

距离现象
距离现象
正常
背景变小了


关于末地传送门方块渲染的研究的评论 (共 条)

分享到微博请遵守国家法律