PointsTo3D

使用PointsTo3D节点使用两个或三个跟踪点之间的视差来计算图像序列中2D点的3D位置。

将图像及其对应的跟踪摄像机附加到PointsTo3D节点输入。选择要计算的2D点,放置A在那一点上的特定帧,然后单击set frame。现在,将框架更改为其他摄像机角度,并使用B然后点击set frame。重复点C,再次在其他框架上。请点击calculate生成3D空间中的点,并将该点转换回屏幕空间。

输入和控制

连接类型

连接名称

功能

输入值

凸轮

一个Camera节点,其运动与用于拍摄输入序列的摄像机的运动相匹配。例如,这可以是使用CameraTracker节点创建的摄像机,也可以是从第三方3D应用程序导入的摄像机。请注意,必须为相机设置动画。

img

具有要计算其3D位置的2D点的图像序列。

Control (UI)

Knob (Scripting)

Default Value

功能

PointsTo3D Tab

Camera type

cameraMovType

free move

选择跟踪的摄像机运动类型:

free move -这会将图像中的2D点转换为3D空间中的点。这需要摄像机移动,并且您需要在三帧中找到2D点。选择要计算的2D点,放置Point A在那一点上的特定帧,然后单击set frame。现在,将框架更改为其他摄像机角度,并使用Point B然后点击set frame。重复Point C,再次在其他框架上。请点击calculate生成3D空间中的点,并将该点转换回屏幕空间。您也可以点击generate axis以该位置制作3D轴对象。

nodal -这忽略了Point BPoint C。相反,它只是把Point A相机前方的固定距离,使用相机的焦距确定距离。

Point A

2D point xy

pointA

50, 0

选择一个2D点以在X和Y轴上跟踪。

point ref time

ref_timeA

0

车架号Point A设定为。

set frame

N/A

N/A

点击设置Point A在当前xy位置和帧号。

Point B

2D point xy

pointB

100, 0

选择一个2D点以在X和Y轴上跟踪。

point ref time

ref_timeB

0

车架号Point B设定为。

set frame

N/A

N/A

点击设置Point B在当前XY位置和帧号。

Point C

2D point xy

pointC

150, 0

选择一个2D点以在X和Y轴上跟踪。

point ref time

ref_timeC

0

车架号 Point C设定为。您可以离开point ref time设置为零以忽略Point C从计算。如果您有一个自由移动的相机,但是您只想使用,则可能要这样做Point APoint B在计算中。

set frame

N/A

N/A

点击设置Point C在当前XY位置和帧号。

Output

Calculate

N/A

N/A

单击以根据2D点数据计算3D点坐标。

3D point xyz

point3D

0

计算出的3D点的X,Y和Z轴位置。

2D point xy

point2D

0

当前X和Y轴位置point2d标记。

Python Tab (These controls are for Python callbacks and can be used to have Python functions automatically called when various events happen in Nuke.)

before render

beforeRender

none

这些函数在开始执行execute()之前运行。如果它们引发异常,则渲染异常终止。

before each frame

beforeFrameRender

none

这些功能在开始渲染每个单独的帧之前运行。如果它们引发异常,则渲染异常终止。

after each frame

afterFrameRender

none

这些功能在每个帧完成渲染后运行。如果渲染异常终止,则不会调用它们。如果它们引发异常,则渲染异常终止。

after render

afterRender

none

这些功能在所有帧的渲染完成后运行。如果它们抛出错误,则渲染中止。

render progress renderProgress none 这些功能在渲染过程中运行以确定进度或失败。