三日月館【別館】開発・制作Tips集

[NUKE] Pythonで3D空間内の座標を2D画面上の座標へ変換する

最終更新:

fumiduki1985

- view
管理者のみ編集可
nukescripts.snap3d.projectPoints()またはprojectPoint()関数を使用することで可能。
これらの関数は、3D空間内の座標を引数で渡したCameraノードから見た2D画面の座標(ピクセル単位)へ変換する。
Cameraノードにアニメーション等が付いている場合は、カレントフレームの値が使用される。
3D空間内の座標には、nuke.math.Vector3クラスを使用する。

記述例:
import nuke
import nukescripts 

cameraNode = nuke.toNode('Camera1')  # 任意のカメラを取得
srcPoint = nuke.math.Vector3(0, 0, 0)  # 変換したい座標を用意

destPoint = nukescripts.snap3d.projectPoint(camera=cameraNode, point=srcPoint)


このページのタグ一覧
NUKE Python プログラミング

記事メニュー
ウィキ募集バナー