PointsTo3D

PointsTo3Dノードを使用して、2つまたは3つの追跡ポイント間の視差を使用して、画像シーケンス内の2Dポイントの3D位置を計算します。

イメージとそれに対応する追跡カメラをPointsTo3Dノード入力に接続します。計算する2Dポイントを選択して配置しますA特定のフレームのそのポイントでクリックしますset frame。次に、フレームを別のカメラアングルに変更し、同じ2D機能を指定します。 Bそしてクリックset frame。ポイントに対して繰り返すC、再び別のフレームに。クリックcalculate 3D空間にポイントを生成し、そのポイントをスクリーン空間に変換します。

入力とコントロール

接続タイプ

接続名

関数

入力

カム

入力シーケンスを撮影するために使用されるカメラの動きと一致する動きを持つカメラノード。これには、CameraTrackerノードを使用して作成したカメラや、サードパーティの3Dアプリケーションからインポートしたカメラなどがあります。カメラはアニメーション化する必要があることに注意してください。

img

3D位置を計算する2Dポイントを持つ画像シーケンス。

Control (UI)

Knob (Scripting)

Default Value

関数

PointsTo3D Tab

Camera type

cameraMovType

free move

追跡カメラの動きのタイプを選択します。

free move -これにより、画像の2Dポイントが3D空間のポイントに変わります。これには、カメラが動いており、3フレームで2Dポイントを見つけることが必要です。計算する2Dポイントを選択して配置しますPoint A特定のフレームのそのポイントでクリックしますset frame。次に、フレームを別のカメラアングルに変更し、同じ2D機能を指定します。 Point Bそしてクリックset frame。繰り返すPoint C、再び別のフレームに。クリックcalculate 3D空間にポイントを生成し、そのポイントをスクリーン空間に変換します。クリックすることもできますgenerate axisこの位置で3D Axisオブジェクトを作成します。

nodal -これは無視しますPoint BそしてPoint C。代わりに、置くだけPoint Aカメラの焦点距離を使用して距離を決定する、カメラの前の固定距離。

Point A

2D point xy

pointA

50, 0

X軸とY軸で追跡する2Dポイントを選択します。

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

X軸とY軸で追跡する2Dポイントを選択します。

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

X軸とY軸で追跡する2Dポイントを選択します。

point ref time

ref_timeC

0

フレーム番号 Point Cに設定されています。あなたは残すことができますpoint ref timeゼロに設定して除外するPoint C計算から。自由に動くカメラを持っているが、使用したいだけならこれをしたいかもしれませんPoint AそしてPoint 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 これらの関数はレンダリング中に実行され、進行状況または失敗を判断します。