【问题标题】:Water effect "on android" for a 2D game. Where to start?用于 2D 游戏的“在 android 上”的水效果。从哪儿开始?
【发布时间】:2012-01-29 22:33:45
【问题描述】:

我想在我的 android 2D 游戏中添加一些水效果,以给人一种物体在水下并且水越来越高的印象。有没有办法以编程方式做到这一点。可能有人可以给我一些代码建议,或者可以说我在哪里可以找到开始的东西。我喜欢以编程方式做事。有一次我看到一个用代码人工完成的火焰效果。在水的情况下也可以吗?

【问题讨论】:

  • 姐妹网站上可能有用的线程:gamedev.stackexchange.com/questions/8727/…。我个人希望为此使用 GL 着色器。
  • 认为您需要告诉我们的最相关的事情是您将使用什么技术:Android 的 GL 规范之一?或者可能是 android 自己的 2D 图形技术?
  • 您是在寻找“水中的反射”效果,还是更多的“通过水的扭曲/衍射观察”,或者只是“一些蓝色的水状物质将其背后的东西着色”?所有这些都可以相当快地实时完成……
  • 具体一点:你指的是哪种水效果?水位上升,包括顶部的镜面效果?或“屏幕”上的水滴……
  • 对不起..可能我想使用我的算法没有 GL 库.. 2D 游戏的效果应该很简单。我想要失真/衍射和色调变化。视角是横向的。所以我可以看到在水中游泳的鱼和其他东西。

标签: android game-physics 2d-games


【解决方案1】:

您将要为水效果编写一个 gl 着色器。

步骤:

  • 渲染场景以渲染目标(纹理)
  • 将着色器应用于渲染目标

在 2d 中编写水型着色器有很多不同的方法。搜索最适合您需求的技术。

警告:着色器仅适用于具有可编程管道的设备(支持 OpenGL ES 2.0+ 的设备

【讨论】:

  • 好吧..并且不使用 OpenGL?这可能吗?
  • 是的,可以在软件中制作任何这些 2d 效果,但它很可能不会像使用着色器那样快。基本上,您必须找到一种算法来使图像变形并直接操纵像素。看看这个以获得一个想法(Android Pixel Buffer)developer.android.com/reference/android/graphics/Bitmap.html
  • 请举例
猜你喜欢
  • 1970-01-01
  • 2014-12-14
  • 1970-01-01
  • 1970-01-01
  • 2020-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多