2011-11-24 40 views
3

我正在努力使圖像的一部分在視覺上看起來像「晃動」。扭曲一系列像素以使圖像的某些部分顯得「晃動」

如果你可以想象抖動一盤果凍,它的流體運動回到第四位(三維)是我想達到的。

下面是一個例子:http://www.jigglystuff.com/

這裏有一個GIF演示所需的運動:enter image description here

我在想,幾件事情我必須做的是:

當的部分圖像被光標拖動...

  • 向右移動,光標右側的像素將會縮合/重疊,像素左邊的ls會展開,看起來爲彎曲右邊
  • 向左移動,移動光標左邊的像素將會聚集/重疊,右邊的像素會展開,出現彎曲向左
  • 相同的邏輯爲垂直方向

我不知道如何去了解這一點 - 任何的例子,擴展我的邏輯,或資源將不勝感激。

+2

也許有控制的質感,你可以嘗試[WarpFilter](http://www.jhlabs.com/ip/filters/WarpFilter.html)或[FieldWarpFilter](http://www.jhlabs.com/ip/filters/FieldWarpFilter.html) JH Labs的Filter.jar? – ecle

+0

看起來像一個好開始! – Atticus

+0

我如何獲得下載'filter.jar' – Atticus

回答

1

要實現在您的示例中創建微動效果的「縮放」,請使用控制貼圖和合適的貼圖函數(例如,相對於您定義的錨點的指數)。要隔離要晃動的部件,請使用常規乘法遮罩步驟。

有一個使用控制紋理的位移示例here。將它與你自己的縮放過濾器或者評論中鏈接的其中一個結合起來,你應該很好去!

因此,要重申:

  1. 創建基於你的鼠標位置
  2. 掩蓋你的形象
  3. 應用您的選擇和設計的矢量場算法
+0

什麼是控制紋理? –

+0

用作參數的紋理。也就是說,您可以對控制紋理進行採樣以獲取每個像素的參數值。在這種情況下,位移圖的控制紋理包含RGB通道中的方向矢量,以及alpha通道中的強度值。 – appas