我想为我拥有的游戏制作一个想法的原型。这个游戏的想法是玩家将挖掘地面,创造隧道并寻找宝藏。
我正在寻找创建“蠕虫风格”的地形,为在隧道周围徘徊和跳跃的玩家提供碰撞检测。在这些图片中可以看到这种类型的动态地形的示例。
我的问题是如何实现这种可破坏地形的最佳方式?我正在使用 XNA 游戏工作室。
Riemer 对他在 XNA 中开发的游戏有类似的方法,炮弹会导致地形被“摧毁”,并且之前在所述地形上的任何道具都会相应地移动。
它需要根据您的需要进行重构和改进,但这是一个开始。
Riemer 也有很多其他方面的教程可供选择。
http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series2D/Adding_craters.php
有两种可能性,一种是可行的,但这取决于 XNA 实现的难易程度:
这里有两个示例,它们相互构建,说明如何在 XNA 4 中使用像素着色器执行此操作。两个示例都包含源代码。
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 上完成。