原创 凸包ConvexHull的實現

效果如下: 代碼如下: using System.Collections; using System.Collections.Generic; using UnityEngine; public class CONVEXHULL

原创 用desmos畫一把大劍和一把武士刀

最近在複習初等數學,就用desmos來練手。 地址: https://www.desmos.com/calculator/wsek7q5da9 https://www.desmos.com/calculator/z2al26farm 效果

原创 消滅星星,消除星星 遊戲邏輯的實現

代碼地址: https://github.com/qq1054599715/destroy-stars--game-logic 效果如下:

原创 生成帶多個目的地(死路)的迷宮 算法 的實現

代碼地址: https://github.com/qq1054599715/Maze-With-End-points

原创 低多邊形風格的渲染(泊松分佈+泰森多邊形+KDTree)

項目地址: https://github.com/qq1054599715/Low-Polygon-Style 第一次把(泊松分佈,泰森多邊形,KDTree)這三種算法用在一起 雖然用了KDTree加速,但是渲染一張圖還是用時很久,第一張

原创 泊松分佈Possion Distribution 的實現

代碼地址: https://github.com/qq1054599715/Possion-Disc 效果如下:

原创 流場FlowFiled 的實現

流場的Shader實現 效果如下: 代碼如下: Shader "Unlit/FlowField" { Properties { _MainTex ("Texture", 2D) = "white" {}

原创 自治智能體的實現 一

自治智能體的三個特點: 自治智能體對環境的感知能力有限。 自治智能體需要處理來自外部環境的信息,來計算自身的具體行爲。 自治智能體沒有領導者。   1.實現轉向力,轉向力=所需速度-當前速度 效果如下: 代碼如下: using Sys

原创 KD Tree 功能的實現

實現過程中暫時指定了維度爲3 1.定義單個節點,單個節點包含一個3維座標表示位置,還有父節點,左子節點,右子節點: public class KdtNode { public Vector3 position; publ

原创 unity 反向動力學超精簡入門,實現一個繩子效果

第一步, 首先實現一個節點的尾端跟隨目標點。需要實現 畫線段來表示單個節點(起點,長度,角度,用gizmos實現畫線段很方便),讓該節點的尾端跟隨鼠標的位置。效果如下: 第二步,按着正向動力學的思路反着走。正向動力學是從根節點開始運算,

原创 unity ugui 與 shader 實現繪製個性的進度條,血條的模型

背景:策劃需要一個電流在電路上傳導的效果,電路很長很雜亂,而美術大哥嫌用spine做會增加內存消耗,作爲程序員,肯定就要站出來當他們的天使了。我當時看了一下效果圖,一張圖裏有非常雜亂的幾根線條,考慮用貝塞爾曲線臨摹路徑再作爲座標數組傳遞到

原创 二叉搜索樹(binary search tree) 的全部功能的實現

bst的結構,有一句口訣:左中右。 即當前節點爲中,比當前節點小的值作爲其子節點放在左邊,比當前節點大的值作爲其子節點放在其右邊。 bst添加數據的邏輯:從根節點開始判斷,比當前節點小,跳到其左邊繼續判斷,比當前節點大,跳到其右邊繼續判斷

原创 正向動力學 與 unity shader

第一步,實現畫線段,用線段表示單個節點。該線段能表示單個節點的屬性:起點,角度,長度,(額外加上寬度)。 效果如下:   代碼如下: Shader "Unlit/forwardKinetic" { Properties { _

原创 shader製作可循環的噪聲與FBM (Tiled **Noise/**Fbm)

雖然噪聲和Fbm可以實時計算出來,但是計算量大,可以將噪聲和Fbm作爲貼圖信息來使用,這個時候就要解決信息的不重複問題。 第一步,實現隨機,效果如下: 代碼如下: Shader "Unlit/testTiledNoise" {

原创 極座標與shader,學習筆記分享

1.花瓣: 代碼如下: Shader "Unlit/polar" { Properties { leafCount("leaf Count",Range(1,20)) = 5 bodyR