原创 心形函數的正確打開方式(Unity3D Shader)

一、前因 前幾天刷完了最近特別火的一部電視劇《隱祕的角落》,裏面秦昊飾演的張東昇提到了一個笛卡爾的心形函數:r=a(1-sinθ)。 出於好奇我就去查了一下這個函數的圖形,但感覺並不恨像心行,有點像桃子。 所以我打算使用Unity的S

原创 Unity錄屏

一、準備工作 使用到的插件:ffmpeg 和 ScreenCapturerRecorder。 ffmpeg 錄屏的核心,ScreenCapturerRecorder是對ffmpeg的擴充插件。 ffmpeg 放在工程的StreamingA

原创 Unity對網絡資源更新加載管理設計

一、訴求 對於一些文件資源(圖片、word、Excel、PPT、視頻等),放再程序裏會增加包體的大小,所以需要把資源放在服務器。 實現的需求有: 1)從網加載資源,並保存到本地,後面就從本地加載 2)有更新機制,當網絡上的資源更新後,要從

原创 簡單的UI序列幀動畫

 寫了個簡單的UI圖片序列幀動畫,雖然Unity動畫狀態機也可以做圖片序列幀動畫,但自己寫的可控性和擴展性更好點,就一個代碼用起來也比較方便。 效果如下: 代碼奉上,有需要的直接拿去用吧! public class FrameAni

原创 Unity3D 使用xLua

一、Lua Lua 是一種輕量小巧的腳本語言,用標準C語言編寫並以源代碼形式開放, 其設計目的是爲了嵌入應用程序中,從而爲應用程序提供靈活的擴展和定製功能。 相比C# Lua不需要編輯即可執行,所以Lua可以很好地用在Unity3D程序的

原创 Unity自定義日誌系統

Unity的系統日誌算是很好用,但當程序很大時,就會比較亂,所以在項目中我們往往要對日誌系統進行重新封裝使用。 一、日誌系統封裝 如下代碼,我們可以通過m_Log來控制是否打印日誌,或對輸出的日誌加入時間等修改。 /// <su

原创 Unity 讀取與修改Json

一、讀取 Unity讀取Json算是一個很常用的功能,今天來小小的總結一下。 首先你得寫個json,百度Json可以找到很多接送工具。 比如我寫的json,注意:因爲有中文,所以要保存UTF-8的格式。後綴名可以爲.txt 也可以爲.js

原创 AssetBundle的基礎使用

一、關於AssetBundle 1.什麼是AssetBundle 1) AssetBundle是一種經過Unity引擎處理了的資源包 2) 已經序列化的資源 3) 具有針對平臺的特性 4) 外部不相干,使用同樣加密方式的包,可以互相調用

原创 基於四叉樹的場景管理

一、解決的問題 在遊戲地圖中有很多對象,根據視野範圍內的區域,並把這些區域的對象顯示出來,其它不在視野範圍的不顯示。 效果如下: 二、四叉樹原理 在數據結構中,樹常常用於層級管理,就像我們國家行政單位一樣,從國家-->省-->市-->縣

原创 Unity中利用反射自動讀取Excel配置

我之前寫過一篇Excel轉Asset的文章,鏈接:https://blog.csdn.net/YasinXin/article/details/102524921 但當項目的Excel特別多時,那種方法還是不夠靈活方便。 之前的是要根據接

原创 Shader 實現顏色輪盤效果

一、效果 如下,可以根據設置實現顏色的塊數 二、實現方法 1.新建一個Unlitshader做模板 2.色輪的變化需要使用hsb的色彩模式,所以先從網上找一個hsb轉rgb的函數 fixed3 hsb2rgb(fixed

原创 Unity的單例

單例模式通常用於項目的模塊管理,在Unity中主要用兩種單例,一種是基於C#普通單例,一種是繼承了Unity的MonoBehaviour的單例。 1.普通單例 where 限制模板的類型, new()指的是這個類型必須要能被實例化 加lo

原创 Unity自動添加腳本說明

我們需要在腳本添加作者、時間、功能描述等信息,但一個個手動添加很麻煩,有時也會忘了,所以一般都採用自動添加。 1.修改Unity內置初始化腳本 在unity的安裝目錄對應打開Editor-->Data-->Resources-->Scri

原创 搭建SVN環境

一、下載軟件 下載地址:http://subversion.apache.org/packages.html 網站上有各個系統版本的,我這安裝的是Windows的,拉到網頁最下面,如下 下載TortoiseSVN (SVN客戶端俗稱小烏

原创 Unity 快速實現鏡子效果

一、快速搭建一個簡單的場景 如圖,白色的Quad即當作鏡子。 二、使用相機紋理 創建一個相機,放到和鏡子相同的位置(根據具體效果微調),再新建一個renderTexture,鏈接到相機的TargetTexture,並賦給鏡子的材質球當紋