三日月館【別館】開発・制作Tips集
[NUKE] Pythonで3D空間内の座標を2D画面上の座標へ変換する
最終更新:
fumiduki1985
-
view
nukescripts.snap3d.projectPoints()またはprojectPoint()関数を使用することで可能。
これらの関数は、3D空間内の座標を引数で渡したCameraノードから見た2D画面の座標(ピクセル単位)へ変換する。
Cameraノードにアニメーション等が付いている場合は、カレントフレームの値が使用される。
3D空間内の座標には、nuke.math.Vector3クラスを使用する。
これらの関数は、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)