0
A
回答
2
我想你是在談論一個heightmap這是你PNG,然後轉換爲3D三角形網格。您需要使用網格中的信息(或PNG顏色值)來計算應放置角色的當前高度。
如果這是一個飛行角色,你在這裏完成的很多事情,但在你的情況下,你需要計算角色正站在的當前三角形的法向量。使用兩個三角矢量(V2 - V1)x(V3 - V1)的叉積很容易。這也應該是你的角色角色。你也許可以通過包含來自周圍小丑的法線來平均這個向量。
順便說一句,當你有三角形的法線時,你也可以在地面上應用一些基本的陰影。
補充:OP變化問題是一個二維的問題。上述方法仍然有效,但在2D中更容易。
使用高度值不是作爲三角形,而是作爲直線(輪廓)並計算當前直線的法線。也就是說,在當前高度值和下一個高度值之間創建一個向量v。那麼該矢量的法線是n = < -v.y,v.x>。用它作爲角色的角度。
0
你需要的是PNG數據轉換成3-d表示映射函數...這個映射函數可以是簡單的,如簡單地在PNG解釋灰度值的高度或通過人類的指導,或者它可能是複雜的,就像在高級計算機視覺算法中使用的陰影檢測一樣。無論哪種情況,您都會根據通過映射功能收集的數據來移動角色。
0
在C++中,我會建議尋找一種支持更多平面地形的3D遊戲引擎。
你可以從this list
這當然,如果你不想從頭開始,在這種情況下,你需要首先尋找算法。
編輯: 既然是遊戲而不是2d的地形,如果你想讓你的環境脫離圖像,那麼你需要花費大量的時間在edge-detection。
相關問題
- 1. Java中的平坦地形生成
- 2. 地勢平坦,3個JS
- 3. 尋找算法來生成平坦的2D地圖
- 4. 走在不平坦的地形上,腳腿髖關節轉動
- 5. 需要從平坦一個
- 6. CCSprite跟隨隨機路徑? (Cocos 2D)
- 7. 是否可以在Java Monkey Engine中創建一個平坦的地形?
- 8. Javascript使一個組件動態地跟隨另一個
- 9. 如何使一個linq查詢像一個平坦的表
- 10. 閱讀平坦的文件與不平坦的沒有。列
- 11. 使線跟隨形狀的輪廓
- 12. 使不平坦的表格佈局
- 13. 相機跟隨玩家問題(2d)
- 14. as3中的相機跟隨字符
- 15. 用於隨機地形生成的Java 2D Perlin噪聲
- 16. 如何使SKSpriteNode跟隨另一個SKSpriteNode
- 17. 使pictureBox跟隨另一個(Enemie AI)
- 18. 如何使這個陣列平坦?
- 19. ValueError異常:輸入「平坦」的形狀不完全定義
- 20. 如何加密一個字符串,當沒有跟隨另一個sed
- 21. 2d平臺遊戲機java中的地形生成
- 22. 運算符後面跟一個字符
- 23. 跟隨一個像猴子一樣的球字符開球遊戲
- 24. Java中的多平臺2D圖形
- 25. 懸停事件不跟隨鼠標跟一個div
- 26. 使用種子生成Java 2D地形
- 27. 從詞語的2D陣列選擇一個隨機字
- 28. 如何在Box2d背景上設置不平坦的地面?
- 29. 2d地形實時生成
- 30. 打印共'du'爲一個文件類型,目錄不平坦
你是什麼意思的2D?你的地形2D就像超級馬里奧一樣,還是2D圖像,還是3D戰場中的地形3D? – 2010-02-24 13:19:22