【问题标题】:how i can work programaticly with spell effect in game [closed]我如何在游戏中以编程方式使用拼写效果[关闭]
【发布时间】:2014-01-29 02:04:03
【问题描述】:

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

我的效果看起来像this spell effect

我想知道如何改变咒语的范围。 就像在远处改变颜色 或者当你运行一些时,这个效果会变成透明的,10 秒后会变淡


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

如何根据武器的大小更改动画

我不知道我必须如何实现它

提前致谢

[由 Spektre 编辑] 根据 cmets 我会将问题文本更改为如下内容:

  • 我需要/想要为游戏或其他任何东西编写一个法术效果可视化...
  • 执行此操作的常用/常用方法是什么(算法、图形技术)
  • 想要实现冰/火/???效果
  • 以射线/波/场/锥体的形式...
  • 理想情况下是通过一个可配置的效果例程(我猜这个)
  • 还有这些效果的确切名称是什么,所以我可以自己搜索它们
  • 我要使用 Unity3D 环境

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

【问题讨论】:

  • 你的问题有点含糊(我认为这就是投票失败的原因)请稍微编辑你的问题添加一些基本法术效果的代码,这样我们就可以看到它是如何工作的(有几十个创建此类效果的方法,因此我们必须查看您实际使用的方法),以便有人可以帮助您解决问题。同时发布使用纹理的图像,以便我们可以查看拼写颜色是由代码还是图像或两者完成......
  • @spektre 你能解释一下我们有多少种方法可以对游戏实现效果,所以我通过关键字在互联网上搜索?
  • 有无限的可能性,所以没有。您的问题表明您具有工作效果并希望将其更改为自定义大小/颜色/持续时间......所以对于初学者来说,您应该发布该效果的代码。如果你没有,那么重新表述你正在寻找算法来实现这种图形效果的问题......并发布你已经做过的事情以及它有什么问题
  • @Spektre ya 我没有办法,这是我的答案------一个是 2D 中的冰效果,另一个是 2D 对象的火焰 - 另一个是热空气效果 - 我没有他们的关键字,还有更多我无法解释的效果,我还不够 ++所以我不能在这里添加图片

标签: animation graphics 3d unity3d game-engine


【解决方案1】:

这有很多方法。我不是该领域的专家,也不是 Unity3D 用户,所以我坚持基础知识:

  1. 粒子系统

    这是一个可视化粒子(许多小的移动物体)的引擎。它用于许多效果,例如:火箭油门、火、照明、改变辉光等等。诀窍是使用混合,所以每个粒子通常是半透明的球。外面更透明,里面更结实。当您将更多粒子靠近在一起时,它们会混合成所需的连续效果。

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

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

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

  2. 纹理动画

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

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

【讨论】:

  • 天哪,这正是我现在需要的,我可以在这个领域搜索高级的东西,谢谢你——为什么我不能问更多问题?
  • 你可以,但是当你问一个模糊的答案时,哪个答案可能会涵盖整个图书馆而不是一个糟糕的答案......尝试确切地询问具体的事情你需要什么......你可以编辑和随时添加新的子问题……但请务必添加评论,以便评论列表中的用户收到更改通知
  • 禁止提问是什么意思? ...您应该能够随时提出新问题。如果我没记错的话,您只是无法创建新的评论线程,但在有人添加评论后您可以继续
  • 您的问题可能会被搁置/关闭或删除,然后您被禁止对它做一些事情,直到它被投票重新打开,但您的问题仍然有效,所以情况并非如此
  • 但我被禁止了,不能向我的 acc 提出任何问题,它的可能性如何? (当我点击提出问题时,它会说“抱歉,我们不再接受来自此帐户的问题。请参阅帮助中心了解更多信息。”)所以我必须做的 ----- 和 Spektre 我们无法交谈聊天表单系统对您来说没问题吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-11
  • 1970-01-01
  • 2013-07-07
  • 2011-07-11
  • 2010-09-09
  • 2012-09-08
相关资源
最近更新 更多