原创 [Unity3D]Shader編程之貼圖切換

本shader實現基於世界座標的貼圖置換效果。 效果如下: 設置面板如下: 可在面板上設置切換方向,與切換對象,及其切換速度。 shader實現如下: Shader "XM/Effect/SwapTexture" { Pr

原创 [UE4]UMG CheckBox Group實現

學習UE4的時候,發現UMG居然沒有CheckBoxGroup,CheckBox分組需要自己管理。相比於Unity3D來說,UE4在UI方面確實欠缺很多。無奈之下只好自己實現一個。 實現效果如下: 編輯界面如下: 代碼實現如下:

原创 [C++]類中的靜態變量必須初始化

有一段時間不用c++了,突然用起來寫了個類,編譯居然報錯了,怎麼看都看不出問題出來=。=,不過最終還是找到原因所在了。 類中的靜態變量必須初始化 錯誤代碼如下: # include <iostream> using namespace s

原创 [Unity3D]動態生成平面網格

在編寫幾何着色器的時候發現默認的Plane無法滿足需求,並且頂點順序未知,於是便寫了一個網格生成代碼,便於生成指定大小的Plane,且頂點順序可控。 效果如下: 一個單元格由4個頂點,兩個三角面組成。 四個頂點如下圖 則生成面的頂點順

原创 [Unity3D]編輯器擴展之數組或List顯示

  之前一直使用循環的方式創建,現在找到了一種更簡便的方法,效果和Inspector面板上是一模一樣的。省事了ヾ(Ő∀Ő๑)ノ太好惹! 效果如下: 源碼如下: using System.Collections.Generic; usi

原创 [MYSQL]存儲過程使用範例

存儲過程封裝了一系列的數據庫操作,這樣既方便了程序中調用,也加快了數據庫訪問速度。同時一些簡單的邏輯修改也不用直接修改程序,直接修改存儲過程即可。 CREATE DEFINER=`admin`@`%` PROCEDURE `addrank

原创 [Unity3D]Shader編程之動態屏幕遮罩

屏幕可視範圍跟隨目標物體移動,可修改可視範圍大小,邊緣漸變大小、以及遮罩顏色,支持最高物體數量可在Shader中修改,當前版本支持最多9個物體。 效果圖如下: 控制面板如下: Shader代碼如下: Shader "Peter/D

原创 [Unity3D]ResourceManager類及其編輯器擴展

爲了方便程序中動態加載resources目錄中物體,編寫了一個ResourceManager的單例類,使用時需要將其附加到一個遊戲物體上。 可以實現對物體的分類、重命名、異步加載。 可用方法如下: //通過名字和類型加載,類型爲0時,不判

原创 [C++]MYSQL 數據庫操作封裝及連接池實現

Database類爲單例類、線程安全、實現了連接池,並且封裝所需要的操作。 本代碼在Ubuntu下測試可用,使用Mysql connector c++連接數據庫,並啓用C++11特性。 相關依賴庫下載地址:https://dev.mysq

原创 [Unity3D]使用GL實現圖案解鎖功能

  聊天是時候看到有人問如何在Unity3D的UGUI中實現圖案解鎖的功能,然後便試了一下。剛開始想用LineRender來實現,但又一想是要在UGUI中,然後就用了另外一種方法,即使用GL類來實現。   GL相關介紹及官方文檔:htt

原创 [Unity3D]通用對象池類ResourcePool<T>

通用對象池,使用時會將常用的對象至於池頂,如果設置了池的大小,超出池的未經常使用的對象將被移除,並且執行回調,可在回調中對移除對象進行其他操作。 可對壓入的對象進行命名,通過名字來進行查找和刪除。 源碼 using System.Col

原创 [Algorithm]隨機抖動整數拆分

測試效果: 當number=101、size=6、wave=3時,可得到如下效果: 17、19、16、18、13、18 18、15、18、14、19、17 可看到生成的隨機數在16上下浮動,幅度不超過3,且總和爲101。 源碼如下:

原创 [Unity3D]Shader編程之腐蝕消失

本片shader實現的效果是模型腐蝕消失,且腐蝕的邊緣大小可以調、顏色可調。效果圖如下: 設置面板如下: 使用時需要給ClipMask參數給一張噪點圖,設置合適的cliplinesize和cliplinecolor,然後調整clip

原创 [Unity3D]Shader編程之掃描顯示2

上一篇使用的方式是對UV進行剪裁,如果用於模型的話,會出現一些問題。本片使用的方式是對模型進行模型空間的剪裁,可設置剪裁方向。效果如下: 設置界面如下: mode用於設置剪裁方向。 clip用於設置剪裁值。 shader實現如下:

原创 [Algorithm]排序算法

  閒來無事回顧一下原來所學的排序算法,包括冒泡、選擇、插入、希爾、快速、歸併排序,這六種。   首先依次講解原理,最後放出實現及測試速度源碼。 冒泡排序   我想大部分人學習的第一個排序算法就是這個。   顧名思義,如泡泡般,越到水