原创 關於UnityECS框架的學習

ECS代碼框架 最早是暴雪<<守望先鋒>>中採用的遊戲框架 ECS是EntityComponenSystemt實體、組件、系統的縮寫,在unity中將GameObject轉化成實體Entity,Entities用一個struct數組保存,

原创 字符串子串匹配KMP算法

子串匹配問題:返回一個子串在字符串中第一次出現的下標,若無則返回-1 KMP: 一個樸素的子串匹配如下:(以下使用TypeScript語言編寫) private subStringIndex(source:string,target:st

原创 git 用於日常工作的新手教程

git作爲一個多人協作的版本工具 具體到個人上就是,你擁有一個本地庫,對應一個集中的遠程庫,平時遠程庫跟本地庫是平行發展的不互相影響 想要將本地庫同步遠程庫的修改,可以通過拉取操作 你的修改如果被提交會先在本地緩存,這時推送纔將遠程庫同步

原创 Cocos Creator 預加載界面進度條

預加載界面進度條一般使用下面的方法 cc.loader.loadResArray(資源url數組,資源類型,進度回調,完成回調) 同樣資源也還是要放在resources下 在進度回調中 function(completeCount,tot

原创 使用Unity和A*插件實現LoL英雄聯盟中的移動方式

LoL中的移動方式是怎麼樣的呢?我分析一下應該是這樣的: 右鍵單擊選擇目標點,角色會向着目標點走去,而去目標點的路上如果點擊了其它目標點就更新目標點,如果中間有障礙會自動選擇最近的路徑,如果目標點不可抵達就向目標點最近的可抵達目標點移動。

原创 Egret學習筆記(一)

一: 下載EgretLauncher,打開Egret Wing並創建項目,選擇擴展庫,最好在創建項目時確定好要添加的擴展庫,如果後期要添加egret可能識別不到。 在項目目錄下的egretProperties.json文件中可以看到每個

原创 關於六邊形地圖的生成算法

需要能動態改變地圖的層數,當輸入的layer不同生成的地圖層數也就不同,所以我使用算法動態生成棋盤格地圖。 通過定義好的tileWeight和tileHeight,i從下到上,j從左到右確定每個格子的世界座標x,y。 關鍵代碼如下: f

原创 Photon Unity Networking(PUN)

1.導入PUN在PhotonServerSettings設置AppId 這需要你有photon的賬號,在新建Application中在Hosting裏面要選擇PhotonCloud,將你的AppId複製到PhotonServerSetti

原创 Unity WebGL報錯BuildPlayerWindow+BuildMethodException

我使用Unity2018.3導出WebGL遊戲時發生錯誤: UnityEditor.BuildPlayerWindow+BuildMethodException: 3 errors   at UnityEditor.BuildPlayer

原创 Unity3D使用Cloth組件解決戰士皮甲穿幫問題

我遇到了一個衣服與大腿的mesh"穿幫"的問題,網上查了一下可以使用Unity的組件Cloth 該組件在物理組件的子組件中,增加Cloth的衣服應該使用SkinnedMeshRenderer,否則不會響應,在大腿加上兩個CapsuleC

原创 GOAP算法

1.GOAP GOAP(以目標爲導向的行動計劃)是一種AI代碼框架 也是一種遊戲中對於複雜的AI、動畫系統的做法,根據目標在環境中的信息決策出最佳和行動方案或者路線,從而達到看起來更逼真合理,相對智能的AI、動畫。 基礎框架中實現Agen

原创 Unity3D關於隨機生成敵人的分級算法

問題: 假設我有10種敵人,一共20關,每關3-5個敵人就可以滿足我的關卡難度,那麼怎麼隨機生成每關的敵人,使每一關的敵人儘量都不一樣同時難度遞增呢? 1.生成敵人個數曲線:     如果3-5個敵人就可以滿足關卡難度那麼每多一個敵人,難

原创 DOTween插件學習筆記

術語Tweener 控制值並對值進行動畫Sequence 特殊的Tweener控制其他的Tweens,並將它們作爲一個組進行動畫。Tween 既表示一個Tweener,也表示一個Sequence。Nested Tween 包含在Seque

原创 2d模版卷軸遊戲總結

這個遊戲開始是參考了Celeste,因爲我覺得Celeste好玩就想自己做一下。。 主角的設計是一隻貓,當然這個不是我設計的,同組的小夥伴畫了一隻怪盜形象的貓。 遊戲運行開始畫面   主角代碼 的框架我使用了狀態機,這是我一開始的設

原创 Unity3d 實現 A * 尋路算法

原理A* 算法是一種啓發式搜索算法,通過代價函數f = g+h,A*算法每次查找代價最低的點作爲搜索點,並更新搜索節點列表。最終搜索到目標位置。需要定義兩個列表 (Open和Closed列表):    private List<Tile>