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


准備

  IDE:VisualStudio 2017

  Language:VB.NET / TypeScript

  圖形API:Win2D

  Github:[ UWP ] [ TypeScript ]

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

第一節 移動

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

  定向移動

  粒子具有一個初始速度

  粒子漸變

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

  方向偏移

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

  隨機擾動

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

圖1-1 定向移動

圖1-2 漸變

圖1-3 轉向

圖1-4 擾動

第二節 分裂

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

  方向偏移

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

  粒子減速

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

圖2-1 分叉

圖2-2 減速

第三節 迭代

  現在,你可以自由調節參數然后迭代啦!

  迭代深度

  盡可能大的迭代深度

  顏色漸變

  生長和分裂時漸變顏色

  粒子貼圖

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

圖3-1 茂密

圖3-2 珊瑚

圖3-3 地卜師

附錄

  Github:[ UWP ] [ JavaScript ]

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

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM