vrLightService

vrLightService

(继承 vrBaseService

用于访问 VRED 中的灯光、灯光集和镜头光斑的接口。

这是用于访问、创建或删除灯光、灯光集和镜头光斑的基本接口。它还提供了使用 vrLightService.getLightRoot() 访问灯光图形的功能。

下面是一些有关如何使用灯光的示例:

# add a group node
groupNode = vrLightService.createLightGroup("group node")

# create a point light below the group pointLight = vrLightService.createLight("point light", vrLightTypes.LightType.Point, groupNode)

# find a light node in the main scene graph pointLight = vrNodeService.findNode("point light")

# find a light node in the light graph pointLight = vrLightService.findLight("point light")

# copy lens flares from pointLightNode1 to pointLightNode2 # this creates an actual copy of the vrdLensFlareEffect and stores it vrLightService.copyLensFlare(pointLightNode1.getLensFlareEffect()) vrLightService.pasteLensFlare([pointLightNode2])

# delete the pointlight and the group vrNodeService.removeNode([pointLight, groupNode])

摘要

函数:
信号:

函数

vrLightService.convertLight(lightNode, lightType)

将灯光节点转换为其他类型的灯光。注意:这将使此节点对象无效。

参数:

vrLightService.convertLights(nodes, lightType)

将灯光节点转换为其他类型的灯光。注意:这将使这些节点对象无效。

参数:

vrLightService.copyLensFlare(effect)

向复制缓冲区添加镜头光斑效果。

参数:effect (vrdLensFlareEffect) - 添加到剪贴板以进行复制的镜头光斑效果。

vrLightService.copyLensFlareElements(elements)

向复制缓冲区添加镜头光斑。

参数:elements (List[vrdLensFlareElement]) - 要复制的所有镜头光斑

vrLightService.copyLensFlareGhosts(ghosts)

将所有重影复制到复制缓冲区。

参数:ghosts (List[vrdLensFlareGhost]) - 要复制的所有重影的列表

vrLightService.copyLights(nodes)

将所有给定灯光节点从灯光图形复制到剪贴板。每次新复制前清空剪贴板。

参数:nodes (List[vrdNode]) - 要复制的所有灯光节点的列表

vrLightService.createLight(name, type, parent=vrdNode())

在灯光图形中创建新的灯光节点。

平行:平行光类型
点:点灯光类型
聚光灯:聚光灯类型
矩形:矩形灯光类型
圆盘:圆盘灯光类型
球形:球形灯光类型
镭射光:镭射灯光类型
参数:
  • name (string) - 新灯光节点的名称
  • type (vrLightTypes.LightType) - 灯光类型
  • parent (vrdNode) - 此节点包含新创建的灯光节点作为子节点。父节点必须是灯光图形中的组节点。因此,它必须是灯光图形根节点或一个后代子组。如果省略此参数,则将使用灯光根节点。
返回值:

灯光图形中新创建和添加的灯光节点。

返回值类型:

vrdNode

vrLightService.createLightGroup(name, parent=vrdNode())

创建新灯光组。

参数:
  • name (string) - 新灯光组节点的名称
  • parent (vrdNode) - 新组节点将附加到此节点。父节点必须是灯光图形中的节点。因此,它必须是灯光图形根节点或其子组之一。如果省略此参数,则将使用灯光图形根节点。
返回值:

新创建的组节点

返回值类型:

vrdNode

vrLightService.createLightGroup(name, nodes)

基于一些灯光创建新的灯光组。

参数:
  • name (string) - 灯光组节点的名称
  • nodes (List[vrdNode]) - 将作为新组一部分的灯光节点。该组将是灯光图形中节点的公用父节点的子节点。如果节点没有公用父节点,则该组将是灯光图形根节点的子节点。
返回值:

新创建和添加的灯光组节点

返回值类型:

vrdNode

vrLightService.createLightLinkSet(name='')

创建新的灯光链接集。

参数:name (string) - 灯光链接集的名称。如果省略此名称,则将自动生成新的唯一名称。
返回值:新创建的灯光链接集。将发出 vrLightService.lightLinkSetsChanged() 信号
返回值类型:vrdLightLinkSetNode

vrLightService.duplicateLensFlareElements(light, elements)

重复灯光的镜头光斑元素并将其添加到同一灯光。

参数:
  • light (vrdPointLightNode) - 重复其一些镜头光斑元素的灯光
  • elements (List[vrdLensFlareElement]) - 应重复的元素。请注意,这些元素必须是给定灯光的元素,否则将忽略它们。

vrLightService.duplicateLensFlareGhosts(ghostLine, ghosts)

重复重影线的镜头光斑重影,并将其添加到同一重影线。

参数:
  • ghostLine (vrdLensFlareGhostLine) - 重复其一些重影的重影线
  • ghosts (List[vrdLensFlareGhost]) - 应重复的重影。请注意,这些重影必须是给定重影线的重影,否则将忽略它们。

vrLightService.duplicateLights(nodes)

从灯光图形重复所有给定灯光节点。重复的节点将添加到与原始节点相同的父节点下。

参数:nodes (List[vrdNode]) - 要重复的所有灯光节点的列表

vrLightService.findLight(name)

在灯光图形中查找具有给定名称的灯光节点。

参数:name (string) - 搜索的灯光节点的名称
返回值:灯光节点。如果找不到具有此名称的灯光节点,则可能为空。
返回值类型:vrdNode

vrLightService.findLights(name)

查找具有给定名称的所有灯光节点。

参数:name (string) - 搜索的灯光节点的名称。将在灯光图形中搜索灯光。
返回值:灯光节点列表。如果找不到具有此名称的灯光节点,则可能为空。
返回值类型:List[vrdNode]

vrLightService.getAllLights(sceneGraph)

返回所有灯光节点。

参数:sceneGraph (bool) - 如果为 True,则从场景图形收集节点,如果为 False,则使用灯光图形
返回值:所有灯光节点
返回值类型:List[vrdNode]

vrLightService.getHeadlight()

返回车头灯节点。

返回值:车头灯节点
返回值类型:vrdBaseLightNode

vrLightService.getLightLinksRoot()

返回灯光集的根节点(包含所有灯光集)。

返回值:灯光集树的根节点
返回值类型:vrdNode

vrLightService.getLightRoot()

返回灯光的根节点(包含所有灯光和镜头光斑)。

返回值:灯光图形的根节点
返回值类型:vrdNode

vrLightService.getLightsClipboard()
返回值:剪贴板中的灯光节点的列表。
返回值类型:List[vrdNode]

vrLightService.getSelectedLensFlareElements()

获取选定的镜头光斑元素。

返回值:选定的镜头光斑元素
返回值类型:List[vrdLensFlareElement]

vrLightService.getSelectedLensFlareGhosts()

获取当前选定的重影。

返回值:当前选定的重影。
返回值类型:List[vrdLensFlareGhost]

vrLightService.getSelectedNodes()

从内部缓冲区返回所有当前选定的灯光节点。

返回值:所有当前选定的灯光节点的列表
返回值类型:List[vrdNode]

vrLightService.hasCopiedGhosts()

检查剪贴板中是否有重影元素。

返回值:如果剪贴板中有重影元素,则为 True
返回值类型:bool

vrLightService.hasCopiedLensFlareEffect()

检查剪贴板中是否有镜头光斑效果。

返回值:如果剪贴板中有镜头光斑效果,则为 True
返回值类型:bool

vrLightService.hasCopiedLensFlareElements()

检查剪贴板中是否有镜头光斑元素。

返回值:如果剪贴板中有镜头光斑元素,则为 True
返回值类型:bool

vrLightService.isHeadLight(light)

检查给定节点是否为车头灯节点。

参数:light (vrdBaseLightNode) -
返回值:如果给定节点是车头灯节点,则为 True
返回值类型:bool

vrLightService.isLightsClipboardEmpty()

检查剪贴板中是否有灯光节点。

返回值:如果剪贴板为空,则为 True
返回值类型:bool

vrLightService.loadLights(paths)

从 OpenSG 二进制几何体或 VRED 项目二进制文件加载灯光

参数:paths (List[string]) - 二进制文件的完整文件路径
返回值:所有新添加的灯光节点
返回值类型:List[vrdNode]

vrLightService.pasteLensFlare(lights)

将镜头光斑效果从复制缓冲区粘贴到一个或多个灯光。

参数:lights (List[vrdPointLightNode]) - 应将镜头光斑效果复制到的灯光。

vrLightService.pasteLensFlareElements(light)

将镜头光斑元素从剪贴板粘贴到灯光。

参数:light (vrdPointLightNode) - 应将镜头光斑元素复制到的灯光。

vrLightService.pasteLensFlareGhosts(ghostLine)

将所有重影从复制缓冲区粘贴到重影线。

参数:ghostLine (vrdLensFlareGhostLine) - 要将重影粘贴到的重影线。

vrLightService.pasteLights(targetNodes)

将剪贴板中的所有给定灯光节点粘贴到图形中。剪贴板内容保持不变。

参数:targetNodes (List[vrdNode]) - 节点应粘贴到的目标节点。

vrLightService.removeLightLinkSets(nodes)

移除灯光链接集。

参数:nodes (List[vrdLightLinkSetNode]) - 要移除的所有灯光链接集的列表。将发出 vrLightService.lightLinkSetsChanged() 信号

vrLightService.removeLights(nodes)

从灯光图形中移除所有给定灯光节点。

参数:nodes (List[vrdNode]) - 要移除的所有灯光节点的列表

vrLightService.saveLights(nodes, path)

以递归方式收集给定节点中的所有灯光,并将其保存为 OpenSG 二进制几何体文件。

参数:
  • nodes (List[vrdNode]) - 要存储的灯光节点的列表
  • path (string) - osg 文件的完整文件路径,必须包含 osg 后缀
返回值:

如果已成功存储文件,则为 True

返回值类型:

bool

vrLightService.setSelectedLensFlareElements(elements)

设置所有选定的镜头光斑元素。

参数:elements (List[vrdLensFlareElement]) - 应选择的所有镜头光斑元素的列表。

vrLightService.setSelectedLensFlareGhosts(ghosts)

设置选定的重影。所有当前选定的重影都将重置为未选择。将发出 vrLightService.lensFlareGhostSelectionChanged(ghosts) 信号。

参数:ghosts (List[vrdLensFlareGhost]) - 将选择的重影的列表。

vrLightService.setSelectedNodes(nodes)

设置所有选定的灯光节点。所有当前选定的节点都将重置为未选择。几乎所有灯光服务命令都适用于选定节点。将发出 vrLightService.nodeSelectionChanged(nodes) 信号。

参数:nodes (List[vrdNode]) - 所有当前选定灯光节点的列表

vrLightService.validateLights()

验证场景图形中的所有灯光在灯光图形中是否有相应的灯光,反之亦然。将移除没有有效父项的灯光。将发出 vrLightService.lightsValidated() 信号。

信号

vrLightService.lensFlareElementSelectionChanged(elements)

如果更改了镜头光斑元素的选择缓冲区,则将发出信号。

参数:elements (List[vrdLensFlareElement]) - 所有当前选定的镜头光斑元素

vrLightService.lensFlareGhostSelectionChanged(ghosts)

如果更改了选定重影的列表,则将发出信号。

参数:ghosts (List[vrdLensFlareGhost]) - 所有选定重影的新列表

vrLightService.lightLinkSetsChanged()

如果添加或移除了灯光链接集,则将发出信号。

vrLightService.lightsConverted(lightIds)

当灯光转换为不同的灯光类型时,将发出的信号。

参数:lightIds (List[integer]) - 已转换灯光的对象 ID。

vrLightService.lightsStateChanged()

当灯光图形或场景图形中任何灯光的打开/关闭状态更改时,将发出信号。

vrLightService.lightsValidated()

灯光经过验证后,将发送信号。

vrLightService.nodesAdded(nodes)

如果添加了灯光节点,则将发出信号。

参数:nodes (List[vrdNode]) - 新创建的灯光节点

vrLightService.nodesChanged(nodes)

如果更改了灯光节点,则将发出信号。

参数:nodes (List[vrdNode]) - 所有已更改的灯光节点

vrLightService.nodeSelectionChanged(nodes)

如果更改了灯光节点的选择缓冲区,则将发出信号。

参数:nodes (List[vrdNode]) - 所有当前选定的灯光节点

vrLightService.nodesRemoved(nodes)

如果移除了灯光节点,则将发出信号。

参数:nodes (List[vrdNode]) - 所有已移除的灯光节点