Files
netease-modsdk-wiki/docs/mcdocs/1-ModAPI/接口/玩家/渲染.md
2025-03-17 13:24:39 +08:00

14 KiB
Raw Blame History

sidebarDepth
sidebarDepth
1

渲染

AddPlayerAnimation

客户端

method in mod.client.component.actorRenderCompClient.ActorRenderCompClient

  • 描述

    增加玩家渲染动画

  • 参数

    参数名
    数据类型
    说明
    animationKey str 动画键
    animationName str 动画名称
  • 返回值

    数据类型
    说明
    bool 是否成功
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
comp.AddPlayerAnimation("move.arms", "animation.player.move.arms_custom")

AddPlayerAnimationController

客户端

method in mod.client.component.actorRenderCompClient.ActorRenderCompClient

  • 描述

    增加玩家渲染动画控制器

  • 参数

    参数名
    数据类型
    说明
    animationControllerKey str 动画控制器键
    animationControllerName str 动画控制器名称
  • 返回值

    数据类型
    说明
    bool 是否成功
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
comp.AddPlayerAnimationController("root", "controller.animation.player.root_custom")

AddPlayerAnimationIntoState

客户端

method in mod.client.component.actorRenderCompClient.ActorRenderCompClient

  • 描述

    在玩家的动画控制器中的状态添加动画

  • 参数

    参数名
    数据类型
    说明
    animationControllerName str 动画控制器名称如rootcontroller.animation.player.root
    stateName str 动画状态名称如first_person
    animationName str 添加的动画名称或动画控制器名称如first_person_attack_controller_new
    condition str 动画控制表达式默认为空如query.mod.index > 0
  • 返回值

    数据类型
    说明
    bool 是否成功
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
comp.AddPlayerAnimationIntoState("root", "first_person", "first_person_attack_controller_new", "query.mod.index > 0")

AddPlayerGeometry

客户端

method in mod.client.component.actorRenderCompClient.ActorRenderCompClient

  • 描述

    增加玩家渲染几何体

  • 参数

    参数名
    数据类型
    说明
    geometryKey str 渲染几何体键如玩家默认几何体default
    geometryName str 渲染几何体名称如玩家默认几何体geometry.humanoid.custom
  • 返回值

    数据类型
    说明
    bool 是否成功
  • 备注

    • 调用该接口后需要调用RebuildPlayerRender才会生效 动画和贴图都是与几何体密切相关的,改变几何体也需要改变动画与贴图
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
comp.AddPlayerGeometry("default", "geometry.player.custom")

AddPlayerParticleEffect

客户端

method in mod.client.component.actorRenderCompClient.ActorRenderCompClient

  • 描述

    增加玩家特效资源

  • 参数

    参数名
    数据类型
    说明
    effectKey str 特效资源Key如bee.entity.json中的nectar_dripping
    effectName str 特效资源名称如minecraft:nectar_drip_particle
  • 返回值

    数据类型
    说明
    bool 是否成功
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
comp.AddPlayerParticleEffect("nectar_dripping", "minecraft:nectar_drip_particle")

AddPlayerRenderController

客户端

method in mod.client.component.actorRenderCompClient.ActorRenderCompClient

  • 描述

    增加玩家渲染控制器

  • 参数

    参数名
    数据类型
    说明
    renderControllerName str 渲染控制器名称
    condition str 渲染控制器条件
  • 返回值

    数据类型
    说明
    bool 添加是否成功
  • 备注

    • 调用该接口后需要调用RebuildPlayerRender才会生效
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
comp.AddPlayerRenderController('custom_render_controller_name', 'query.mod.condition')

AddPlayerRenderMaterial

客户端

method in mod.client.component.actorRenderCompClient.ActorRenderCompClient

  • 描述

    增加玩家渲染需要的材质

  • 参数

    参数名
    数据类型
    说明
    materialKey str 材质key
    materialName str 材质名称
  • 返回值

    数据类型
    说明
    bool 添加是否成功
  • 备注

    • 调用该接口后需要调用RebuildPlayerRender才会生效
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
comp.AddPlayerRenderMaterial('custom_material_key', 'custom_material_name')

AddPlayerSoundEffect

客户端

method in mod.client.component.actorRenderCompClient.ActorRenderCompClient

  • 描述

    增加玩家音效资源

  • 参数

    参数名
    数据类型
    说明
    soundKey str 音效资源Key
    soundName str 音效资源名称
  • 返回值

    数据类型
    说明
    bool 是否成功
  • 备注

    • 音效在RP/entities/player.entity.json # minecraft:client_entity / description中的定义如下 "sound_effects": { "sound_thunder": "ambient.weather.thunder" # ambient.weather.thunder是sound_definitions中定义 } 如果在动作中同步播放音频可以在RP/animations/player.animation_controllers.json # animation_controllers / controller.animation.player.root中定义如下 "dripping": { "sound_effects": [ { "effect": "sound_thunder" } ], "transitions": [ { "third_person": "!query.mod.is_powered" } ] },
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
comp.AddPlayerSoundEffect("sound_thunder", "ambient.weather.thunder")

AddPlayerTexture

客户端

method in mod.client.component.actorRenderCompClient.ActorRenderCompClient

  • 描述

    增加玩家渲染贴图

  • 参数

    参数名
    数据类型
    说明
    geometryKey str 贴图键
    geometryName str 贴图路径
  • 返回值

    数据类型
    说明
    bool 是否成功
  • 备注

    • 调用该接口后需要调用RebuildPlayerRender才会生效
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
comp.AddPlayerTexture("default", "textures/misc/missing_texture")

RebuildPlayerRender

客户端

method in mod.client.component.actorRenderCompClient.ActorRenderCompClient

  • 描述

    重建玩家的数据渲染器

  • 参数

  • 返回值

    数据类型
    说明
    bool 重建是否成功
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
comp.RebuildPlayerRender()

RemovePlayerAnimationController

客户端

method in mod.client.component.actorRenderCompClient.ActorRenderCompClient

  • 描述

    移除玩家渲染动画控制器

  • 参数

    参数名
    数据类型
    说明
    animationControllKey str 动画控制器键
  • 返回值

    数据类型
    说明
    bool 是否成功
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
comp.RemovePlayerAnimationController("root")

RemovePlayerGeometry

客户端

method in mod.client.component.actorRenderCompClient.ActorRenderCompClient

  • 描述

    删除玩家渲染几何体

  • 参数

    参数名
    数据类型
    说明
    geometryKey str 渲染几何体名称键如玩家默认几何体default
  • 返回值

    数据类型
    说明
    bool 是否成功
  • 备注

    • 调用该接口后需要调用RebuildPlayerRender才会生效 动画和贴图都是与几何体密切相关的,改变几何体也需要改变动画与贴图
  • 示例

import mod.client.extraClientApi as clientApi
# geometry definition in player.entity.json
"geometry": {
    "default": "geometry.humanoid.custom",
    "cape": "geometry.cape"
}
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
comp.RemovePlayerGeometry("default")

RemovePlayerRenderController

客户端

method in mod.client.component.actorRenderCompClient.ActorRenderCompClient

  • 描述

    删除玩家渲染控制器

  • 参数

    参数名
    数据类型
    说明
    renderControllerName str 渲染控制器名称
  • 返回值

    数据类型
    说明
    bool 删除是否成功
  • 备注

    • 调用该接口后需要调用RebuildPlayerRender才会生效
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
comp.RemovePlayerRenderController('custom_render_controller_name')

SetPlayerItemInHandVisible

客户端

method in mod.client.component.actorRenderCompClient.ActorRenderCompClient

  • 描述

    设置是否隐藏玩家的手持物品模型显示

  • 参数

    参数名
    数据类型
    说明
    visible bool 设置是否显示或隐藏True表示显示False表示隐藏
    mode int 设置隐藏手持物品在哪一个视角模式生效。mode=0时表示第一人称和第三人称下均隐藏手持物品mode=1时表示仅隐藏第三人称下的手持物品mode=2时表示仅隐藏第一人称下的手持物品。默认值为0。填入0,1,2以外的数值会被强制设置为0
  • 返回值

    数据类型
    说明
    bool 设置是否成功成功返回True失败返回False。
  • 示例

import mod.client.extraClientApi as clientApi
actorRenderComp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
# 隐藏指定玩家的手持物品模型显示
print actorRenderComp.SetPlayerItemInHandVisible(False, 0)

SetSkin

客户端

method in mod.client.component.modelCompClient.ModelComponentClient

  • 描述

    更换原版自定义皮肤

  • 参数

    参数名
    数据类型
    说明
    skin str 贴图路径以textures\models为当前路径的相对路径
  • 返回值

    数据类型
    说明
    bool 设置是否成功
  • 备注

    • 会覆盖原有皮肤包括4d皮肤。但会被骨骼模型覆盖
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateModel(entityId)
comp.SetSkin("kagura")