Crayon Physics Deluxe是最近问世的一款商业游戏。观看主链接上的视频,以了解我在说什么。

它使您可以绘制形状并使它们以适当的物理方式使用react。目标是使用构建的设备和形状将球移到屏幕上的星星。

虽然该游戏基本上是流行的Box2D Physics Engine的包装,但它确实具有一个我很好奇如何实现的功能。

它的绘图非常像蜡笔。您会看到蜡笔的纹理,并且随着它的绘制,其厚度和暗度都发生变化,就像实际蜡笔绘制的样子一样。

graphics - 您如何画像蜡笔画?-LMLPHP
(来源:kloonigames.com)
graphics - 您如何画像蜡笔画?-LMLPHP
(来源:kloonigames.com)

背景纹理可以免费获得here

将使用什么样的算法以类似于蜡笔的方式渲染这些线条?它是简单的纹理,具有随机的厚度和暗度吗?还是发生了更多事情?

最佳答案

我记得(很久以前)阅读了有关这样做的算法的简短描述:

使用

  • 作为线的一般形式,您可以将线段在随机点上一分为二,然后将其稍微远离其位置移动(该变化取决于点到四肢的距离)。递归/随机重复。 这样,您的行就不是“完美的”(直线)
  • 对于给定的段,您可以通过扩展一个或另一个末端(或两个末端)来稍微“超调”一点。 这样,您就不会拥有完美的关节。如果我没记错的话,最好的办法就是扩展原始肢体,但是如果想明显地分割它们,可以对子区段进行此操作。
  • 用图案/印章
  • 画线
  • 还存在(已经提到过)以不同的开始和结束不透明度(模仿绘图结束时释放笔的趋势)进行绘图的可能性
  • 您可以在行的开头和结尾使用不同的大小作为印章(也可以模仿绘图末尾释放笔的趋势)。为了达到相同的效果,您还可以绘制线条两次,其中一个末端的变化很小(在这种情况下,请注意Alpha,因为线条会绘制两次)
  • 最后,对于给定的行,您可以多次进行先前的修改(即,绘制两次行,并使用不同的变体):如果人犯了一些错误,往往会重复行。

  • 问候

    10-06 09:32