原创 C#轉typescript實戰

前言 最近剛在公司裏接了一個用egret來做遊戲的項目,在中間我將之前的C#寫的AI模塊及ECS框架移植到白鷺當中。這也是我第一次接觸Typescript這門語言,我很快的看過一遍官方文檔,發現與C#是非常的相似,特此以這篇文章記錄下

原创 WPF 自定義字體選擇器

今天我們做一個字體選擇器。 先上一個設計圖。 FontDialog.xaml. 這裏省略頭部分。直接上核心代碼部分。 <Grid Margin="11"> <Grid.RowDefinitions>

原创 CL遊戲引擎 - 圖形 - 彈簧網格 [完整實現]

彈簧網格 [Spring Grid] 幾何效果中最酷的效果之一是扭曲的背景網格。 我們這章將研究如何在Shape Blaster中創建類似的效果。 我們將使用彈簧模擬製作網格。 在網格的每個交叉點,我們將放置一個擁有小重量並在每側附加

原创 WPF 遊戲編輯器擴展(一)

對於遊戲編輯器,擴展是必不可少的,在近兩年當中我嘗試了很多種方式來對編輯器進行擴展,這裏介紹的是我準備爲2019年出的新編輯器的一個擴展架構。 編輯器定義了Windows應用程序的框架(shell)。 擴展程序增加了新功能:新服務,菜

原创 CL遊戲引擎 - AI模塊 - 尋路算法 [完整實現]

尋路 [Pathfinding] 這裏介紹三種開箱即用的尋路算法:寬度優先搜索、Dijkstra(加權)和Astar(用啓發式加權)。這三者不僅適用於基於網格的圖形,而且適用於任何類型的圖形。您應該使用哪種算法?這取決於您的具體圖表和

原创 CL遊戲 引擎/編輯器 架構

CL遊戲編輯器架構引擎架構目錄AI[BehaviorTree](https://blog.csdn.net/u011488756/article/details/85161669)[FSM](https://blog.csdn.net

原创 CL遊戲引擎 - 圖形 - SVG [完整實現]

SVG 我們在這裏只簡單的對SVG文件一些基本支持,我的目的並非製作完整的SVG圖像查看器。SVG的支持主要目的是獲得諸如矩形和貝塞爾路徑之類的形狀。這些可用於Level佈局,AI路徑或各種其他目的。 SVG解析器支持組,路徑,rec

原创 CL遊戲引擎 - 圖形 - 3D水 - 架構

水 [Water] WaterNode WaterNode是一個定義水體的SceneNode。 WaterNode由WaterRenderer呈現。 屬性Volume是一個Shape,用於定義水面和水下體積,水下效果呈現在水面上。如果

原创 CL遊戲引擎 - AI模塊 - 行爲樹 [完整實現]

行爲樹 BehaviorTree 過去十年中組成AI的事實上的標準。 行爲樹由節點樹組成。 節點可以根據世界狀況做出決策並執行操作。 它包含一個BehaviorTreeBuilder類,它提供了一個用於設置行爲樹的API。 Behav

原创 CL遊戲引擎 - AI模塊 - GOAP - ASTAR [完整實現]

本章爲GOAP的補充章節,這裏介紹了關於GOAP中的ASTAR的實現。 原文鏈接: CL遊戲引擎 - AI模塊 - GOAP 在遊戲中,我們經常想要找到從一個位置到另一個位置的路徑。 我們不僅試圖找到最短的距離; 我們還想考慮花費時間

原创 CL遊戲引擎 - AI模塊 - FSM [完整實現]

簡單的狀態機 [Simple State Machine] 啓動和運行AI的最快速,最簡單的方法。 SimpleStateMachine是一個Component子類,它允許你將枚舉設置爲其通用約束,並且它將使用該枚舉來控制狀態機。 枚

原创 CL遊戲引擎 - 圖形 - LOD - 架構

細節級別 [Level of Detail (LOD)] 細節級別(LOD)可用於改善遠處對象的渲染性能。 定義LOD LodGroupNode表示具有多個細節級別(LOD)的對象。 它存儲了一組LOD。 LOD由其LOD距離和LOD

原创 CL遊戲引擎 - 圖形 - 遮擋剔除 - 架構

遮擋剔除 [Occlusion Culling] 遮擋剔除是一種可以提高複雜場景性能的優化 什麼是遮擋剔除? 遮擋剔除會丟棄從某個視點隱藏的對象。 這是通過針對一組遮擋物測試場景節點來實現的。 遮擋物是場景(例如牆壁)內的一個物體,它

原创 CL遊戲引擎 - AI模塊 - GOAP [完整實現]

目標導向的行動計劃 [Goal Oriented Action Planning (GOAP)] GOAP與其他AI解決方案有很大不同。 使用GOAP,您可以爲計劃程序提供AI可以執行的操作列表,當前世界狀態和所需的世界狀態(目標狀態