--- front: hard: 入门 time: 分钟 --- # MC内置材质清单 ## 前言 本文列出了MC游戏中常用的内置材质,若开发者需要修改使用某些材质,则可参考此文。 ## 天空 ### sky.material 材质文件 #### sun_moon 太阳和月亮 #### stars 星星 #### cubemap 用于渲染天空的六个面组成的天空盒 #### skyplane 用于渲染上方天空的颜色。游戏里面最上方会放置一个超大圆型网格,平行于地面 #### end_sky 用于渲染末地上方天空的颜色与贴图。游戏里面最上方会放置一个超大圆型网格,平行于地面 ### fancy.material 、 sad.material 材质文件 #### clouds 云 ## 地形方块(放置在地上的方块) ### terrain.material 材质文件 #### terrain_opaque 不透明地形方块 ##### terrain_far 不透明地形方块在远处的时候会使用该材质进行渲染 #### terrain_blend 半透明地形方块材质,例如水,玻璃等 ##### terrain_blend_far 半透明方块在远处的时候会使用该材质进行渲染 #### terrain_alpha 一些局部有全透明区域,而且正反面都需要渲染的方块材质,引擎中用到的有铁砧,竹子,铁轨,药水,仙人掌,珊瑚,农作物等等。 ##### terrain_alpha_single_side 一些局部有全透明区域,但开启了背面裁剪只渲染一个面的材质,引擎中用到的有信标,胡萝卜,红石比较器,堆肥箱,门,蘑菇等等。 #### terrain_doubleside 目前用于渲染床 #### terrain_opaque_seasons 目前用于渲染上面覆盖有雪的不透明树叶 ##### terrain_seasons_far 目前用于渲染远处上面覆盖有雪的不透明树叶 #### terrain_alpha_seasons 目前用于渲染上面覆盖有雪的半透明树叶 ##### terrain_seasons_far_alpha 目前用于渲染渲染上面覆盖有雪的半透明树叶 ### barrier.material 材质文件 #### barrier 屏障方块 ### portal.material 材质文件 #### portal_base 末地传送门 ## 非地形方块与实体(手持或者独立在场景中的) ### entity.material 材质文件 #### entity_static 静态实体 #### entity_flat_color_line 用于渲染钓鱼竿的线 #### entity_loyalty_rope 用于渲染拴绳 #### opaque_block 、 opaque_block_color 、 opaque_block_color_uv2 不透明方块渲染 #### alpha_block 、 alpha_block_color 带透明区域的方块 #### map 地图渲染 #### entity_alphablend 、 entity_alphablend_nocolor 带透明度混合的实体对象 #### item_in_hand 、 item_in_hand_multicolor_tint 、 item_in_hand_entity_alphatest_color 、 item_in_hand_glint 用于各种手持物品的渲染 #### moving_block 、 moving_block_seasons 、 moving_block_alpha_seasons 、 moving_block_alpha_single_side 、 moving_block_alpha 、 moving_block_double_side 、 moving_block_blend 用于渲染会动态变化的方块 ### 网易扩展 entity.material 材质文件内容 文件位于data、resource_packs、vanilla_netease、materials目录下,主要是添加了骨骼模型渲染用的材质 #### 带有vip字眼的资源 通常为会员材质中使用到的资源,一般效果较好,Shader实现较复杂,可供学习参考 #### entity_for_skeleton 、 entity_for_skeleton_cpu 用于渲染普通的不透明骨骼模型 #### entity_for_skeleton_hide_cpu 、 entity_for_skeleton_hide 用于表现实体隐藏状态,效果是渲染纯色的半透明模型 #### entity_for_skeleton_alpha_cpu 、 entity_for_skeleton_alpha 用于渲染带透明度的骨骼模型 #### entity_for_skeleton_bright 、 entity_for_skeleton_bloom 、 entity_for_skeleton_glint 、 entity_for_skeleton_bloom_glint 某些骨骼模型会使用到各种特殊效果,例如高光,辉光,扫光效果。 #### entity_for_skeleton_frame_ani 用于实现骨骼模型序列帧动画 #### entity_for_skeleton_particle 、 entity_for_skeleton_alpha_particle 、 entity_for_skeleton_bloom_particle 、 entity_for_skeleton_bloom_glint_particle 、 entity_for_skeleton_bright_particle 、 entity_for_skeleton_frame_ani_particle 、 entity_for_skeleton_glint_particle 、 entity_for_skeleton_hide_particle 在上诉5种类型的材质下增加了用于粒子系统的Shader宏定义,可以让粒子系统发射出带有该材质的骨骼模型。 ## 粒子 ### particles.material 材质文件 #### particles_opaque 引擎原生的不透明粒子 #### particles_alpha 引擎原生的开启了透明度裁剪的粒子 #### particles_blend 引擎原生的带透明度的粒子 #### particles_effects 引擎原生带有特效UV变动效果的开启了透明度裁剪的粒子 #### common_particle、common_particle_add、common_particle_add_texture、common_particle_blend、common_particle_blend_texture 网易粒子系统,自定义粒子特效基本都是使用这些,功能与上述原生粒子相对应。 ## 阴影 ### shadows.material 材质文件 阴影的渲染使用了Stencil蒙版技术 #### shadow_front 、 shadow_back 在蒙板标记阴影的位置,未进行实际渲染 ### shadow_overlay 对蒙板中被标记的位置进行真正的渲染 ## UI ### ui3D.material 材质文件 包含场景中对象相关的一些特殊UI,或者天气相关UI的材质 #### selection_XXX 带有selection字眼的基本上都是选中方块或者实体后这个选中效果的渲染 #### selection_box 开启轮廓选择后指向某个对象会显示线框 #### name_tag、name_tag_depth_tested 实体头顶名字背景 #### sign_text、name_text_depth_tested 实体头顶名字文字 #### rain 雨 #### snow 雪 #### lightning 闪电 ### ui.material 材质文件 UI界面上使用的UI材质 由于很多UI会使用相同的材质,每个材质可能会在多处进行使用,这里不一一列举每一处地方,这里只举例几个常见UI界面对象使用到的材质 #### 物品快捷栏 ui_textured_and_glcolor #### 摇杆,上方的菜单按钮,右上方的移动,潜行,飞行等按钮,右下角的跳跃按钮 ui_texture_and_color #### 背包或物品快捷栏中的物品图标 ui_item #### 屏幕中心的十字光标 ui_crosshair #### 加载场景的背景图 ui_cubemap #### UI上的文字 ui_text