我如何以编程方式在游戏中使用法术效果

时间:2014-01-29 02:04:03

标签: animation graphics 3d unity3d game-engine

我如何以游戏中的法术效果进行编程

我的效果看起来像this spell effect

我想知道如何改变法术的咒语。 喜欢改变距离的颜色 或者当你运行一些时,这种效果变为透明,10秒后变为淡出


look at this spell and wepon in this pic 就像你有一个小的wepon并且你在它上面添加一个动画效果(如火或冰效果)

如何根据wepon的大小更改动画

我不知道如何实施

提前致谢

[Spektre编辑]根据评论,我会将问题文本更改为以下内容:

  • 我需要/想要为游戏或其他任何方式编写拼写效果可视化......
  • 执行此操作的常用/常用方法是什么(算法,图形技术)
  • 想要实施Ice / Fire / ???效果
  • 以光线/波浪/野外/视锥细胞的形式......
  • 理想情况下通过一个可配置的效果例程(我想这个)
  • 还有一些这些效果的确切名称,所以我可以自己搜索一下
  • 我想使用Unity3D环境

这就是我想知道如何制作动态法术效果的方式

1 个答案:

答案 0 :(得分:1)

有很多方法可以解决这个问题。我不是该领域的专家而不是 Unity3D 用户,所以我坚持基础:

  1. 粒子系统

    它是一个可视化粒子(许多小的移动物体)的引擎。它用于许多效果,如:火箭油门,火焰,照明,变化发光等等。诀窍是使用混合,因此每个粒子通常是半透明球。外侧更透明,内侧更坚固。当您将更多粒子拉近时,它们会混合到所需的连续效果。

    这可以通过单个纹理QUADTRIANGLE来完成。纹理可以是具有alpha通道编码透明度的白色,因此可以在不改变纹理的情况下对效果的颜色进行编码。颜色,大小和运动模式可以彼此不同,也可以随时间变化。这三个参数定义了效果,例如您想要从施法者投射电射线到目标,因此运动模式为LINE。现在用一些随机数稍微扭曲那条线,使LINE成为POLYLINE,在POLYLINE的顶点,你有时可以随机方向释放一个粒子,持续时间有限,所以它会就像一些火花(不要忘记及时降低它们的大小,以便它们消散)。此外,您必须沿着POLYLINE试验主粒子流的速度和大小/颜色,以使其看起来正确。有些效果需要将几个不同的粒子流组合在一起。

    搜索关键字:粒子系统,RGBA纹理,混合,插值

    partickle system effec

    此图片来自问题中发布的链接。这是两个粒子系统的一个很好的例子。黄色直LINE粒子流和绿色POLYLINE粒子流。此外,主流周围还有一些绿色火花。

  2. 纹理动画

    你可以在一个纹理数组中有一个小的循环电影(逐个图像),这样你就可以在一个平面上绘制纹理(通常是单QUADTRIANGLE)并在一段时间后改变纹理到下一个,通常在最后一次从第一次开始。您还可以使用BLENDSTENCIL技术仅绘制效果区域。如果纹理是白色(无色),则可以通过代码调制颜色。这主要用于爆炸,火灾......

    texplosion texture movie

    这是简单的爆炸电影示例它不是循环动画,所以在最后一帧后效果停止(爆炸有限持续时间)