我如何以游戏中的法术效果进行编程
我的效果看起来像this spell effect
我想知道如何改变法术的咒语。 喜欢改变距离的颜色 或者当你运行一些时,这种效果变为透明,10秒后变为淡出
或 look at this spell and wepon in this pic 就像你有一个小的wepon并且你在它上面添加一个动画效果(如火或冰效果)
如何根据wepon的大小更改动画
我不知道如何实施
提前致谢
[Spektre编辑]根据评论,我会将问题文本更改为以下内容:
这就是我想知道如何制作动态法术效果的方式
答案 0 :(得分:1)
有很多方法可以解决这个问题。我不是该领域的专家而不是 Unity3D 用户,所以我坚持基础:
粒子系统
它是一个可视化粒子(许多小的移动物体)的引擎。它用于许多效果,如:火箭油门,火焰,照明,变化发光等等。诀窍是使用混合,因此每个粒子通常是半透明球。外侧更透明,内侧更坚固。当您将更多粒子拉近时,它们会混合到所需的连续效果。
这可以通过单个纹理QUAD
或TRIANGLE
来完成。纹理可以是具有alpha通道编码透明度的白色,因此可以在不改变纹理的情况下对效果的颜色进行编码。颜色,大小和运动模式可以彼此不同,也可以随时间变化。这三个参数定义了效果,例如您想要从施法者投射电射线到目标,因此运动模式为LINE
。现在用一些随机数稍微扭曲那条线,使LINE
成为POLYLINE
,在POLYLINE
的顶点,你有时可以随机方向释放一个粒子,持续时间有限,所以它会就像一些火花(不要忘记及时降低它们的大小,以便它们消散)。此外,您必须沿着POLYLINE
试验主粒子流的速度和大小/颜色,以使其看起来正确。有些效果需要将几个不同的粒子流组合在一起。
搜索关键字:粒子系统,RGBA纹理,混合,插值
此图片来自问题中发布的链接。这是两个粒子系统的一个很好的例子。黄色直LINE
粒子流和绿色POLYLINE
粒子流。此外,主流周围还有一些绿色火花。
纹理动画
你可以在一个纹理数组中有一个小的循环电影(逐个图像),这样你就可以在一个平面上绘制纹理(通常是单QUAD
或TRIANGLE
)并在一段时间后改变纹理到下一个,通常在最后一次从第一次开始。您还可以使用BLEND
或STENCIL
技术仅绘制效果区域。如果纹理是白色(无色),则可以通过代码调制颜色。这主要用于爆炸,火灾......
这是简单的爆炸电影示例它不是循环动画,所以在最后一帧后效果停止(爆炸有限持续时间)