2009-02-03 61 views
39

Crayon Physics Deluxe是最近推出的一款商業遊戲。觀看主要鏈接上的視頻,瞭解我正在談論的內容。你如何畫蠟筆?

它允許您繪製形狀並讓它們與適當的物理反應。目標是使用您製作的裝置和形狀將球移動到屏幕上。

雖然遊戲基本上是流行的Box2D Physics Engine的包裝,但它有一個特點,我很好奇它是如何實現的。

它的繪畫看起來很像很像蠟筆小新。你可以看到蠟筆的紋理,當它畫出來時,就像實際的蠟筆畫看起來一樣,它的厚度和黑度各不相同。

alt text http://www.kloonigames.com/crayon/screenshots/crayon_small_01.jpgalt text http://www.kloonigames.com/crayon/screenshots/crayon_small_02.jpg

的背景紋理是免費提供的here

alt text http://img267.imageshack.us/img267/1488/crayonmh7.png
關閉了蠟筆畫的 - 注意變黑暗

將使用什麼樣的算法來呈現,看起來像一個蠟筆小新的方式這些行?這是一個簡單的紋理應用隨機的厚度和黑暗或有更多的事情?

+0

你的最後一個圖像鏈接似乎已經打破。如果您仍然有原始圖像,請將其重新上傳到stack.imgur,或者編輯您的問題以使其在沒有圖像的情況下工作。謝謝。 – 2015-07-27 10:43:36

回答

21

我記得讀(很久以前)的算法的簡短說明這樣做的:對於該行的一般形式

  • ,你一個隨機點一分爲二的區段,以及將該點從其位置略微移開(取決於該點到四肢的距離的變化)。重複遞歸/隨機重複。 這樣,你行不是給定段可以「過沖」一點點「完美」(直線)

  • ,通過擴展一個肢體或其他(或兩者)。 這樣,你就沒有完美的關節。如果我記得不錯,最好的辦法是延長原來的肢體,但是如果你想明顯地將它們分開,你可以爲子細分做到這一點。

  • 繪製圖案/印模的線

  • 也有(已經提到過)的可能性具有不同的開始和結束的不透明度進行拉伸(以模仿釋放筆在圖中的端部的傾向)

  • 您可以在該行的開頭和結尾使用不同大小的印章(也可以模擬在繪圖結束時釋放筆的趨勢)。對於相同的效果,您也可以畫兩條線,其中一個端點的變化很小(在這種情況下請小心alpha,因爲線將被繪製兩次)

  • 最後,對於給定的行,你可以做幾次以前的修改(即畫兩條線,有不同的變化):如果他們犯了一些錯誤,人傾向於重複一條線。

問候

7

如果你吹的圖像了,你可以看到一個重複的郵票圖案..有可能是一個小品種,它使用,因爲它從一個移動到B - 甚至可以旋轉他們..

的搖擺不定線不可能很難完成。劃分爲一堆隨機段,從直接路線稍微偏離位置並繪製樣條線。

4

您可以根據速度制定黑暗。這只是測量在這個幀和最後一幀之間光標經過的距離(記得畢達哥拉斯定理),然後當你在屏幕上繪製該線段時,根據你測量的距離調整alpha(不透明度)。

7

這是一個使用了大量的數學模擬蠟的紙張上使用的摩擦模型沉積paper。但我認爲你最好的選擇是使用重複模式,如另一位讀者所提及的,並根據壓力改變不透明度。

對於不完美的畫線部分,我有一個blog entry描述如何使用貝塞爾曲線。

+0

您的博客文章鏈接似乎已經死亡。 – 2013-11-13 21:39:00

0

我相信最簡單的方法就是使用隨機黑度(可能有些梯度)的紋理,並隨機設置大小。

4

有一篇名爲Mimicking Hand Drawn Pencil Lines的論文,涵蓋了你之後的一些內容。雖然它沒有提供非常詳細的算法視圖,但作者確實涵蓋了他們使用的步驟的基礎知識。

本文包含有關它們如何生成線條的高級描述,以及它們如何生成線條紋理,並獲得與所需結果類似的結果。

3

這篇關於rendering chart series to look like XKCD comics的文章有一個干擾可能相關行的算法。它不包括計算蠟筆畫線條的紋理,但它確實提供了一種以類似人類的方式使直線看起來不完美的方法。

輸出示例:

enter image description here