原创 【UGUI】3D世界座標轉2DUI座標並自適應的做法(血條,氣泡)

前言 有一些功能是需要用2D的形式跟隨3D的模型進行顯示的。例如模型的講話氣泡,血條等。 功能 實現 UI的錨點設置,UI的根節點的大小設置 腳本實現 UI 屏幕座標系是從左下角爲原點,Y軸向右爲正,X軸向上爲正。所有相關的

原创 【遊戲音效】Unity集成Wwise並進行開發的全流程教程(一)準備工作

集成教程: 【遊戲音效】Unity集成Wwise並進行開發的全流程教程(二)Wwise項目 【遊戲音效】Unity集成Wwise並進行開發的全流程教程(三)腳本接入Unity 前言 Unity有自己的原生音樂功能:AduioSou

原创 【編輯器】實現Hierarchy界面標誌

前言 在Hierarchy上添加些標誌,可以使用Unity的默認標誌,也可以自定義圖標。原理上還是編輯器的GUI編輯。 效果 黑色的是Unity的效果,紅色是自定義圖片。 資源路徑是: 實現 using UnityEditor

原创 【AssetBundle】Unity AssetBundle打包和資源加載解析

前言 AssetBundle是Unity加載的資源格式。遊戲不管使用什麼平臺打包,AssetBundle都是必不可少的。 爲何選擇AssetBundle 資源加載常用有幾種模式: 1.直接使用IO進行加載,適合文本資源。 2.Re

原创 【遊戲框架】Unity資源管理和AssetBundle工具

前言 如果想要了解AssetBundle相關,資源管理器實現的邏輯的話,可以先看一下這篇:【AssetBundle】Unity AssetBundle打包和資源加載解析。 項目 Demo.unitypackage 效果:運行時加載

原创 【經驗總結】如何快速上手新框架

前言 遊戲框架是支撐具體遊戲邏輯的底層建築,需要提供遊戲工程大部分的基礎需求的支持。 無論框架是小至只有一兩個類模塊,還是大至十幾個模塊,只要是爲通用功能而起作用的都能成爲項目的框架。 框架不是從開始指定了就不變動的,而是隨着項目

原创 Unity編譯回調和加鎖解鎖

前言 有時候當重新編譯的時候會導致出現一些新的問題,這時候就需要手動控制編譯的時機。 功能 編譯前後的回調 編譯加鎖和解鎖 效果 實現 環境 Test是個空類 腳本 using UnityEditor; using Uni

原创 【編輯器】腳本實現OpenPrefab界面

前言 2018的Unity中Prefab的顯示會跳到另外的一個界面,在prefab的面板上有“Open Prefab”的按鈕。這裏用腳本實現這個按鈕的功能。 效果 環境 腳本 using UnityEditor; using

原创 【遊戲音效】Unity集成Wwise並進行開發的全流程教程(三)腳本接入Unity

集成教程: 【遊戲音效】Unity集成Wwise並進行開發的全流程教程(一)準備工作 【遊戲音效】Unity集成Wwise並進行開發的全流程教程(二)Wwise項目 前言 這一篇章是Unity接入Wwise的代碼。如果看了前面兩章的介

原创 【遊戲音效】Unity集成Wwise並進行開發的全流程教程(二)Wwise項目

集成教程: 【遊戲音效】Unity集成Wwise並進行開發的全流程教程(-)準備工作 前言 這一篇章大致講一下Wwise的基礎概念和常規設置。雖然不是音效開發人員,但是最好還是瞭解Wwise的基礎功能,這樣能方便我們自己快速測試效果。

原创 【遊戲音效】Unity集成Wwise並進行開發的全流程教程(-)準備工作

前言 Unity有自己的原生音樂功能:AduioSound。但是這個功能較爲簡單,對於音效開發人員來說並不是很友好。在一些大型的遊戲中,音效會接入Wwise這個軟件。音效開發者通過Wwise編輯器就能操作音效,然後Unity可以讀取最

原创 【遊戲玩法】2d場景中人物碰撞和移動偏移修正

前言 在2d場景中,人物移動是一個基礎的功能,當遇到有障礙物時需要進行位置偏移修復。否則就只是單純的上下左右移動,這樣效果看起來會很差。 實現的方法有很多,這裏簡單介紹一下我的實現方法。如果有更好的方法請推薦給我~ 這個實現方式並沒有

原创 【遊戲架構】Unity導表功能 - 製作導表工具思路

前言 策劃配表後,程序要使用這些配置表時,就需要導表工具轉換成可以讀的資源。 表有兩個部分。一個是數據內容,例如名字,描述,數值,公式等,這些是策劃賦值的。一個是數據類型,例如字符串,數值類型等,這個是程序考慮的。 建表時肯定是策劃和

原创 【正則】介紹C#正則相關類-如何使用正則

前言 現在複雜的讀取文本信息已經離不開正則了,介紹下C#裏面正則常用的類。 示例 void regexDemo(string input) { //input = aaav0.1

原创 【預製體】判斷物體對象是否預製體

前言 在編輯器中操作預製體常用的類是PrefabUtility,裏面提供了不同的方法去對預製體進行操作。當想要判斷對象是實例,預製體還是單純一個對象時,可以使用裏面提供的函數。 PrefabUtility裏面不同版本變化很多,常用的函