當前位置:首頁 >教程首頁 > Nuke >在nuke中利用Python添加FOV參數

在nuke中利用Python添加FOV參數

發布時間:2019-11-21 14:35:24

現在我們單獨來看一下導入“Mayascene.fbx"文件後,Nuke Camera [攝影機節點]的Projection[投影]參數,如圖所示。

 在nuke中利用Python添加FOV參數

可以看到focal length [ 焦距]、horiz aperture [水平成像平麵]和vert aperture [垂直成像平麵] 3個參數值確實和Maya camera裏的參數是相同的,但Camera [攝影機]節點卻沒有FOV [攝角]參數。

我們可以通過下麵的python腳本來手工為Nuke Camera [攝影機]添加一個Fov [攝角]參數。

Python參數如下:

import math

#導入math模塊

def focalToFov ( focal, aperture ):

return math.degrees( math.atan2(aperture, focal*2) *2 )

#定義一-個focalToFov函數,使用了focal和aperture作為入參,這裏的aperure指的就是Camera的horiz

aperture。下麵使用的就是求Fov值的公式,返回的是Fov角度值。

def fovToFocal ( fov, aperture ):

return aperture / ( math.tan(math.radians(fov/2))/2)

#定義一個fovToFocal函數, 使用了上麵求出的fov值和aperture作為入參,通過Fov和aperture求出了Focal值。

def addFovKnob():

n = nuke.thisNode()

Fov = nuke.Tab Knob(FOV)

fovKnob = nuke.Double_ Knob( 'fov';FOV' )

fovKnob.setRange( 5, 179 )

focal = n['focal'].value()

hap = n['haperture'].value()

fovKnob.setValue( focalToFov( focal, hap ))

n.addKnob( Fov )

n.addknob( fovKnob )

nuke.addOnUserCreate( addFovKnob, nodeClass='Camera2' )

#創建了一一個Fov的Knob [麵板],並把上麵focalToFov返回的Fov值賦予了這個Knob。

def fovCB():

n = nuke.thisNode()

k = nuke.thisKnob()

hap = n['haperture'].value()

if k.name()== 'fov':

n[focal'].setValue( fovToFocal( k.value(), hap ))

elif k.name() == 'focal':

n['fov'].setValue( focalToFov( k.value(), hap) )

nuke.addKnobChanged( fovCB, nodeClass='Camera2' )

#當調節Fov值時,會自動改變focal的值去進行匹配。

選擇想要添加FOV [攝角]的Camera節點,把上麵的參數粘貼到Script Edior [腳本編輯器]麵板中,按回鍵車執行參數命令,如圖所示。

 在nuke中利用Python添加FOV參數

當前Camera節點並不會馬上添加參數,需要刪除當前Camera節點,重新創建一個Camera節點,因為Nuke需要刷新參數。這時我們看到新建的Camera節點上多出一個Fov參數欄,如圖所示。

 在nuke中利用Python添加FOV參數

當我們調節FOV [攝角]參數時,Foacl [焦距]會跟隨改變,反之亦然。

华体会hth体育网 賞析
  • 2101期學員李思庭作品

    2101期學員李思庭作品

  • 2104期學員林雪茹作品

    2104期學員林雪茹作品

  • 2107期學員趙淩作品

    2107期學員趙淩作品

  • 2107期學員趙燃作品

    2107期學員趙燃作品

  • 2106期學員徐正浩作品

    2106期學員徐正浩作品

  • 2106期學員弓莉作品

    2106期學員弓莉作品

  • 2105期學員白羽新作品

    2105期學員白羽新作品

  • 2107期學員王佳蕊作品

    2107期學員王佳蕊作品

專業問題谘詢

你擔心的問題,火星幫你解答

微信掃碼入群領福利

掃碼領福利最新AI資訊

點擊谘詢
添加老師微信,馬上領取免費課程資源

1. 打開微信掃一掃,掃描左側二維碼

2. 添加老師微信,馬上領取免費課程資源

×

同學您好!

您已成功報名0元試學活動,老師會在第一時間與您取得聯係,請保持電話暢通!
確定