我想为我的游戏制作一个想法的原型。这个游戏的想法是玩家将挖掘地面,创建隧道和寻找宝藏。
我正在寻找创建'蠕虫风格'的地形,通过碰撞检测让玩家在隧道中游荡和跳跃。在这些图片中可以看到这种类型的动态地形的例子。
Example 1 http://img301.imageshack.us/img301/1675/30184730wd6.png
我的问题是如何实现这种类型的可破坏地形的最佳方法?我正在使用XNA游戏工作室。
答案 0 :(得分:34)
this thread底部有一些很好的代码。此外,this是关于实现可破坏地形的一个很好的分步教程。
编辑 - 第二个教程的原始链接已被破坏,因此我已链接到其存档版本。
答案 1 :(得分:7)
Riemer对他在XNA开发的游戏采用了类似的方法,炮弹导致地形“被破坏”,之前在所述地形上的任何道具都会相应移动。
它需要根据您的需求进行重构和改进,但这是一个开始。
Riemer也有很多其他方面的教程选择。
http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series2D/Adding_craters.php
答案 2 :(得分:4)
有两个可能,一个工作,但它取决于XNA实施的容易程度:
答案 3 :(得分:1)
以下两个示例相互构建了如何使用XNA 4中的像素着色器执行此操作。两个示例都包含了sourecode。
http://www.syntaxwarriors.com/2012/xna-alpha-mapping-with-pixel-shaders/
http://www.syntaxwarriors.com/2012/xna-alpha-mapping-with-pixel-shader-and-rendertarget2d/
使用像素着色器执行此操作非常快,因为所有繁重工作都在gpu上完成。