[C#/Unity] 這不叫 Singleton,叫 Service Locator – Practice of Service Locator

過去在《[C#/Unity] 更多 Singleton – More Singleton in Unity》這篇文章中,實作了一個名為 Singleton manager 的物件來做 Singleton 的註冊與使用。

但最近在研讀 相依性注入 (Dependency Injection) 相關文章時,才發現有個叫做 Service Locator 的設計模式,基本上就是我過去所實作的 Singleton manager。再加上一些關於抽象化的觀念又比當初更成熟了,因此便想趁機改善當初的設計,同時正名為 Service Locator

gamesystemmanager

(概念相似所以就直接借用舊圖片作為封面)

閱讀更多»

廣告

[OpenGL] 一些功能的實作練習 – Some Practice of OpenGL

完成了一段 OpenGL 的線上課程後,基本上理解了幾個 OpenGL 功能的實作方式,並且試過了從讀取 Model 到渲染至螢幕上的流程。

不過課程中的解說僅止於 “如何做到",為了能確認 “為何這麼做",釐清每個 OpenGL API 如何呼叫,我開始了一個練習的新專案。

用這篇文章紀錄一下目前所做出來的練習與心得。

閱讀更多»

[學習心得] OpenGL 線上課程 – Review OpenGL Online Course

將 《Modern OpenGL C++ 3D Game Tutorial Series》這個 OpenGL 的線上課程完結了,比起預計所花的時間短了不少。

OpenGL 是個發展已久的 Graphics API,當遊戲光靠 CPU 已經無法負擔,需要透過 GPU 來 “硬體加速" 畫面處理的工作時,相對的溝通工作便可以用這類 API 來完成。

雖然還有其他 Graphics API,但我選擇了 OpenGL 作為入門,並碰巧遇上了這門線上課程的優惠。完成了課程後,在這邊記下一些心得,讓其他想接觸 OpenGL 或這門線上課程的人作為參考。

閱讀更多»

[Unity] 用 VS Code 寫腳本與除錯 – Using VS Code as Script Editor in Unity

通稱 VS Code,全名 Visual Studio Code 的軟體是一款針對程式開發所設計的文字編輯器,也是一款受到 Microsoft 支援的 Open source 軟體。

VS Code 有著輕量、更新快速的優點,並有很多現成套件提供奇奇怪怪的功能強化。Unity 自 5.5 版後特別針對了 VS Code 進行了相容性更新,所以跟 Unity 的互動性也得到了改善,最近我正式從 Visual Studio 轉移到 VS Code 來開發 Unity 了。

本篇文章記錄了我安裝 VS Code 作為 Unity 腳本編輯器所遇到的細節、問題與解法,有 Windows 跟 Mac OSX 兩個平台。

閱讀更多»