Visualizer#
Visualizer 类是 Genesis 中所有可视化和渲染的主控制器。它管理 viewer、相机和渲染器后端。
概述#
当你创建 Scene 时,Visualizer 会自动创建,并负责:
管理交互式
Viewer窗口协调多个
Camera实例处理渲染器后端(Rasterizer、Raytracer、BatchRenderer)
将渲染状态与仿真同步
访问方式#
通过 scene 访问 Visualizer:
import genesis as gs
gs.init()
scene = gs.Scene(show_viewer=True)
scene.build()
# 访问 visualizer
visualizer = scene.visualizer
# 更新可视化
visualizer.update()
常用操作#
添加相机#
# 添加用于渲染的相机
cam = scene.add_camera(
res=(1280, 720),
pos=(3, 0, 2),
lookat=(0, 0, 0.5),
fov=40,
)
更新视图#
# 每步更新可视化
for i in range(1000):
scene.step()
scene.visualizer.update()
控制 Viewer#
# 访问交互式 viewer
viewer = scene.visualizer.viewer
# 检查 viewer 是否处于活动状态
if scene.visualizer.viewer is not None:
# 可进行 viewer 操作
pass
API 参考#
- class genesis.vis.Visualizer(scene, show_viewer, vis_options, viewer_options, renderer_options)[source]#
Bases:
RBCThis abstraction layer manages viewer and renderers.
- add_camera(res, pos, lookat, up, model, fov, aperture, focus_dist, GUI, spp, denoise, near, far, env_idx, debug)[source]#
- update_visual_states(force_render: bool = False)[source]#
Update all visualization-only variables here.
- property is_built: bool#
- property viewer#
- property rasterizer#
- property batch_renderer#
- property context#
- property raytracer#
- property renderer#
- property scene#
- property has_display#
- property cameras#
- property segmentation_idx_dict#
另请参阅#
Viewer - 用于实时可视化的交互式 viewer
渲染器(Renderers) - 渲染器后端
相机(Cameras) - 相机传感器