PIXNET Logo登入

StreamWhite

跳到主文

Enjoy your Coding Live!

部落格全站分類:數位生活

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 9月 14 週二 201016:09
  • [XNA 4.0學習筆記] 使用Microphone來記錄聲音

XNA 4.0在聲音的部分新增加了麥克風的功能,現在可以使用麥克風來錄製聲音。
這個功能支援WP7、Xbox 360和PC等具有麥克風的產品。
我們可以藉由這項功能,來豐富話我們的遊戲。
這邊就提供簡單的範例程式。用麥克風這項功能主要是會用到Microphone這個物件。
(繼續閱讀...)
文章標籤

teexit1224 發表在 痞客邦 留言(0) 人氣(354)

  • 個人分類:XNA
▲top
  • 9月 14 週二 201012:15
  • [XNA 4.0學習筆記] 抓取出Model裡面的Vertex資訊


模型是由很多Vertex所組成的,在content pipeline中會將3D model轉換成XNB檔案。
然後在Content.Load這個指令再去讀取XNB檔案。
讀取進來以後,裡面就會有3D model有的資料(像是vertex, normal, texture coordniate等)
而我們要如何取出這些資訊呢?
(繼續閱讀...)
文章標籤

teexit1224 發表在 痞客邦 留言(0) 人氣(394)

  • 個人分類:XNA
▲top
  • 9月 14 週二 201009:45
  • [XNA 4.0 學習筆記] 3D模型呈現和如何與2D貼圖並存


在很早之前的文章,有針對XNA 1.0的版本做3D模型顯像的範例程式說明。
使用著還是可以參考之前的說明,然後對照看一下即可。
兩著不會差異太多。
要將模型顯像出來,首先需要宣告一個Model的物件
(繼續閱讀...)
文章標籤

teexit1224 發表在 痞客邦 留言(0) 人氣(1,051)

  • 個人分類:XNA
▲top
  • 9月 14 週二 201000:10
  • [XNA 4.0 學習筆記] Streaming的方式播放音樂


在XNA 4.0中,針對Audio的部分提供一個方便用好用的方法供使用者使用。
現在你可以將你的MP3 Content放在網路上面,然後再XNA用streaming的方式來播放音樂。
要使用這個功能相當的簡單!!
1. 開啟你的XNA 4.0專案。
(繼續閱讀...)
文章標籤

teexit1224 發表在 痞客邦 留言(0) 人氣(305)

  • 個人分類:XNA
▲top
  • 9月 11 週六 201023:55
  • [XNA 4.0學習筆記] 內建狀態物件

XNA 4.0提供狀態物件,狀態物件將原本以往零零散散的屬性設定變成一個單一個物件。
像原本3.0的時候,我們要將要將3D模型用網格畫出來,我需要設定特定的屬性。
設定Cull模式,也是要設應特定的屬性。
每次要找那些屬性都是一個頭兩個大,而在這次新的改版中,XNA 4.0提供
BlendState, DepthStencilState, RasterizerState, 和SamplerState,讓程式設計師使用。
比較常用的是
RasterizerState: 設定Cull模式(順時鐘或是逆時鐘),設定填滿模式(填滿或是網格)。
SamplerState: 設定貼圖取樣方式。在使用者自訂的shader code當中,我們可以在shader設定
貼圖取向的方式,如:
texture diffusemap;
sampler mdiffusemap;Sampler = sampler_state
{
    texture = <diffusemap>;
    magfilter = LINEAR;
    minfilter = LINEAR;
    mipfilter = LINEAR;
    AddressU = CLAMP;
    AddressV = CLAMP;
};
上述程式碼是使用shader的方式控制貼圖取樣。
而現在XNA 4.0讓你也可以在程式碼當中指定類似這樣的事情。
EX:
SamplerStateCollection temp = GraphicsDevice.SamplerStates;
temp[0].Filter = TextureFilter.Linear;
用這種方式來設定第0張貼圖的資訊。
(繼續閱讀...)
文章標籤

teexit1224 發表在 痞客邦 留言(0) 人氣(229)

  • 個人分類:XNA
▲top
  • 9月 11 週六 201023:31
  • [XNA 4.0學習筆記] 新增五個內建特效

XNA 4.0在特效上面提供更多的選擇讓使用者選擇使用,而這些效果都是可以支援到Reach和HiDef兩個Profile。
這次XNA 4.0提供的特效如下所示:
1. Basic Effects: 提供基本的Blinn-Phong打光效果,這是在之前的XNA版本就有提供的操作,設計者可以
自行開啟打光效果,設定相關參數設定等等。
2. Dual Texture Effects: 雙重貼圖效果,使用兩張貼圖並使用混合的方式達到更多樣的效果。(像是使用者
可以先貼上基本的貼圖,然後再貼上一張細節貼圖,增加模型的好看效果)
3. Alpha Test Effects: 提供一種方式來做Alpha的測試效果。
4. Skinned Effects: 這個效果是提供給Skinned(3D模型的變形)所使用的效果。(最多可以支援到72個骨頭,
每個骨頭最多可以有四個不同的權重。
5. Environment Map Effects: 使用環境貼圖的特效。
基本上上述五個特效,主要是補足Reach的不足。因為Reach並不支援使用者自訂的特效。所以我們可以藉由上述
五個預設的特效來做到我們需要的效果。
(繼續閱讀...)
文章標籤

teexit1224 發表在 痞客邦 留言(0) 人氣(212)

  • 個人分類:XNA
▲top
  • 9月 11 週六 201015:05
  • [XNA 4.0學習筆記] Profile顯像材質參數設定

XNA 4.0在顯示上面(包含RenderTarget和一般直接顯像)有提供兩種不同的Profile,Profile根據文件所說指的就是硬體所提供的功能。
每個繪圖卡都可能會提供不同的功能,像是有些繪圖卡提供浮點數運算的材質貼圖,有些沒有這個功能等等。
在之前的XNA版本中,XNA主要受限這個限制所以有時候會發生一種情況...
明明寫了一個RT相關的程式,結果在自己的電腦跑不出來該有的效果,然後拿到別台又OK的情況...
在新版的XNA 4.0中,特別在RT上面提供兩種不同的格式: Reach和HiDef。
Reach主要適用於所有XNA可以支援的平台,包含PC、360和WP7等。
HiDef支援360和部分PC(需支援DX10顯卡)可能大家看了應該就很高興了,竟然會用到DX10顯卡的功能!!
這意味是不是XNA開始提供DX 10的功能了呢!?
這是否定的!XNA主要架構還是建立在DX9的SDK上面,會使用DX10顯卡,主要是確保顯卡能夠提供足夠的功能
(包含貼圖格式的屬性、大小限制等等)
要如何設定現在使用的是Reach還是HiDef格式呢?
在Initialize的地方:
graphics.GraphicsProfile = GraphicsProfile.HiDef;
這樣就是設定顯像方式的貼圖設定是使用HiDef的規格。
目前個人見解是...  如果是PC或XBOX360的遊戲開發,直接使用HiDef的格式比較好,提供的支援比較大。
兩個模式比較結果如下。
(繼續閱讀...)
文章標籤

teexit1224 發表在 痞客邦 留言(0) 人氣(238)

  • 個人分類:XNA
▲top
  • 9月 11 週六 201014:15
  • [XNA 4.0學習筆記] 轉移ZUNE或ZUNE HD程式碼到WP7

這部份算官方文件的一部分,因為剛好也在學習中,所以就把所知道的東西分享出來。
WP7最低解析度800*480。如果要從ZUNE的專案改到WP7,解析度部分需要調整。(ZUNE HD 480*272)(ZUNE240*320)
針對解析度調整的部分,有兩種方式可以設定:
1. 由美術手動調整材質資源的大小(像是貼圖的大小調整)。
2. 由內建的硬體調整(也就是更改目前顯示的解析度)。對於上述所說的方法,第一種是不太建議的,通常都是使用第二種方法來做解析度的調整。
要調整解析度只需要更改preferred back buffer的大小即可,像是:
在Initialize的函數中的程式碼中
graphics = new GraphicsDeviceManager(this);
graphics.PreferredBackBufferWidth = 272;
graphics.PreferredBackBufferHeight = 480;
建立好GraphiceDeviceManager後可以使用graphice的物件來做preferred back buffer大小調整。
解析度調整過後,還需要針對於輸入操作上面做調整。在WP7上面你可以使用觸控或是加速器的資訊來做輸入的操作。
在觸控操作這邊需要手動加入一個標頭檔"Microsoft.Xna.Framework.Input.Touch"
在程式碼的最上方加入using Microsoft.Xna.Framework.Input.Touch,如此一來就可以開始寫觸控上面的操作。
在加速器的部分,這部分主要是由Microsoft Windows Phone Developer Tools CTP所管理的,並非XNA的framework內容
,所以需要引入Microsoft.Devices.Sensors來做加速器的資訊取得。
在WP7的儲存資源部分與ZUNE上有些微的不同,原本的在XNA 3.1之前都是使用StorageContainer.TitleLocation來設定儲存的設定。
不過StorageContainer.TitleLocation在4.0當中是已經不被准許的操作(這個方法被移除掉了)
如果要存取檔案的部分,這邊需要使用OpenStream的方式來做存取操作。
EX:
long size;
void openFile()
{
     try
     {
          System.IO.Stream stream = TitleContainer.OpenStream("ship.dds");
          System.IO.StreamReader sreader = new System.IO.StreamReader(stream);
          // use StreamReader.ReadLine or other methods to read the file data
          Console.WriteLine("File Size: " + stream.Length);
          size = stream.Length;
          stream.Close();
     }
     catch (System.IO.FileNotFoundException)
     {
          throw;
     }
}
(繼續閱讀...)
文章標籤

teexit1224 發表在 痞客邦 留言(0) 人氣(259)

  • 個人分類:XNA
▲top
  • 5月 05 週三 201014:20
  • XNA WP7 教學文件

現在網路上面開始有些教學文件交使用者怎麼開發WP7的遊戲程式。
現在推薦一個簡易的PDF文件
裡面有交怎麼樣開發XNA的WP7遊戲程式
http://charlespetzold.com/phone/index.html
(繼續閱讀...)
文章標籤

teexit1224 發表在 痞客邦 留言(1) 人氣(843)

  • 個人分類:XNA
▲top
  • 4月 25 週日 201014:50
  • XNA 4.0 Phong Shading 實作 shader implement

image
接下來就是進行實作的部分,時做的部分這邊我只說明實作可能會想問的問題,詳細內容各位可以下載原始的程式碼。
(本範例程式碼,包含使用基本的basicEffect特效將模型顯示)
模型的部分,這邊我是使用OBJ檔案格式,在XNA Creater club上面有一個範例,裡面是使用自定的content pipeline來將obj檔案資訊分析出來,這邊我們就直接運用它即可。
在renderer.cs的程式碼中,裡面有一個函數use_BasicEffect程式碼如下
(繼續閱讀...)
文章標籤

teexit1224 發表在 痞客邦 留言(0) 人氣(527)

  • 個人分類:
▲top
«123...18»

個人頭像

teexit1224
暱稱:
teexit1224
分類:
數位生活
好友:
累積中
地區:

MSN

文章分類

  • Code Note (5)
  • Nvdia (1)
  • MSP 消息 (25)
  • XNA (84)
  • 心情筆記 (17)
  • 隨筆閒談 (33)
  • 未分類文章 (1)

網誌搜尋

近期文章

  • Fetch value from Boost::ptr_list causes compiler error.
  • sdkmesh converter
  • [C++/CLI]執行過程中發生 _CrtIsValidHeapPointer(pUserData)
  • [.net] ShowDialog or Show!?
  • [C++/CLI] 將子視窗數值回傳給父視窗 (pass value from child to parent)
  • OptiX 2.1環境安裝與設定
  • XNA網頁全新改版!!
  • [XNA 4.0 學習筆記] XNA 4.0 Game Loop
  • 2010 TechDay XNA 4.0遊戲開發演講心得
  • XNA 4.0正式推出

XNA教學

XNA DPT Blog

Game Developer

工具

BLOG AD

參觀人氣

  • 本日人氣:
  • 累積人氣:

誰來我家

XNA 4.0

資源

最新迴響

  • [18/06/28] p424660 於文章「Fetch value from Boo...」留言:
    p6GFHAIhjmtd奢侈品仿牌,保固說到做到,誠信經營,...
  • [13/12/19] 訪客 於文章「使用Vertex Buffer繪製基本幾...」留言:
    您好 謝謝您的教學 讓我受益良多!!...
  • [12/09/14] CMC 於文章「XNA Tutorial 新手簡易教學...」留言:
    好多很棒的資訊 感謝你:)...
  • [12/09/06] 常駐程式 於文章「XNA Font Convert (更新...」留言:
    404 not found ~~ T^T 這是個好...
  • [12/06/11] people A 於文章「3D Model 貼圖呈現 - 程式撰寫...」留言:
    載點失效了Q_Q...
  • [12/03/27] 123站著穿 於文章「XNA 3D遊戲介紹 AAM 戰棋 - ...」留言:
    請問可否看一下程式碼呢@@? 專題內容類似,不過目前有...
  • [12/02/22] 阿華 於文章「XNA 各國語言文字顯示!!...」留言:
    如果字沒有要畫很多的話, 可以用 http://msdn....
  • [12/02/14] mik 於文章「使用Render Target來拍攝場景...」留言:
    程式碼無法下載了QQ...
  • [11/10/21] 訪客 於文章「OptiX 2.1環境安裝與設定...」留言:
    您好 我想請問一下 全部灌好以後,真正在寫code的是用...
  • [11/05/25] 求救者 於文章「XNA 文章帖...」留言:
    我在使用自製的dll的時候 無加入參考 是因為dll檔案格式...

廣告聯播

我的蒐藏

BLOG觀察

Where from

Microsoft@MVP

Take Easy