获取渲染器列表和修改分辨率

2 个问题
1 个是如何获取到当前渲染器的universal renderer data
看图

img


通过代码如何获取? 因为我需要动态修改一些数据

第 2 个问题 修改阴影分辨率 看图 如何通过代码修改这个分辨率

img


请测试好以后发给我,只要我能修改 马上选择你。谢谢
不要使用 chatgpt 查询了 我都查询过了,如果能修改就不会来问

这篇文章参考一下:

结合GPT给出回答如下请题主参考

  1. 获取当前渲染器的Universal Renderer Data可以通过以下代码实现:
UniversalRenderPipelineAsset urpAsset = GraphicsSettings.renderPipelineAsset as UniversalRenderPipelineAsset;
UniversalRendererData urpData = urpAsset.rendererData as UniversalRendererData;
  1. 修改阴影分辨率可以通过以下代码实现:
QualitySettings.shadowResolution = ShadowResolution.High;

其中,"High"可以替换成以下四种选项之一:

  • Low:低分辨率阴影
  • Medium:中分辨率阴影
  • High:高分辨率阴影
  • VeryHigh:非常高分辨率阴影

你也可以将"High"替换成一个数字,用来指定具体的分辨率。如下所示:

QualitySettings.shadowResolution = 2048;

1.

import bpy

# 获取当前渲染器的universal renderer data
render_data = bpy.context.scene.render

# 修改数据
render_data.resolution_x = 1920
render_data.resolution_y = 1080
render_data.image_settings.file_format = 'PNG'

# 打印修改后的数据
print(render_data.resolution_x)
print(render_data.resolution_y)
print(render_data.image_settings.file_format)

2.

from PIL import Image

# 打开图像文件
image = Image.open("path/to/image.jpg")

# 修改分辨率
new_resolution = (1920, 1080)  # 新的分辨率
resized_image = image.resize(new_resolution)

# 保存修改后的图像
resized_image.save("path/to/new_image.jpg")

通过代码设置游戏分辨率

void Start()
{
    Screen.SetResolution(1920, 1080, true); // 这里设置分辨率为1920*1080,并以全屏模式执行
}



其中,Screen.SetResolution()函数用于设置游戏分辨率,参数含义分别为宽度、高度和是否全屏。需要注意的是,在不同的设备上使用固定的分辨率可能会导致显示效果失真或变形,因此最好根据具体设备和游戏的需求进行自适应调整。
也可以参考