Files
netease-modsdk-wiki/docs/mcdocs/1-ModAPI/接口/后处理/镜头效果.md
2025-03-17 13:24:39 +08:00

431 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
sidebarDepth: 1
---
# 镜头效果
## CheckDepthOfFieldEnabled
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.postProcessControlComp.PostProcessComponent
- 描述
检测是否开启了景深效果。
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | True为已开启False为已关闭。 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePostProcess(levelId)
comp.CheckDepthOfFieldEnabled()
```
## CheckLensStainEnabled
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.postProcessControlComp.PostProcessComponent
- 描述
检测是否开启了镜头污迹效果。
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | True为已开启False为已关闭。 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePostProcess(levelId)
comp.CheckLensStainEnabled()
```
## ResetLensStainTexture
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.postProcessControlComp.PostProcessComponent
- 描述
重置污迹效果使用的贴图为系统默认贴图。
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePostProcess(levelId)
comp.ResetLensStainTexture()
```
## SetDepthOfFieldBlurRadius
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.postProcessControlComp.PostProcessComponent
- 描述
调整景深效果模糊半径,模糊半径越大,模糊程度越大,反之则越小。
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| radius | float | 模糊半径值大小,值的范围为[0,5]小于或大于这个范围的值将被截取为边界值0或5 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePostProcess(levelId)
# 调整模糊半径值为0.3
comp.SetDepthOfFieldBlurRadius(0.3)
```
## SetDepthOfFieldFarBlurScale
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.postProcessControlComp.PostProcessComponent
- 描述
调整景深效果远景模糊大小,远景模糊大小越大,远景的模糊程度越大,反之则越小。注意,远景模糊程度的调节依赖于焦点距离,如果焦点处于较近的距离,那么此时远景处于较清晰的状态,模糊程度大小调节不会很明显。
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| scale | float | 远景模糊大小,值的范围为[0,15]小于或大于这个范围的值将被截取为边界值0或15 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePostProcess(levelId)
# 调整远景模糊大小值为1.0
comp.SetDepthOfFieldFarBlurScale(1.0)
```
## SetDepthOfFieldFocusDistance
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.postProcessControlComp.PostProcessComponent
- 描述
调整景深效果焦点距离,距离越小,则远处模糊,近处清晰;距离越大,则远处清晰,近处模糊。该距离为实际距离,即以玩家相机为起点的世界坐标距离。
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| distance | float | 焦点距离值大小,值的范围为[0,100]小于或大于这个范围的值将被截取为边界值0或100。距离值接近100时将被视为无限远的远景。 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 备注
- 如果想要较好地确认聚焦平面的位置可以先使用SetDepthOfFieldNearBlurScale以及SetDepthOfFieldFarBlurScale将近景模糊大小和远景模糊大小均设置到最大值此时只有聚焦平面所在的区域显得清晰这样可以较为直观的看到聚焦平面的位置从而方便地调节聚焦平面距离。
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePostProcess(levelId)
# 调整焦点距离值为4即聚焦在距离玩家4个方块边长的位置上
comp.SetDepthOfFieldFocusDistance(4)
```
## SetDepthOfFieldNearBlurScale
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.postProcessControlComp.PostProcessComponent
- 描述
调整景深效果近景模糊大小,近景模糊大小越大,近景的模糊程度越大,反之则越小。注意,近景模糊程度的调节依赖于焦点距离,如果焦点处于较近的距离,那么此时近景处于较清晰的状态,模糊程度大小调节不会很明显。
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| scale | float | 近景模糊大小,值的范围为[0,15]小于或大于这个范围的值将被截取为边界值0或15 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePostProcess(levelId)
# 调整近景模糊大小值为1.0
comp.SetDepthOfFieldNearBlurScale(1.0)
```
## SetDepthOfFieldUseCenterFocus
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.postProcessControlComp.PostProcessComponent
- 描述
设置景深效果是否开启屏幕中心聚焦模式,开启后聚焦距离将被自动设置为屏幕中心所对应的物体所在的距离。在第一人称视角下,聚焦距离将被自动设置为屏幕准心所对应的物体与相机的距离,即自动聚焦准心所对应的物体。在第三人称视角下,由于屏幕中心总是对应着玩家,因此聚焦距离将被自动设置为玩家与相机的距离,即自动聚焦在玩家自己。
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| enable | bool | 是否开启景深效果屏幕中心聚焦模式True为开启False为关闭。开启后原有的焦点距离设置将不再有效接口SetDepthOfFieldFocusDistance也将失效。 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 备注
- 同样如果想要较好地确认聚焦点所在的位置可以先使用SetDepthOfFieldNearBlurScale以及SetDepthOfFieldFarBlurScale将近景模糊大小和远景模糊大小均设置到最大值此时只有聚焦平面所在的区域显得清晰这样可以较为直观的看到聚焦平面的位置从而方便地调节聚焦平面距离。
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePostProcess(levelId)
# 开启屏幕中心聚焦模式
comp.SetDepthOfFieldUseCenterFocus(True)
```
## SetEnableDepthOfField
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.postProcessControlComp.PostProcessComponent
- 描述
设置是否开启景深效果,开启后屏幕出现景深效果,根据焦点距离呈现远处模糊近处清晰或者近处模糊远处清晰的效果。
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| enable | bool | 是否开启景深效果True为开启False为关闭。 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePostProcess(levelId)
comp.SetEnableDepthOfField(True)
```
## SetEnableLensStain
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.postProcessControlComp.PostProcessComponent
- 描述
设置是否开启镜头污迹效果,开启后镜头出现污迹效果,可改变使用的污迹贴图及污迹颜色。
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| enable | bool | 是否开启镜头污迹效果True为开启False为关闭。 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePostProcess(levelId)
comp.SetEnableLensStain(True)
```
## SetLensStainColor
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.postProcessControlComp.PostProcessComponent
- 描述
调整镜头污迹颜色,根据输入的颜色和强度来调整污迹色彩,当强度越大时,污迹颜色越偏向输入的颜色。
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| intensity | float | 颜色强度,值的范围为[0,1]小于或大于这个范围的值将被截取为边界值0或1 |
| color | tuple(float,float,float) | 颜色值按顺序分别为颜色的RGB值值的范围为[0,255]小于或大于这个范围的值将被截取为边界值0或255 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePostProcess(levelId)
# 调整镜头污迹颜色为偏红色强度为0.3
comp.SetLensStainColor(0.3, (255,0,0))
```
## SetLensStainIntensity
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.postProcessControlComp.PostProcessComponent
- 描述
调整镜头污迹强度,强度越大,污迹越明显,反之则越透明。
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| intensity | float | 镜头污迹强度值大小,值的范围为[0,1]小于或大于这个范围的值将被截取为边界值0或1 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePostProcess(levelId)
# 调整污迹强度值为0.4
comp.SetLensStainIntensity(0.4)
```
## SetLensStainTexture
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.component.postProcessControlComp.PostProcessComponent
- 描述
开启镜头污迹效果后,污迹效果使用的为系统默认贴图。该接口可改变镜头污迹所使用的贴图。注意贴图最好使用透明背景,否则屏幕将被贴图覆盖。
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| texturePath | str | 贴图的相对路径以“textures/"开头,不需要后缀名 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePostProcess(levelId)
# 改变污迹贴图为textures/postprocess目录下的my_dirtiness.png。
comp.SetLensStainTexture("textures/postprocess/my_dirtiness")
```