Python API V2 新增功能

查找在 VRED Python API v2 中为每个版本添加和更改的内容。

“了解更多”图标 有关 Python 沙盒的信息和其他安全信息,请参见软件安全

API v2 2024.2 新增功能

此页面介绍了在 VRED 2024.2 的 Python API v2 中新增和更改的内容(与 2024.1 相比)。

注意:

我们决定推迟发布 Python API v2,因为我们计划在 VRED 2025 中实施与体积渲染相关的各种更改和改进,这些更改和改进将对 API 产生影响。

Python 版本

Python 版本已更新至 3.11.6。

重要信息:

由于自 Python 3.11 起,负责将 Python 2 脚本自动更新为 Python 3 的库已弃用,因此我们建议您将这些脚本更新为 Python 3 以避免将来出现任何问题。

Qt 版本

Qt 已更新至 6.2.10。

新环境变量

以下是 2024.2 中的新环境变量:

  • VRED_CLUSTERSERVICE_CONFIG
  • VRED_CLUSTERSERVICE_DISABLE_ALL
  • VRED_CLUSTERSERVICE_ENABLE_ALL

移除的环境变量

我们移除了环境变量 STARVR_SDK

API

下面汇总了新的函数、类和类型。

Python API V1 更改

以下是 2024.2 中的 Python API V1 更改:

  • vrMovieExport - 向 setCombinedChannelsRenderPasses 添加了参数 background_passvolume_pass,并添加了以下函数:

    • getDepthMode
    • getDepthRange
    • setDepthMode
    • setDepthRange
    • setOcclusionRange
    • getOcclusionRange
  • vrOSGWidget - 添加了以下函数:

    • setActiveRenderPass - 添加了 VOLUME_COLOR_LAYER 参数
    • setDisplayMode - 移除了 VR_DISPLAY_VRHERO_XTAL
  • vrRenderSettings - 更改了以下函数:

    • setDenoiseAlpha - 已将参数更改为 denoiseAlpha
    • setRenderPasses - 向过程列表添加了 volume_color

Python API V2 更改

以下是 2024.2 中的 Python API V2 更改:

  • vrCADFileTypes - 进行以下更改:

    • 移除了 Maya
    • 添加了 SLP
  • vrdAtfSettings - 已将 Jt Open (Experimental) 重命名为 Jt Open(对于 getJtToolkit

  • vrdBaseLightNode - 添加了以下内容:

    • getVolumeIlluminationMode
    • setVolumeIlluminationMode
  • vrdDeviceInteraction - 对以下类的文档进行了更改:

    • addSupportedInteractionGroup
    • createControllerAction
    • getControllerAction
    • removeControllerAction
    • removeSupportedInteractionGroup
    • setControllerActionMapping(包括已更改的 mapping 参数)
    • setSupportedInteractionGroups
  • vrDeviceService - 对以下类的文档进行了更改:

    • addBlockedDeviceModelOrSerial
    • createInteraction
    • getBlockedDeviceModelsOrSerials
    • getLeftTrackedHand
    • getRightTrackedHand
    • getVRDeviceBySerialNumber
    • isBlockedDeviceModelOrSerial
    • removeBlockedDeviceModelOrSerial
    • setBlockedDeviceModelsOrSerials
    • setTrackingOrigin
    • deviceCollisionStarted
    • deviceCollisionStopped
    • deviceMoved
  • vrdFileExportSettings - 已将文档添加到所有 SurfaceExportMode 枚举条目

  • 对于以下函数,已将参数 value 重命名为 enable,但下面提到的例外情况除外:

    • setExportAnimationClips
    • setExportAnimationCurves
    • setExportAnnotations
    • setExportCameras
    • setExportColors
    • setExportEnvironmentGeometries
    • setExportGeometrySwitches
    • setExportInvisibleData
    • setExportLightmaps
    • setExportLights
    • setExportMaterialSwitches
    • setExportMeshes
    • setExportMetadata
    • setExportSceneplates
    • setExportScripts
    • setExportSurfaces - 已将 value 参数重命名为 mode
    • setExportTouchSensors
    • setExportTransformVariants
    • setExportVariants
    • setExportVariantSets
    • setExportVertexColors
    • setFbxFormat - 已将 value 参数重命名为 format
    • setFbxVersionId - 已将 value 参数重命名为 id
    • setInlineTextures
    • setKeepEmptyGeometryNodes - 已将 value 参数重命名为 keep
    • setKeepEmptyGroupNodes - 已将 value 参数重命名为 keep
    • setKeepEmptyMaterialGroupNodes - 已将 value 参数重命名为 keep
    • setKeepEmptyShellNodes - 已将 value 参数重命名为 keep
    • setKeepUnusedMaterials - 已将 value 参数重命名为 keep
    • setRemoveBSides
    • setStlFormat
  • vrdVertexBakeSettings - 更新了 setIntensityThreshold 函数文档。

  • vrdVRDevice - 针对以下内容,对有关 OpenXR 模式的注释进行了更改:

    • addVirtualButton
    • disableRay
    • enableRay
    • getSerialNumber
    • getWristOrientationAngle
    • pick
    • removeVirtualButton - 适用于两种过载方法
    • setButtonPressed
    • setButtonTouched
    • setTrackingMatrix
    • signal
    • vibrate
  • vrFileIOService - 移除了以下信号:

    • addedGeometry

    • addLoadedMaterial

    • preExportGeometry

    • 将“cad”的拼写更改为“CAD”,将“vred”的拼写更改为“VRED”

    • 添加了 project 的文档

    • 更新了以下函数的文档:

      • checkCadType
      • getImageReadFilter
      • getImageReadFilter
      • importFiles
  • vrGPUService - 添加了 gpuStateInfo

  • vrGUIService - 已将 OpenVDB 值添加到 DialogType 枚举

  • vrHMDService - 移除了以下函数:

    • getStarVRRenderSettings
    • setStarVRRenderSettings
  • vrImmersiveInteractionService - 更改了 setViewpointMode 文档

  • vrLightTypes - 添加了枚举 VolumeIlluminationMode

  • vrMaterialTypes - 在 MaterialType 中添加了以下值:

    • VolumeScatter
    • OpenVDBVolume

已移除

我们移除了对 vrdStarVRRenderSettings 的支持。

API v2 2024.1 新增功能

用于导出节点的 Python

我们添加了用于导出节点的新方法。请参见 vrFileIoServicevrdFileExportSettingsvrdFileExportSettings::SurfaceExportModevrFileIOService 中添加了一些基本示例,展示了如何导入和导出文件以及如何更改这些设置。有关其他信息,请参见 vrdFileExportSettingsvrdFileExportSettings Example

环境变量更新

我们修复了以下内容:

  • VRED_COLLABORATION_NO_UPLOAD - 修复了 ("uupload")
  • VRED_CURRENT_PROJECT_DIR - 删除了“_DIR'”之前的额外空格

我们添加了以下内容:

  • VRED_IMPORT_PERFORMANCE_LOG
  • VRED_SECURE_PYTHON
  • VRED_WORKSPACES_PATH

API V1 更新

vrCollision 添加了以下内容:

  • getCollidingNodes
  • getCollidingTriangleIndices
  • getCollidingTriangles
  • getCollisionInfo
  • getCollisionPoint

API V2 更新

我们添加了以下类:

我们更改了以下类:

  • vrCADFileTypes 的更改:

    • CatiaV5 - 更新了注释以引用 V5
    • C3MF
    • IFC
    • SLP
  • vrdAtfSettings 的更改:

    • getImportColors()
    • setImportColors()
  • vrdMaterialXProperties 的更改:

    • 类描述中的代码示例已更新 (PySide2 -> PySide6)
  • vrdMDLProperties 的更改:

    • 类描述中的代码示例已更新 (PySide2 -> PySide6)
  • vrFileIOService 的更改:

    • 我们添加了以下内容:
    • abortJobs()

    • exportNodes()

    • getExportSettings()

    • getExportSettingsFromPreferences()

    • setExportSettings()

      • 我们移除了以下信号:
    • addedGeometry

    • addLoadedMaterial

    • importedFile

    • preExportGeometry

    • sequences

  • vrGUIService 的更改:

    • openExportDialog()
    • openExportSceneDialog()
  • vrLightService 的更改:

    • copyLights()
    • getLightsClipboard()
    • isLightsClipboardEmpty()
    • pasteLights()
  • vrMaterialTypes 的更改:

    • MergeOptions
    • 对于 Default,文档已更改
    • 对于 IgnoreName,文档已更改
    • 对于 IncludeSwitchMaterials,文档已更改
    • 已添加 ExcludeXRiteMaterials
  • vrQueryService 的更改:

    • 类文档已更新,并添加了代码示例

API v2 2024 新增功能

此页面介绍了在 VRED 的 Python API v2 2024 中新增和更改的内容(与 2023.4 相比)。

Python 版本

Python 版本已更新至 3.11.3。可以使用以下命令从 VRED 内打印 VRED 的 Python 版本:

print(sys.version)

Qt 版本

Qt 版本已从 Qt 5 更新至 6.2。其中,将 PySide 模块名称从 PySide2 更改为了 PySide6,并将 shiboken2 更改为了 shiboken6

注意:

当选项“首选项”>“脚本”>“将脚本转换为当前 Python 版本”处于启用状态时,在 VRED 中执行 Python 脚本之前,名称 PySide2 和 shiboken2 将自动即时替换为 PySide6 和 shiboken6。

将应用程序从 PySide2 移植到 PySide6

可以使用以下命令从 VRED 内打印 VRED 的 Qt 版本:

print(PySide6.QtCore.qVersion())

API

以下是新增的函数和类:

新的材质粗糙度

在 VRED 2024 中,材质粗糙度更改为感知线性行为,且新值范围介于 0 和 1 之间。在先前 VRED 版本中,行为是非线性的,最大值为 40。将旧文件导入 VRED 时,材质粗糙度值会自动调整为新行为。

如果通过脚本明确设置具体的粗糙度值,例如使用 vrdPlasticMaterial.setRoughness(roughness),则必须在脚本中调整值。

请参见此代码段进行转换:snippets/convertRoughness.py