設(shè)計(jì)一個(gè)靈活的Camera類(lèi)(3) 摘要:
該實(shí)例程序是創(chuàng)建和渲染一個(gè)如圖12.8所示的場(chǎng)景。你能夠通過(guò)鍵盤(pán)輸入在場(chǎng)景中自由地飛行。下面是相應(yīng)鍵盤(pán)設(shè)置:
W/S—向前/向后移動(dòng)
A/D—向左/向右平移
R/F—向上/向下飛行
Up/Down方向鍵—傾斜
Left/Right方向鍵—偏航
N/M—滾轉(zhuǎn)
設(shè)計(jì)一個(gè)靈活的Camera類(lèi)(2) 摘要:
為了實(shí)現(xiàn)我們的攝像機(jī)旋轉(zhuǎn)方法,我們需要能夠繞著任意軸旋轉(zhuǎn),D3DX庫(kù)提供下面的函數(shù)來(lái)解決這個(gè)問(wèn)題:
設(shè)計(jì)一個(gè)靈活的Camera類(lèi)(1) 摘要:
我們使用D3DXMatrixLookAtLH函數(shù)來(lái)計(jì)算視圖空間變換矩陣。這個(gè)函數(shù)對(duì)于在固定位置布置和對(duì)準(zhǔn)攝像機(jī)是非常好用的,不過(guò)它的用戶(hù)接口對(duì)于要響應(yīng)用戶(hù)輸入來(lái)實(shí)現(xiàn)攝像機(jī)移動(dòng)就不那么好用了。這就激發(fā)我們用我們自己的方法來(lái)解決,這里我們展示了怎樣實(shí)現(xiàn)一個(gè)Camera類(lèi),它使我們能夠比
D3DXMatrixLookAtLH函數(shù)更好地操作攝像機(jī),并且可以用來(lái)作為飛行模擬攝像機(jī)和第一人稱(chēng)視角攝像機(jī)。