自定义死亡动画
本页面镜像自 BedrockWiki
根据原始项目协议授权。本文经过AI翻译处理,如有内容遗漏,可以提交PR进行补充。
死亡动画指实体死亡时的旋转效果,伴随红色着色效果,随后实体几何体会消失并出现死亡粒子。
取消死亡动画
本节将解释如何完全移除死亡动画效果。
传送实体
通过传送实体至虚空来消除死亡效果的常用方法,可在动画控制器中使用!q.is_alive
条件触发: /teleport @s ~ ~-1000 ~
注意:此方法会移除所有死亡效果,包括音效、粒子、战利品和实体视觉死亡效果。
minecraft:instant_despawn
若需直接让实体消失,可添加包含"minecraft:instant_despawn":{}
的组件组,并通过事件激活。
注意:此方法会移除所有死亡效果,包括音效、粒子、战利品和实体视觉死亡效果。
实体形态转换
类似传送方法,通过!q.is_alive
条件触发转换事件,添加包含"minecraft:transformation"
的组件组实现形态转换:
json
"minecraft:transformation": {
"into": "wiki:death_animation_entity",
"transformation_sound" : "converted_to_zombified",
"keep_level": true,
"drop_inventory": true,
"preserve_equipment": false,
"drop_equipment": true,
"delay": {
"block_assist_chance": 0.0,
"block_radius": 0,
"block_max": 0,
"value": 10
}
}
取消旋转动画
通过重置实体旋转值实现常规死亡效果(粒子、红色着色、战利品)同时避免90度旋转。需将旋转动画应用于所有骨骼的父级骨骼,并在!q.is_alive
时触发。
json
"rotation" : [ 0, 0, "Math.min(Math.sqrt(Math.max(0, q.anim_time * 20 - 0.5) / 20 * 1.6), 1) * -90" ]
json
{
"format_version": "1.10.0",
"animation_controllers": {
"controller.animation.player.cancel_death_animaton": {
"initial_state": "default",
"states": {
"default": {
"transitions": [
{
"cancel_animation": "!q.is_alive"
}
]
},
"cancel_animation": {
"animations": ["my.animation"],
"transitions": [
{
"default": "q.is_alive && q.all_animations_finished"
}
]
}
}
}
}
}
注意:需在资源包实体文件中附加动画控制器。
自定义死亡动画
修改伤害着色层
通过渲染控制器自定义/移除实体受伤着色:
json
{
"format_version": "1.8.0",
"render_controllers": {
"controller.render.sample": {
"geometry": "Geometry.default",
"materials": [{ "*": "Material.default" }],
"textures": ["Texture.default"],
"is_hurt_color": {},
"on_fire_color": {}
}
}
}
粉色伤害着色示例:
json
{
"format_version": "1.8.0",
"render_controllers": {
"controller.render.kbg": {
"geometry": "Geometry.default",
"materials": [{ "*": "Material.default" }],
"textures": ["Texture.default"],
"is_hurt_color": {
"r": "1.0",
"g": "0.4",
"b": "0.7",
"a": "0.5"
},
"on_fire_color": {
"r": "1.0",
"g": "0.4",
"b": "0.7",
"a": "0.5"
}
}
}
}
伤害检测与即时消失
通过damage_sensor组件触发死亡事件,实现物品掉落与快速消失:
json
{
"format_version":"1.14.0",
"min_engine_version":"1.16.100",
"minecraft:entity":{
"description":{
"identifier":"wiki:entity",
"is_spawnable":true,
"is_summonable":true,
"is_experimental":true
},
"component_groups":{
"wiki:death":{
"minecraft:spawn_entity":{
"max_wait_time":0,
"min_wait_time":0,
"spawn_item":"egg",
"single_use":true
},
"minecraft:is_sheared":{},
"minecraft:timer":{
"looping":true,
"time":[
2.56,
2.56
], // 根据动画时长调整此处
"time_down_event":{
"event":"wiki:despawn"
}
}
},
"wiki:despawn":{
"minecraft:instant_despawn":{}
}
},
"components":{
"minecraft:damage_sensor":{
"triggers":{
"on_damage":{
"filters":{
"all_of":[
{
"test":"has_damage",
"value":"fatal"
}
]
},
"target":"self",
"event":"wiki:death",
"deals_damage":false,
"cause":"fatal"
}
}
}
},
"events":{
"wiki:death":{
"add":{
"component_groups":[
"wiki:death"
]
},
"wiki:despawn":{
"add":{
"component_groups":[
"wiki:despawn"
]
}
}
}
}
}
}
自定义刷怪蛋掉落示例:
json
{
"minecraft:spawn_entity": [
{
"min_wait_time": 0,
"max_wait_time": 0,
"spawn_item": "wiki:custom_zombie_spawn_egg",
"single_use": true
}
]
}
战利品表掉落系统:
json
{
"minecraft:behavior.drop_item_for":{
"loot_table":"loot_tables/entities/example.loot_table.json"
},
"minecraft:timer": {
"time": 2,
"time_down_event": {
"event": "wiki:my_despawn_event"
}
}
}
使用命令检测死亡
查看详情