Let's create XNA Game!
現在要跟大家介紹甚麼是HeightMap,為什麼會想要介紹這個呢?最近在Trace XNA Creator Club的專案,剛好看到這個專案檔案...範例剛開始不知道這個是甚麼的人,可能會覺得很奇怪,不知道專案幹嘛取成這樣的名字...只是看到一顆球在地圖上面移動而已,沒有甚麼太大的差別仔細看的話你就會發現,事實上這一張地圖,就是用一張黑白灰階的圖片製作而成的就是這張圖片,而他原始的3D樣子為經由上面的3D模型,轉換成2D的圖片...他的做法一般都是制定一個平面,重那個平面往下垂直計算那個點的距離,再把他畫分成255個階級,看他屬於哪個數值...這樣子做法,看起來就是深度,越深數值越白,越上面越黑,看你是怎麼設定的將每一個PIXEL都去做計算,在將灰階值,儲存在一張BITMAP上面的點上述模型,全部做完,就變成上面那張2D圖片...再來就是如何將地圖恢復原狀呢???你現在只知道兩個資訊1. 每個PIXEL的位置2. 灰階值而事實上呢,只要需要以上數據就夠恢復原來地圖了從上面那張圖片,就大概可以看出來了吧所謂的PIXEL位置,也就是XZ平面上面的座標,而高度呢就是灰階值...以上就是做簡短的介紹,沒有說的特別深入,當然恢復地圖的方式有很多種,你甚至還可以變換出新的地圖,看你怎麼設定"高度"的取樣值...在來說一說這樣做有甚麼好處???你們覺得一個模型FBX或是X FILE,他們的檔案大小,跟一張2D圖片比較,誰會比較大?當然是3D圖片囉~~再來,經由CONTENT PIPELINE以後3D模型跟2D圖片,誰會比較大?當然是3D圖片所以很多遊戲設計,都用Height Map的方式儲存地圖像是Myth、Battlefield 2等眾多遊戲用這種方式製作,當然隨著儲存裝置日異漸大,省那些空間,可能對於一些人來說根本沒有影響,所以還是很多人用FBX或是X建立地圖。希望以上講解,大家能夠對Height Map有初步的了解圖片轉至www.povray.orgwiki - Heightmap
DotBlogs Tags: XNA posted on 2008/12/5 21:36 | 我要推薦 | 閱讀數 : 1090 | 分類[ XNA ] 訂閱
救命幫幫忙, 為啥我自己做了一個, 但是出現
Error loading "terrain". File contains Microsoft.Xna.Framework.Graphics.Texture2D but trying to load as Microsoft.Xna.Framework.Graphics.Model.
沒辦法在model上使用2D圖檔呢?!?!
HeightmapCollisionPipeline專案我也加了,
參考我也加了, 是不是我什麼東西沒加?!!?
我的圖片是bitmap沒錯, content的參考內也加了HeightmapCollisionPipeline, 但是他就是沒有
HEIGHTMAP的PIPELINE選項, 我用的是網路上下載的那個專案都沒動過!!
http://cid-0f88d882e3bd268e.skydrive.live.com/browse.aspx/.Public
有個4.zip, 不知道這樣可不可以下載,
我是下載你提供的網站檔案後, 因為他是2005版,
我電腦沒有05版, 我直接轉成VS 2008
感恩
哈哈, 可以了, 我知道怎麼用了!!
感謝感謝!!!
Hi, 再問一個問題, 我可以用程式碼去設定我要使用哪種
CONTENT PROCESSOR嗎?!
Copyright © 獃獃