first commit
This commit is contained in:
543
docs/mcdocs/1-ModAPI/接口/玩家/渲染.md
Normal file
543
docs/mcdocs/1-ModAPI/接口/玩家/渲染.md
Normal file
@@ -0,0 +1,543 @@
|
||||
---
|
||||
sidebarDepth: 1
|
||||
---
|
||||
# 渲染
|
||||
|
||||
## AddPlayerAnimation
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in mod.client.component.actorRenderCompClient.ActorRenderCompClient
|
||||
|
||||
- 描述
|
||||
|
||||
增加玩家渲染动画
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| animationKey | str | 动画键 |
|
||||
| animationName | str | 动画名称 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 是否成功 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import mod.client.extraClientApi as clientApi
|
||||
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
|
||||
comp.AddPlayerAnimation("move.arms", "animation.player.move.arms_custom")
|
||||
```
|
||||
|
||||
|
||||
|
||||
## AddPlayerAnimationController
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in mod.client.component.actorRenderCompClient.ActorRenderCompClient
|
||||
|
||||
- 描述
|
||||
|
||||
增加玩家渲染动画控制器
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| animationControllerKey | str | 动画控制器键 |
|
||||
| animationControllerName | str | 动画控制器名称 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 是否成功 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import mod.client.extraClientApi as clientApi
|
||||
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
|
||||
comp.AddPlayerAnimationController("root", "controller.animation.player.root_custom")
|
||||
```
|
||||
|
||||
|
||||
|
||||
## AddPlayerAnimationIntoState
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in mod.client.component.actorRenderCompClient.ActorRenderCompClient
|
||||
|
||||
- 描述
|
||||
|
||||
在玩家的动画控制器中的状态添加动画
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| animationControllerName | str | 动画控制器名称,如root(controller.animation.player.root) |
|
||||
| stateName | str | 动画状态名称,如first_person |
|
||||
| animationName | str | 添加的动画名称或动画控制器名称,如first_person_attack_controller_new |
|
||||
| condition | str | 动画控制表达式,默认为空,如query.mod.index > 0 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 是否成功 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
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
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in mod.client.component.actorRenderCompClient.ActorRenderCompClient
|
||||
|
||||
- 描述
|
||||
|
||||
增加玩家渲染几何体
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| geometryKey | str | 渲染几何体键,如玩家默认几何体default |
|
||||
| geometryName | str | 渲染几何体名称,如玩家默认几何体geometry.humanoid.custom |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 是否成功 |
|
||||
|
||||
- 备注
|
||||
- 调用该接口后需要调用RebuildPlayerRender才会生效
|
||||
动画和贴图都是与几何体密切相关的,改变几何体也需要改变动画与贴图
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import mod.client.extraClientApi as clientApi
|
||||
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
|
||||
comp.AddPlayerGeometry("default", "geometry.player.custom")
|
||||
```
|
||||
|
||||
|
||||
|
||||
## AddPlayerParticleEffect
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in mod.client.component.actorRenderCompClient.ActorRenderCompClient
|
||||
|
||||
- 描述
|
||||
|
||||
增加玩家特效资源
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| effectKey | str | 特效资源Key,如bee.entity.json中的nectar_dripping |
|
||||
| effectName | str | 特效资源名称,如minecraft:nectar_drip_particle |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 是否成功 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import mod.client.extraClientApi as clientApi
|
||||
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
|
||||
comp.AddPlayerParticleEffect("nectar_dripping", "minecraft:nectar_drip_particle")
|
||||
```
|
||||
|
||||
|
||||
|
||||
## AddPlayerRenderController
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in mod.client.component.actorRenderCompClient.ActorRenderCompClient
|
||||
|
||||
- 描述
|
||||
|
||||
增加玩家<a href="../../../../mcguide/20-玩法开发/15-自定义游戏内容/3-自定义生物/01-自定义基础生物.html#_7-自定义渲染控制器">渲染控制器</a>
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| renderControllerName | str | 渲染控制器名称 |
|
||||
| condition | str | 渲染控制器条件 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 添加是否成功 |
|
||||
|
||||
- 备注
|
||||
- 调用该接口后需要调用RebuildPlayerRender才会生效
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import mod.client.extraClientApi as clientApi
|
||||
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
|
||||
comp.AddPlayerRenderController('custom_render_controller_name', 'query.mod.condition')
|
||||
```
|
||||
|
||||
|
||||
|
||||
## AddPlayerRenderMaterial
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in mod.client.component.actorRenderCompClient.ActorRenderCompClient
|
||||
|
||||
- 描述
|
||||
|
||||
增加玩家渲染需要的<a href="../../../../mcguide/20-玩法开发/15-自定义游戏内容/3-自定义生物/01-自定义基础生物.html#_3-自定义材质">材质</a>
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| materialKey | str | 材质key |
|
||||
| materialName | str | 材质名称 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 添加是否成功 |
|
||||
|
||||
- 备注
|
||||
- 调用该接口后需要调用RebuildPlayerRender才会生效
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import mod.client.extraClientApi as clientApi
|
||||
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
|
||||
comp.AddPlayerRenderMaterial('custom_material_key', 'custom_material_name')
|
||||
```
|
||||
|
||||
|
||||
|
||||
## AddPlayerSoundEffect
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in mod.client.component.actorRenderCompClient.ActorRenderCompClient
|
||||
|
||||
- 描述
|
||||
|
||||
增加玩家音效资源
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| soundKey | str | 音效资源Key |
|
||||
| soundName | str | 音效资源名称 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| 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"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import mod.client.extraClientApi as clientApi
|
||||
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
|
||||
comp.AddPlayerSoundEffect("sound_thunder", "ambient.weather.thunder")
|
||||
```
|
||||
|
||||
|
||||
|
||||
## AddPlayerTexture
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in mod.client.component.actorRenderCompClient.ActorRenderCompClient
|
||||
|
||||
- 描述
|
||||
|
||||
增加玩家渲染贴图
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| geometryKey | str | 贴图键 |
|
||||
| geometryName | str | 贴图路径 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 是否成功 |
|
||||
|
||||
- 备注
|
||||
- 调用该接口后需要调用RebuildPlayerRender才会生效
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import mod.client.extraClientApi as clientApi
|
||||
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
|
||||
comp.AddPlayerTexture("default", "textures/misc/missing_texture")
|
||||
```
|
||||
|
||||
|
||||
|
||||
## RebuildPlayerRender
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in mod.client.component.actorRenderCompClient.ActorRenderCompClient
|
||||
|
||||
- 描述
|
||||
|
||||
重建玩家的数据渲染器
|
||||
|
||||
- 参数
|
||||
|
||||
无
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 重建是否成功 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import mod.client.extraClientApi as clientApi
|
||||
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
|
||||
comp.RebuildPlayerRender()
|
||||
```
|
||||
|
||||
|
||||
|
||||
## RemovePlayerAnimationController
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in mod.client.component.actorRenderCompClient.ActorRenderCompClient
|
||||
|
||||
- 描述
|
||||
|
||||
移除玩家渲染动画控制器
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| animationControllKey | str | 动画控制器键 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 是否成功 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import mod.client.extraClientApi as clientApi
|
||||
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
|
||||
comp.RemovePlayerAnimationController("root")
|
||||
```
|
||||
|
||||
|
||||
|
||||
## RemovePlayerGeometry
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in mod.client.component.actorRenderCompClient.ActorRenderCompClient
|
||||
|
||||
- 描述
|
||||
|
||||
删除玩家渲染几何体
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| geometryKey | str | 渲染几何体名称键,如玩家默认几何体default |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 是否成功 |
|
||||
|
||||
- 备注
|
||||
- 调用该接口后需要调用RebuildPlayerRender才会生效
|
||||
动画和贴图都是与几何体密切相关的,改变几何体也需要改变动画与贴图
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
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
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in mod.client.component.actorRenderCompClient.ActorRenderCompClient
|
||||
|
||||
- 描述
|
||||
|
||||
删除玩家<a href="../../../../mcguide/20-玩法开发/15-自定义游戏内容/3-自定义生物/01-自定义基础生物.html#_7-自定义渲染控制器">渲染控制器</a>
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| renderControllerName | str | 渲染控制器名称 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 删除是否成功 |
|
||||
|
||||
- 备注
|
||||
- 调用该接口后需要调用RebuildPlayerRender才会生效
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import mod.client.extraClientApi as clientApi
|
||||
comp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
|
||||
comp.RemovePlayerRenderController('custom_render_controller_name')
|
||||
```
|
||||
|
||||
|
||||
|
||||
## SetPlayerItemInHandVisible
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in mod.client.component.actorRenderCompClient.ActorRenderCompClient
|
||||
|
||||
- 描述
|
||||
|
||||
设置是否隐藏玩家的手持物品模型显示
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| visible | bool | 设置是否显示或隐藏,True表示显示,False表示隐藏 |
|
||||
| mode | int | 设置隐藏手持物品在哪一个视角模式生效。mode=0时,表示第一人称和第三人称下均隐藏手持物品;mode=1时表示仅隐藏第三人称下的手持物品;mode=2时表示仅隐藏第一人称下的手持物品。默认值为0。填入0,1,2以外的数值会被强制设置为0 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 设置是否成功,成功返回True,失败返回False。 |
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import mod.client.extraClientApi as clientApi
|
||||
actorRenderComp = clientApi.GetEngineCompFactory().CreateActorRender(playerId)
|
||||
# 隐藏指定玩家的手持物品模型显示
|
||||
print actorRenderComp.SetPlayerItemInHandVisible(False, 0)
|
||||
```
|
||||
|
||||
|
||||
|
||||
## SetSkin
|
||||
|
||||
<span style="display:inline;color:#7575f9">客户端</span>
|
||||
|
||||
method in mod.client.component.modelCompClient.ModelComponentClient
|
||||
|
||||
- 描述
|
||||
|
||||
更换原版自定义皮肤
|
||||
|
||||
- 参数
|
||||
|
||||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| skin | str | 贴图路径,以textures\models为当前路径的相对路径 |
|
||||
|
||||
- 返回值
|
||||
|
||||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||||
| :--- | :--- |
|
||||
| bool | 设置是否成功 |
|
||||
|
||||
- 备注
|
||||
- 会覆盖原有皮肤(包括4d皮肤)。但会被骨骼模型覆盖
|
||||
|
||||
- 示例
|
||||
|
||||
```python
|
||||
import mod.client.extraClientApi as clientApi
|
||||
comp = clientApi.GetEngineCompFactory().CreateModel(entityId)
|
||||
comp.SetSkin("kagura")
|
||||
```
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user