理由:需更新Blender 2.80以后的内容和模板
本Wiki主要使用以标准化视图(Standardized views)渲染的图像展示游戏内容,在本页的右侧即可找到相应的示例。标准化视图是使用近似于等轴的视角的轴测图,这种图像也同样在游戏中用于物品栏内的方块。这些视图是特殊的渲染图,而非简单的截图。在大多数情况下,会将游戏内容导入至三维图形软件或在软件内重制,以便之后以特殊角创建一个镜头。只有PNG格式可以保持透明度。
直接在游戏中创建标准化视图是不可能的。使用命令/teleport @s ~ ~ ~ 135 30
可以通过调整头部的角度实现特殊角,但由FOV引起的透视变形会影响标准化视图,即使将其调为最小值,FOV仍然会造成微小的变形。在options.txt中将fov
的值更改为-1.7
及以下并远离项目,便可以在原版客户端中创建标准化视图。但如果这个项目是一个方块或实体,这样做可能会超出渲染距离。在Indev时期,你可以创建世界的等轴截图,但这个功能已被移除。
本文将说明如何创建在Wiki中使用的标准化视图,而这些说明仅提供了一种创建所需视图的方法,部分人的制作方法可能不同。任何可下载的软件都是免费提供的,使用需要付费的替代方案处理可能会更简单、方便。
视图仅使用近似等轴的角度。等距轴测图准确的视角为45°和arctan √2 ≈ 54.7356°。但用于本Wiki的视图的视角为45°和60°。
对于未使用标准化视图,但理想情况下应该使用的方块和实体图像的列表,请参阅Category:需要进行等轴渲染的图像。
方块视图
下载 Blender Blockbench |
方块视图可以使用三维图形软件创建。软件可以自由选择,而最受欢迎的是免费软件Blender,页面右侧便有下载链接。在处理模型时,为了不进行繁杂的工作,你只需要创建对象可见的一部分,并从中进行渲染。实际的模型看起来很奇怪,但成品不会引起太多的注意。
备注:方块也可以使用Mineshot渲染,在下文有所介绍。
本章节中的模板仅用于在插件中的实际视图,尽管理论上也可以生成方块在物品栏中的形式,但其使用的光照与模板中预设的光照不同。因此,为了显示方块在物品栏中的形式,最好在页面尺寸为“中”时为在物品栏内的各个方块创建截图,并将大小裁剪为标准的32×32px。
提供的模板采用知识共享 署名-非商业性使用-相同方式分享 3.0授权。
配置
由于无法直接在游戏中查看方块视图,因此使图片尽可能详细,与游戏中的方块没有区别特别重要。此外,整个Wiki中的所有渲染图应该统一,不会存在严重的渲染差异。因此,创建方块视图时必须遵循一些特殊的要求。本章节中提供的所有模板均遵循这些要求,不需要任何进一步的配置。
- 渲染时视角为45°和60°,且与西北对齐。
- 图片尺寸为300×300px。无论实际方块的大小如何,都不应对空白部分进行裁剪。
- 方块准确地位于中间。例外情况是方块的动画使其需要处在特殊的位置(例:花盆和打开的栅栏门)。
- 渲染立体方块的横向间距相等,水平的方块为16px(例如:铁轨),垂直的方块则为2px(例如:玻璃板),必须根据渲染方块的形状遵循两个间距规范之一。
- 光源的精确值与游戏同步,通过按比例减少三个面的颜色值实现(平行边使用相同的数值)。顶侧:98%,左侧:80%,右侧:60.8%。
- 禁用抗锯齿,它不适用于游戏中的单个对象。
- 不要进行后期处理;尤其不要对其进行缩放,因为缩放会使图片应用抗锯齿。如果渲染包含错误,则应该重新进行渲染。
使用由Mod生成的截图无法可靠地遵循这些要求,因此需要使用三维图形软件。
完整方块
下载 single300px.blend MEGA 微云 multi300px.blend MEGA 微云 |
大多数方块都在六个面上使用单一的材质。因此,使用相应的模板创建一个方块非常容易。需要的模板可以通过点击页面右侧的single300px.blend
下载。
除了只使用一张贴图的方块之外,同样有不同方向使用多张贴图的方块。用来处理这种情况的模板是multi300px.blend
,可以在页面的右边找到下载入口。
打开之后你需要注意发紫的这个方块,这是因为还没有材质绑定在上面造成的。除此之外其他的内容都已经配置好了,所以你不需要更改任何设置。要选择材质,可以在用户界面的右上部分找到项目所有组件的概览。选择方块的某一面(top
,left
以及right
)(1),然后选中“图标”部分的棋盘图标后向下滚动(2)。然后,点击文件夹图标(3),这将打开一个具体用于选择材质的菜单。
在此菜单中,你需要选中你想渲染的方块的原始文档。当然,你应该已经从资源中提取出来了。首先必须将菜单顶部的导航栏选定至文档的目录位置(1),然后你可以在地址栏下方的文件目录中寻找你想为方块这个面绑定的材质(2)。然后点击“Accept”来确认你的选择(3)。如果你使用的是single300px.blend
模板,材质将会同时应用于方块的三个面。如果使用的是multi300px.blend
模板,则你必须对这个方块的所有侧面重复所有步骤。
由于已经设置好所有的内容,渲染需要的材质也已在刚刚存储完毕,所以现在只需要渲染图像即可。点击左上角顶部菜单的“Render”(1),然后点击“Render Image”(2)。或者你也可以直接按下F12键完成这个步骤。
现在“UV/Image Editor”被打开,可以在此看到完成的渲染图,现在你要做的就是保存。点击左下角的“Image”(1),然后点击“Save As Image”(2)。 或者你也可以直接按下F3键完成这个步骤。
在这个菜单中,必须在上方的地址栏中填写将要输出的地址(1)和文件名(2),然后点击“Save As Image”确认(3),然后方块渲染图就会被保存。输出结果示例可以在屏幕的右边看到。现在这个图片就可以上传到Wiki上了。
不完整方块
游戏中除了普通的呈正方形的规则形状方块外,也还有一些呈不规则形状的方块。但是到目前为止,上面设计出来的模板都还仅适用于呈正方形的规则形状方块。对于不规则的方块,根据形状,需要使用不同的模板。所有的不规则形状方块模板都必须经过专门设计和配置。本节中的表格为不同类型的此类方块提供了各种模板。
模板的用法和上面所介绍的一样。方块应该会使用到好几个材质,如果必要可以为某个面设置多个材质。如果这个方块只使用一个面的材质,则可以选择任意一个面来设置所需要的材质。如果模型面也使用相同的材质且它们被分配到方块的其中一个面,则这个面被更改后它们也会随之更改。
问题排查
“UV/Image Editor”中显示的最终图像,可能会出现明显的材质缺失或轻微错误(例如材质错误翻转)的情况。本节将告诉你这两个错误的解决方法。
在某些情况下如果多个方块同时使用材质,Blender不能一直更新它们,这时候某个面的材质可能会出现异常。这仅仅是一个有时候会发生的负载故障。通过选中右上角的元素中相应的方块面,可以轻松修复这个问题(1),然后棋盘图标的特定设置选项将会自己移动到“Image”部分(2)。这时候点击重载按钮即可恢复正常。(3)
通过相应的菜单或按下F12键重新渲染,相应的面应该也能够恢复正常应显示的材质。如果这导致了其他面受到了影响,则还必须对那个面做上文所示的操作。
当使用multi300px.blend
模板时,应始终检查最终图像的准确性。自从游戏中有了许多不同材质的方块,且这些方块都会使用其自己的方块模型,因此,这些方块的材质旋转和显示的样子有时与正常方块不同。由于使用Blender渲染的模板仅为方块标准模型设计而不能涵盖这些情况,所以这些方块的渲染偏差必须手动修改。
这里有个例子,最终渲染得到的图像显示的该方块的顶部材质有误:顶部材质被镜像翻转,箭头的较亮边缘应是在右侧而不是左侧。由于这个问题可能会导致无法区分游戏中渲染的方块与渲染图的差别,因此即使这是个小错误也必须要修正。为此,首先选中这个块的顶面(1),然后在材质设置中进行镜像(2)。找到“Mapping”部分,这是一个修改“size”的XYZ轴的方便途径。在这个例子中,需要镜像X轴,所以更改了X轴的值。(3)
通过相应的菜单或按下F12键重新渲染,相应的面应该就能够恢复正常应显示的样子。然后现在就可以照常保存了。
使用Blockbench
另外一个你可以用于渲染的软件是Blockbench (Blockbench.net)。这个软件的优点是可以直接调用client.jar中方块的实际模型,也可以渲染你自定义的方块模型。Blockbench的网页版和软件版功能一致。
你还可以将模型导出为obj文件后在Blender中使用。
- BlockBench操作方法
你首先须通过以下方式导入模型:文件->导入->添加模型,然后选择你想导入的模型文件。之后,右键单击预览窗口,然后选择:透视->北。然后按下Ctrl + ⇧ Shift + I并选中控制台(console)选项卡,在控制台内输入main_preview.camOrtho.position.set(1, 6**.5/3, 1)
,如果视角进入到了方块内部,那就给每个坐标乘上最适合的视角距离,比如这样:(1*20, 6**.5/3*20, 1*20)
。如果要缩放,可以在控制台内输入main_preview.camOrtho.scale.set(X轴比例, Y轴比例, Z轴比例)
。最后,在视图菜单内找到截图,将截图下来的内容保存即可。
Blockbench问题排查
由于默认的方块不在client.jar中,你必须用+号图标(位于“大纲”下方)手动添加一个立方体(这将创建一个新的正方体),然后设定这个方块的大小为16x16x16,并通过选择文件添加材质,单击方块的面,将适当的材质拖动到这个面上来分配材质。每次要添加材质时都得这样做。
对于楼梯和台阶,它仅给出带有红色感叹号的空白材质。仅需右键这个空白材质后选择更改文件后更改需要的即可。
如果需要旋转一个面,回到编辑模式,点击这个面,然后查看左上角的UV,找到UV旋转后将其拖动调整到你想要的效果即可。
实体视图
下载 |
虽然标准的实体视图也可以使用三维图形软件创建,但并不推荐使用。仿制一个正确的模型非常困难,且每个实体都有不同的大小和模型。然而部分实体的模型与方块类似(如潜影贝),这时可以使用Blender渲染。此外,工作量和光照是个大问题。实现Minecraft的光照非常困难,且在三维图形软件中表现精确的行为极其困难。此外在大多数情况下,在软件里不可能进行完全仿制。
在这种情况下,我们最好使用Mod而非三维图形软件。Mineshot是由原Wiki编辑者BarracudaATA制作的一个Mod,可用于渲染实体。
实体 | 备注 | 下载 |
---|---|---|
兔子 |
|
Rabbit.blend |
|
Baby_Rabbit.blend | |
铁傀儡 | Iron_Golem.blend |
无动画的实体
Mineshot安装完成后便可以开始了。首先需要创建一个合适的环境。由于最终成品应该使用透明背景,因此最好使用单色背景。你可以使用混凝土方块或其他使用特殊材质的方块创建的绿幕或蓝幕,但因为Minecraft的光照也可以为具有相同材质的不同方块着色,因此应该选择更单一的背景:天空。在此建议使用预设为“虚空”的超平坦世界。天空的两个部分使用不同的蓝色色调着色,但这可以使用名为OptiFine的Mod进行调整。此外,屏障方块最适合用于支撑实体,因为它们不可见。
环境已经设置完毕,只需生成实体并进行截图就可以了。生成一个含有数据标签NoAI:1
的实体,这样的实体无法移动及旋转。
首先需要将视角切换为由Mineshot提供的特殊视角,按下默认键NUMPAD5[注 1]便可以切换。按下ADD和SUBTRACT[注 2]可以分别放大和缩小视角。 不要改变视角的默认角度,默认值(45°和60°)满足标准化视图的要求。
视角以玩家的位置为中心,且仅在非第一人称视角时才渲染玩家。若适当调整视野,便可以创建一个普通的截图。对象不需要精确地位于中间,因为无论如何图片都会进行后期处理。
在记录实体的不同变种时,请确保在截图时不要更改视角模式,也不要放大或缩小,之前的设置无法还原。即使是细微的改变,也会使最终的结果和之前的截图无法匹配,从而使这些截图无效。实体可以使用命令更改,如/data merge entity
,在操作中不需要任何在视角上的改动。
现在已经完成了对实体的截取,之后需要将截取后得到的文件在图像处理软件中进行修改。使用的软件并不重要,而本章节右上角提供了免费软件GIMP的下载地址。首先需要移除背景,使用颜色选取工具(魔术棒)便可以。在执行此操作时,需要注意将所有可以看到的天空移除。部分实体(如骷髅)在模型上有许多缺口,在这些缺口中可以看到天空。
在移除背景后,需要进行裁剪。图片的宽度应该是最小的,即图片的边界与对象的最后一个像素相邻。图片的高度需要留有足够的范围,且不应该彻底地裁剪,否则对象会“粘”在顶部边缘。若在视图中没有其他需要更改的地方,便可以导出图片,之后上传到Wiki上。
在进行后期处理时,务必不要进行缩放。若这样做,不但会损失图片的质量,还会使图片大小增加而非减少。更小的渲染图应该在Mineshot里直接创建。对于Wiki本身,图片大小可以通过参数很容易地进行更改。
有动画的实体
创建一个有永久动画的实体是一个挑战。举几个例子:蠹虫的身体会一直摇晃;守卫者的刺一直在做伸缩运动,它们的尾巴也会一直一摇一摆的。要创建这些实体的动画的办法就是在等到一个最合适的时机开始录制。当然,想想就知道这几乎不可能,因为生物不可能乖乖等你去干这事情。
所以,我们也许该建议你使用3D图像软件来做这些事情,但就如同之前所述的,这可能会很困难。或许另外可能可行的最佳办法就是使实体动画暂停下来,然而即使使用命令或NBT标签NoAI
也无法做到这个。所以你必须要靠自己做模型了,很可惜,实体模型不受资源包的控制,这使该项目更加困难。像OptiFine和ENIM这类的Mod的确有这个功能,但如果仅仅就只创建一个没有动画的完整模型的工作量还是太大了。
综上所述,也许你需要直接修改源码来改动模型。当然,你需要一些Minecraft的编写语言Java的编程经验。很遗憾,使用Mod Coder Pack仍然没用,因为没办法直接加载需要由Minecraft Forge驱动的Mineshot。Mineshot必须要在Forge的编程环境下才能运作。虽然不能直接编辑源码和模型,但是Forge的确提供了足够的可能性来覆盖掉现有的模型。通过使用registerEntityRenderingHandler
的renderingRegistry
应该能达到最佳效果。
实际的录制仍在游戏中,上文已经描述了这些步骤。
结构
下载 |
截取结构的等轴渲染图与实体稍有不同,仅需考虑一些事情。这里再次不建议使用3D图形软件,因为在这种情况下该方法依然很复杂。同样,BarracudaATA的Mineshot Mod依然是最好的解决方案,但实际上截取渲染图可以在原版中设置options.txt的fov
值到-1.75然后远离目标做到。
在结构这一场景下,最主要做的事情就是让结构中的方块处于合适的维度中。换句话说就是截取渲染图只能在主世界进行,因为地狱和末地缺少阳光和照明。如果要截取下界要塞的渲染图,则就必须将其转移至主世界后再进行截取。想要手动创建结构是一件非常困难的事情,所以最好使用结构方块或者外部编辑器(例如MCEdit)进行这项工作,外部编辑器可以在此段落右边下载到。
如果结构已经在主世界中了,一般仍需要一些修改。因为必须给截取渲染图一个合适的环境,例如将废弃矿井和要塞移动至天上使其能够被阳光照亮。命令/clone
在这里非常有用,所以这部分可以不用借助外部软件来完成。地上的建筑也应该被移至天空。如上所述,天空的颜色较浅,以后可以没有任何问题地处理透过的光线的问题。如果将结构移动到足够高的位置会看不见地面,从而简化后处理。
你还必须注意结构的方向。如上文所述,Wiki上的渲染图一般朝向西北,结构的方块应相应对齐。如果不是这样,小一点的结构可以用结构方块旋转,而大一点的用MCEdit这样的外部编辑器旋转更容易。
如果结构已经处于合适的位置了,那么现在就开始准备截取工作吧。准备对于封闭的结构非常重要。例如:将结构的天花板和正对准备截取渲染图的方向的两堵墙移除。但没有必要将结构中所有关于这些东西的部件全部移除,比如一个墙上的入口,建议保留它和它临靠的墙体。一个现成的例子可以在右边看到。
结构此时已经准备就绪,剩余要做的就是调整玩家的位置。要注意的是Mineshot的视角位于玩家中央,不过看不到而已罢了。如果玩家在视图中可见,则你就需要把视角调回第一人称。调整位置并不是最重要的,重要的是使视图能够正确显示结构的主体,但位置必须要在距离结构64格方块内,不然的话部分方块(如箱子和头颅)将变得不可见。还有,颗粒仅在玩家处于其32格半径内才会出现。
要截取渲染图的话,将Mineshot里的特殊视角模式打开。一般这可以按下默认的按键NUMPAD5完成,并可以通过ADD和SUBTRACT键放大和缩小图片,这两个都可以在小键盘上找到。请勿更改视角的角度。默认值(45°和60°)完全对应于标准化视图所需的值。
现在已经完成了对实体的截取,之后需要将截取后得到的文件在图像处理软件中进行修改。使用的软件并不重要,而本章节右上角提供了免费软件GIMP的下载地址。首先需要移除背景,使用颜色选取工具(魔术棒)便可以。在执行此操作时,需要注意将所有可以看到的天空移除。带有铁栏杆的结构上有很多空隙,空隙会使天空从其透过影响效果。
在移除背景后,需要进行裁剪。图片的宽度应该是最小的,即图片的边界与对象的最后一个像素相邻。图片的高度需要留有足够的范围,且不应该彻底地裁剪,否则对象会“粘”在顶部边缘。若在视图中没有其他需要更改的地方,便可以导出图片,之后上传到Wiki上。
在进行后期处理时,务必不要进行缩放。若这样做,不但会损失图片的质量,还会使图片大小增加。更小的渲染图应该在Mineshot里直接创建。对于Wiki本身,图片大小可以通过参数很容易地进行更改。
优化
下载
|
由于图像应该会包含有许多透明区域和较淡的色调部分,所以建议压缩文件,这可以节省一点空间。且它将从Wiki服务器加载给用户,较小的文件将有助于用户更快查看图片。
缩放文件并不是一个试图节省空间的好办法,而且它可能会产生相反的效果。因为几乎所有的缩放模式都会将插值与边缘平滑一起使用。这会扩展色域范围,文件大小也会随之增加。此外,Minecraft的材质的细节质量本来就很差,这样做通常会导致细节进一步丢失。
所以,建议使用无损压缩。PNGOUT程序可与Windows、macOS和Linux兼容。压缩后的文件大小仅为原始文件大小的80%~20%(取决于图片),且在图像上看不到可见的变化。它可以在右边的下载栏找到,请选取你正在使用的操作系统下载。
Windows中PNGOUT有一个GUI。在其中选中需要压缩的PNG文件后程序就会对其进行压缩。在macOS和Linux中,只能用终端使用PNGOUT。建议在窗口下运行脚本来自动处理多个图像。Windows中也可以使用命令提示符来使用自动脚本运行PNGOUT来处理图像。