实体纹理动画
本页面镜像自 BedrockWiki
根据原始项目协议授权。本文经过AI翻译处理,如有内容遗漏,可以提交PR进行补充。
本页内容
通过本教程你将学会如何为实体制作动态纹理。这种动画效果类似于方块的翻书动画纹理(Flipbook)。
来源说明
本教程内容基于 AgentMindStorm 的原创作品。
纹理制作
首先我们需要为实体绘制若干关键帧纹理。本教程将以四处张望的牛作为示例。

与方块的翻书动画类似,我们需要将纹理帧进行纵向排列。本示例共使用4帧动画。
材质配置
在本指南中我们需要修改材质文件。但由于Render Dragon渲染引擎的更新,传统材质系统已过时,请自行评估使用风险。
要实现动态纹理,需要将实体材质更改为具有USE_UV_ANIM
属性的类型。我们可以通过添加新材质实现:
json
{
"materials":{
"version":"1.0.0",
"custom_animated:entity":{
"+defines":[
"USE_UV_ANIM"
]
}
}
}
或者可以将该属性添加到现有材质中(参考默认材质文件):
json
"+defines":[
"USE_UV_ANIM"
]
下载默认entity.material文件
WARNING
注意:并非所有实体都适用简单修改! 部分实体包含多种材质类型,若需要实现全身纹理动画,必须为实体使用的所有材质添加此属性。
客户端实体配置
在继续之前,我们需要在客户端实体文件中指定新材质:
json
"materials": {
"default": "custom_animated"
}
渲染控制器设置
完成上述步骤后,需要编辑渲染控制器:
在此我们将添加带有偏移量和缩放属性的uv_anim
组件:
json
"uv_anim": {
"offset": [ 0.0, "math.mod(math.floor(q.life_time * frames_per_second),frame_count) / frame_count" ],
"scale": [ 1.0, "1 / frame_count" ]
}
其中:
frames_per_second
表示每秒播放的帧数frame_count
表示总帧数
该公式会根据实体的存活时间自动计算纹理偏移量和缩放比例。
效果测试
现在可以测试你的动画效果了!
示例下载
下载示例包