2013-03-07 124 views
0

我正在寻找一种方法在XNA 4.0中创建3D光束效果。目前,我正在投射光线并绘制它,所以我拥有必需品,但我只需要图形。XNA 4.0中的3D Beam

我正在寻找类似的东西这是什么人在问:

https://gamedev.stackexchange.com/questions/46912/how-to-make-a-3d-beam-effect-with-xna-4-0

我有看链接,被张贴作为回答这个问题:

http://www.catalinzima.com/samples/lightning-sample/

但是,实现仅适用于2D,我需要以3D渲染。我试图在我的项目中使用它,但纹理有时不能在某些角度渲染。我看过广告牌,但我认为,因为光束的源头靠近相机,并且目的地很远,所以纹理会拉长很多。至于上面的例子使用广告牌,我不知道从哪里开始或如何工作。

我对我应该如何去做这件事感到有点困惑,如果有人能给我一些建议,那将会很棒。

回答

1

我在3D空间中做了一个激光束,通过广告牌的2D纹理,使纹理的正常总是共面于从枪到另一个朝着激光枪指向的方向的照相机&。这很容易。我做了它是怎么做一个简短的视频:

http://www.screencast.com/t/LDzD2NXOZ

1

我要解决这个问题的方法是从一束或多束圆柱体中,通过一系列拉伸的“豹纹”样式纹理(在射束射击期间旋转/移动)渲染一束或多束气泡,给它一个柔软的边缘。

如何实现所有这一切取决于是否计划使用High Def或Reach配置文件。

+0

我使用的是高画质的个人资料,是指用于PC和我也是用炙框架。是否有可能拉伸缸?使用XNA/Sunburn框架还是以其他方式应用模糊? – JessMcintosh 2013-03-07 23:45:22

+0

如果您不是以编程方式构造圆柱体,并且因此不能确定圆柱体长度(即,您正在使用网格),那么拉伸网格最简单的方法是在渲染时缩放它。 (即使用ScaleTransform)我还没有检查过,但如果有人已经为Sunburn引擎编写了模糊组件,它并不会让我感到惊讶。 – lzcd 2013-03-07 23:49:57

+0

非常感谢您的帮助。我会尝试以编程方式构建它们,并了解我如何继续。 – JessMcintosh 2013-03-07 23:54:39