粒子系統(一):從零開始畫一顆樹

準備

  IDE:VisualStudio 2017html

  Language:VB.NET / TypeScriptgit

  圖形API:Win2Dgithub

  Github:[ UWP ] [ TypeScript ]算法

  本文將向你介紹一種粒子系統(Particle System)模擬植物的簡單方法。編程

第一節 移動

  粒子按照某種規則移動,且始終保留移動軌跡。3d

  定向移動htm

  粒子具備一個初始速度blog

  粒子漸變ip

  粒子的渲染半徑逐漸減少,渲染顏色逐漸變淺get

  方向偏移

  粒子始終朝着某個方向偏移

  隨機擾動

  粒子在任意方向上隨機受力

圖1-1 定向移動

圖1-2 漸變

圖1-3 轉向

圖1-4 擾動

第二節 分裂

  已經存在的粒子隨機分裂爲若干個新的粒子。

  方向偏移

  分裂時新粒子速度方向偏轉,移動軌跡將產生分叉

  粒子減速

  分裂時新粒子移動速度減少,移動軌跡會愈來愈短

圖2-1 分叉

圖2-2 減速

第三節 迭代

  如今,你能夠自由調節參數而後迭代啦!

  迭代深度

  儘量大的迭代深度

  顏色漸變

  生長和分裂時漸變顏色

  粒子貼圖

  粒子顏色對應貼圖指定位置的像素點 

圖3-1 茂密

圖3-2 珊瑚

圖3-3 地卜師

附錄

  Github:[ UWP ] [ JavaScript ]

  編程模擬天然(一):如何畫一顆靜態樹

  編程模擬天然(三):更好的靜態樹算法

  編程模擬天然(六):如何畫一顆動態樹

相關文章
相關標籤/搜索