---
sidebarDepth: 1
---
# 方块几何体模型
## CombineBlockBetweenPosToGeometry
客户端
method in mod.client.component.blockGeometryCompClient.BlockGeometryCompClient
- 描述
根据输入的两个位置,搜索这两个位置之间的所有方块,并将这些方块合并和转换为能用于实体的几何体模型。
- 参数
| 参数名 |
数据类型
| 说明 |
| :--- | :--- | :--- |
| startPos | tuple(int,int,int) | 起始位置 |
| endPos | tuple(int,int,int) | 终点位置 |
| geometryName | str | 几何体模型的名称,用于标识每个几何体模型,相当于是该模型的id |
| unsupportedMode | int | 不支持方块处理方式枚举,可选参数,可输入的值为0、1。默认的值为0。如果方块调色板中有不支持转变为几何体的方块的话,将按以下方式处理:0:跳过不支持的方块继续生成。1:停止生成 |
| useStructureVoid | bool | 是否使用结构空位代替空气方块,可选参数,默认值为False。True表示使用结构空位,False表示不使用结构空位。 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| BlockPaletteComponent | 返回合并过程中生成的方块调色板实例,如创建失败则返回None |
- 备注
- 如果之前已经拥有一个相同名称几何体模型,合并出来的新模型会覆盖之前的模型。因此需要注意,每次合并不同外观的模型时geometryName都应该互不相同。
- 如果每次合并的模型都是外观相同的模型,则我们建议使用相同的geometryName,以节省存储模型的内存。当然,最优的情况下是尽量复用之前已经创建的方块几何体模型,而不是重复合并新的模型。
- 目前尚不支持的方块类型有 (后续版本将陆续支持):
1. 自定义方块实体外观(见开发指南-玩法开发-自定义游戏内容-自定义方块-自定义方块实体外观)
2. 微缩方块(见开发指南-玩法开发-自定义游戏内容-微缩方块)
3. 火方块,水方块
4. 花盆
5. 钟
6. 末地传送门,末地折跃门
7. 屏障
8. 潮涌核心
9. 旗帜
- 示例
```python
import mod.client.extraClientApi as clientApi
blockGeometryComp = clientApi.GetEngineCompFactory().CreateBlockGeometry(levelId)
palette = blockGeometryComp.CombineBlockBetweenPosToGeometry((200,64,200),(201,65,202),"my_block_geometry")
```
## CombineBlockFromPosListToGeometry
客户端
method in mod.client.component.blockGeometryCompClient.BlockGeometryCompClient
- 描述
根据输入的方块位置列表,搜索这些位置的所有方块,并将这些方块合并和转换为能用于实体的几何体模型。
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| posList | list(tuple(int,int,int)) | 方块位置列表 |
| geometryName | str | 几何体模型的名称,用于标识每个几何体模型,相当于是该模型的id |
| unsupportedMode | int | 不支持方块处理方式枚举,可选参数,可输入的值为0、1。默认的值为0。如果方块调色板中有不支持转变为几何体的方块的话,将按以下方式处理:0:跳过不支持的方块继续生成。1:停止生成 |
| useStructureVoid | bool | 是否使用结构空位代替空气方块,可选参数,默认值为False。True表示使用结构空位,False表示不使用结构空位。 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| BlockPaletteComponent | 返回合并过程中生成的方块调色板实例,如创建失败则返回None |
- 备注
- 如果之前已经拥有一个相同名称几何体模型,合并出来的新模型会覆盖之前的模型。因此需要注意,每次合并不同外观的模型时geometryName都应该互不相同。
- 如果每次合并的模型都是外观相同的模型,则我们建议使用相同的geometryName,以节省存储模型的内存。当然,最优的情况下是尽量复用之前已经创建的方块几何体模型,而不是重复合并新的模型。
- 目前尚不支持的方块类型有 (后续版本将陆续支持):
1. 自定义方块实体外观(见开发指南-玩法开发-自定义游戏内容-自定义方块-自定义方块实体外观)
2. 微缩方块(见开发指南-玩法开发-自定义游戏内容-微缩方块)
3. 火方块,水方块
4. 花盆
5. 钟
6. 末地传送门,末地折跃门
7. 屏障
8. 潮涌核心
9. 旗帜
- 示例
```python
import mod.client.extraClientApi as clientApi
blockGeometryComp = clientApi.GetEngineCompFactory().CreateBlockGeometry(levelId)
palette = blockGeometryComp.CombineBlockFromPosListToGeometry([(200,64,200),(201,65,202)],"my_block_geometry")
```
## CombineBlockPaletteToGeometry
客户端
method in mod.client.component.blockGeometryCompClient.BlockGeometryCompClient
- 描述
将BlockPalette中的所有方块合并并转换为能用于实体的几何体模型。
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| blockPalette | BlockPaletteComponent | 方块调色板,由GetBlockPaletteBetweenPos以及GetBlockPaletteFromPosList接口获取 |
| geometryName | str | 几何体模型的名称,用于标识每个几何体模型,相当于是该模型的id。 |
| unsupportedMode | int | 不支持方块处理方式枚举,可选参数,可输入的值为0、1。默认的值为0。如果方块调色板中有不支持转变为几何体的方块的话,将按以下方式处理:0:跳过不支持的方块继续生成。1:停止生成 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| str | 生成成功后返回几何体模型的名称,生成失败返回None。几何体模型名称与输入的参数geometryName一致。 |
- 备注
- 如果之前已经拥有一个相同名称几何体模型,合并出来的新模型会覆盖之前的模型。因此需要注意,每次合并不同外观的模型时geometryName都应该互不相同。
- 如果每次合并的模型都是外观相同的模型,则我们建议使用相同的geometryName,以节省存储模型的内存。当然,最优的情况下是尽量复用之前已经创建的方块几何体模型,而不是重复合并新的模型。
- 目前尚不支持的方块类型有 (后续版本将陆续支持):
1. 自定义方块实体外观(见开发指南-玩法开发-自定义游戏内容-自定义方块-自定义方块实体外观)
2. 微缩方块(见开发指南-玩法开发-自定义游戏内容-微缩方块)
3. 火方块,水方块
4. 花盆
5. 钟
6. 末地传送门,末地折跃门
7. 屏障
8. 潮涌核心
9. 旗帜
- 示例
```python
import mod.client.extraClientApi as clientApi
blockComp = clientApi.GetEngineCompFactory().CreateBlock(levelId)
palette = blockComp.GetBlockPaletteBetweenPos((200,64,200),(201,65,202))
blockGeometryComp = clientApi.GetEngineCompFactory().CreateBlockGeometry(levelId)
geometryName = blockGeometryComp.CombineBlockPaletteToGeometry(palette,"my_block_geometry")
print geometryName
```
## EnableActorBlockGeometryTransparent
客户端
method in mod.client.component.actorRenderCompClient.ActorRenderCompClient
- 描述
设置是否允许实体的方块几何体模型产生透明度,允许开启后通过调节方块几何体的透明度将会使得方块几何体模型变得透明。
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| geometryName | str | 几何体模型的名称,用于标识每个几何体模型,相当于是该模型的id。 |
| enable | bool | 是否允许实体的方块几何体模型产生透明度,True表示允许,False表示不允许。 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功,成功返回True,失败返回False。 |
- 示例
```python
import mod.client.extraClientApi as clientApi
actorRenderComp = clientApi.GetEngineCompFactory().CreateActorRender("-4294967295")
# 允许方块几何体模型产生透明度
print actorRenderComp.EnableActorBlockGeometryTransparent("my_block_geometry", True)
# 调节方块几何体模型的透明度为0.5
print actorRenderComp.SetActorBlockGeometryTransparency("my_block_geometry", 0.5)
```
## SetActorBlockGeometryOffset
客户端
method in mod.client.component.actorRenderCompClient.ActorRenderCompClient
- 描述
设置实体的方块几何体模型的位置偏移。
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| geometryName | str | 几何体模型的名称,用于标识每个几何体模型,相当于是该模型的id |
| offset | tuple(float,float,float) | 方块几何体模型相对实体的位置偏移值,默认为(0, 0, 0)。 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功,成功返回True,失败返回False。 |
- 示例
```python
import mod.client.extraClientApi as clientApi
actorRenderComp = clientApi.GetEngineCompFactory().CreateActorRender("-4294967295")
print actorRenderComp.SetActorBlockGeometryOffset("my_block_geometry", (1,1,1))
```
## SetActorBlockGeometryRotation
客户端
method in mod.client.component.actorRenderCompClient.ActorRenderCompClient
- 描述
设置实体的方块几何体模型的旋转角度。
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| geometryName | str | 几何体模型的名称,用于标识每个几何体模型,相当于是该模型的id |
| rotation | tuple(float,float,float) | 方块几何体模型相对实体的旋转角度,默认为(0, 0, 0),分别表示绕x,y,z轴的旋转角度,旋转顺序按z,x,y顺序旋转。 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功,成功返回True,失败返回False。 |
- 示例
```python
import mod.client.extraClientApi as clientApi
actorRenderComp = clientApi.GetEngineCompFactory().CreateActorRender("-4294967295")
print actorRenderComp.SetActorBlockGeometryRotation("my_block_geometry", (90,0,0))
```
## SetActorBlockGeometryTransparency
客户端
method in mod.client.component.actorRenderCompClient.ActorRenderCompClient
- 描述
设置实体的方块几何体模型的透明度。注意,只有调用接口EnableActorBlockGeometryTransparent开启了方块几何体模型的透明度后该接口才会生效。
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| geometryName | str | 几何体模型的名称,用于标识每个几何体模型,相当于是该模型的id。 |
| transparent | float | 方块几何体模型的透明度,范围值为[0,1],超过这个范围的值将会被截取为0或1。 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功,成功返回True,失败返回False。 |
- 示例
```python
import mod.client.extraClientApi as clientApi
actorRenderComp = clientApi.GetEngineCompFactory().CreateActorRender("-4294967295")
# 允许方块几何体模型产生透明度
print actorRenderComp.EnableActorBlockGeometryTransparent("my_block_geometry", True)
# 调节方块几何体模型的透明度为0.5
print actorRenderComp.SetActorBlockGeometryTransparency("my_block_geometry", 0.5)
```