【问题标题】:Unity erase parts of an imageunity擦除图像的一部分
【发布时间】:2015-09-18 06:04:05
【问题描述】:

美好的一天,我想知道如何实现类似于抽奖中的效果,您可以在其中刮擦灰色部分并在其下方显示一个数字。我想知道如何统一实现它,我不知道从哪里开始,在此先感谢。

这个想法是,我有 2 个重叠的对象,A 和 B,而当我点击 B 的一部分时,它将被删除并显示 A 的一部分,但 A 和 B 都是精灵图像

【问题讨论】:

  • 如果您决定将 A 和 B 都保留为精灵,您可能会采取的一种方法是在 B 被单击时使用像素颜色替换。因此,当您单击 B 时,光标周围的 B 像素将被着色为透明颜色(alpha = 0),从而显示下方的 A 部分。请查看this Unity question 了解有关实施的想法。
  • 谢谢会调查这个,我明白了:)
  • 如何获取游戏对象的纹理?
  • hmmm.. 我现在明白了,有你的参考。我认为,当我每次刷过 B 时,我都必须继续将旧精灵替换为新精灵,并将 alphas 更改为零。反正有没有我acn直接改sprite而不替换呢?
  • 是的 - 另一种方法是直接修改纹理。但是请注意,这将永久应用更改(即使在重新启动场景之后),因为它会更改文件本身。看看this Unity question 中的原始实现是如何进行的。

标签: graphics unity3d


【解决方案1】:

这与 Unity 本身并没有真正的关系。这更多地与您想要做的视觉表示的一般技术解决方案有关。

所以,让我们跳过 Unity 部分。

但即便如此,这个问题也很笼统,很难回答。有很多方法可以实现这一点,具体取决于您想要的结果。

您可以应用一个四边形对象,在您拥有的任何数字框顶部使用灰色纹理,然后使用着色器在“刮擦”时显示数字。或者您可以在单击它时删除灰色方块(不同的行为)。或者,您可以在“刮擦”盒子时采用老式方法并替换像素。

只提几个想法。

但是,这个问题仍然非常笼统,很难回答,因为它涉及一个普遍的想法,而不是一个具体的问题。

【讨论】:

  • 美好的一天,我的想法是,我有 2 个重叠的对象,A 和 B,而当我单击 B 的一部分时,它将被删除并显示 A 的一部分,A 和 B虽然是精灵图像
【解决方案2】:

了解如何构建战争迷雾着色器。我会通过使用两个单独的相机渲染 A 和 B 来实现这一点,然后当你刮掉它时,它会在刮痕区域显示 B。

【讨论】:

  • 嗯,这就是我的想法,我只是不知道从哪里开始,使用什么等等。
  • 你会推荐移动设备的静态和动态战争迷雾吗?
  • 基于动态着色器。搜索 Unity 战争迷雾,有一个很好的设置教程。
猜你喜欢
  • 2016-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多