200902-16 XNA-繪圖著色 繪圖著色: 3D繪圖在繪製的過程中,我們會使用到著色器(Shader),裡面需要用到主要的繪圖屬性:光源、材質、著色打光,可以針對自己想要宣染的物體編輯自己想要的著色器,達到自己想要的效果,以下先介紹此三種屬性,之後的文章在來簡單介紹一下Shader。光源: 實際把3D世界照亮發光體是光.... Read More >
200902-16 XNA-Shader簡介 著色器(Shader): Shader可以直接在GPU上執行的指令集,依據功能的不同,可以劃分成處理3D頂點資料的Vertex Shader和處理螢幕像點資料的Pixel Shader。 對XNA程式來說,Shader是一個小程式,用來撰寫繪圖3D物件所產生的效果,Shader指令經過編譯之後,直接載入到顯示卡上的GPU來執行。而GPU實際可以執行的其實是類似組合語言這種低階的Shad.... Read More >
200902-16 XNA-攝影機(觀測點) 知道如何將模型放置3D位置中之後,接下來就必須設置一個攝影機或是觀測點,用來設定我們在3D世界中的哪個位置來看這個世界。 XNA為我們提供了一個方便使用的觀測點函數,在Matrix底下的一個方法CreateLookAt,底下就來了解一下它的用法。 這裡需要知道這個函數中三個參數的意義:Matr.... Read More >
200902-16 XNA-投影轉換 這裡主要是將3D世界的物件正確的顯示在2D的螢幕上,也就是將攝影機裡看到的3D物件,投影顯示在螢幕上指定的視覺區域裡面。XNA為我們提供了一個方便使用的投影轉換的函數,在Matrix底下的一個方法CreatePerspectiveFieldOfView,底下就來了解一下它的用法。Matrix.cre.... Read More >
200902-16 XNA-3D矩陣運算 這裡會解釋一下基本的矩陣運算的原理,還有程式為我們所提供的函數,方便我們在3D遊戲程式中較容易使用。矩陣運算會使用到四維的矩陣來運算,除了x,y,z座標外,還加入了一個齊次座標,(x,y,z,w)其中的w代表著座標軸遠近的參數,通常內定預設值是1.0,要轉換成3D位置空間的3維座標就會變成(x/w,.... Read More >
200902-16 XNA-顯示3D模型 將3D模型從3D軟體匯出之後,接下來就需要將它運用到程式中,程式中要顯示3D模型必須先將它加入到專案中,在方案總管中Content上按右鍵=>加入=>現有項目,然後你就可以選擇你要加入到專案中的模型檔案,XNA支援副檔名有X和FBX的檔案,選好後它就加入到你的專案中了,之後需在加.... Read More >
200902-16 XNA-滾動背景(程式範例) 滾動背景最主要的作用再於玩家可以感覺自己在自動的前進,一直重複這張圖片,這樣的手法在以前的許多遊戲都常常使用到,像是太空侵略者或是沙羅漫蛇等遊戲,幾乎都是利用這個原理來做背景的處理,一方面也可以不必要再去處理許多背景圖片的轉換,因為大多都用在宇宙中,無需有較大的變化,因此可以使用此方法。 此.... Read More >
200902-16 XNA-矩形碰撞Rectangle Collision(程式範例) 矩形碰撞是設計2D遊戲一開始需要知道的最基礎的碰撞偵測的方法,利用bounding box的方法將圖片的大小包住,甚至可以更仔細的指出圖片中圖案的4面大小,但是通常會以圖片的大小為主,因為使用上較方便,將兩個要碰撞的圖片去檢查他們是否發生交集,是的話就表示碰到,不是的話則表示沒有碰到,當然這樣的碰撞.... Read More >
200902-16 XNA-從Windows到Xbox360 從Windows到Xbox360: 首先必須先設計好一個Window Game的遊戲專案,能夠真正的在Windows 上執行遊戲,之後就可以透過XNA 2.0的功能來轉換成給Xbox 360執行的專案,在專案=>Create Copy 專案名稱 for Xbox 360(如下圖),之後按.... Read More >