Unity C# | 物件池基本概述

更新於 發佈於 閱讀時間約 4 分鐘

一、前言

  這篇文章將會講述物件池的基本概述,並介紹應用方向。

二、物件池

  在軟體開發中,物件池是一種常見的設計模式,用於讓物件使用效率最大化的有效管理與重複使用物件。物件池的主要功能在於提升效能與降低資源消耗。

1. 物件使用方式

  物件池的主要目的是避免頻繁的物件創建和銷毀,這也是新鮮人在程式設計時很常使用的方式,或者用於功能測試時快速撰寫時的做法,如果希望讓資源不會消耗太大,就會改為使用物件池。

  在物件池中,物件會被事先創建並存儲起來,當需要使用物件時,可以直接從物件池中取得一個可用的物件,而不是每次都創建一個新的物件。當物件不再需要使用時,可以將其放回物件池中,以供後續使用。

  當我們要從物件池取用一個新的物件時,僅僅轉移物件的座標即可,並不需要重複的生成物件與銷毀。因為是簡單的座標轉移與狀態改變,所以在資源的使用效率上更為高效。

2. 廢物資料

  在我之前撰寫的一篇文章中,聽說物件生成與銷毀的過程中,會產生多餘的垃圾資料,初時影響不大,但當生成成千上萬的物件時,就會對遊戲的系統造成可見的影響。

3. 設計難度

  這篇文章不介紹詳細的撰寫方式,第一個方面是因為精力關係,這兩天忙其他的事情沒精力研究;第二個方面飾物件池並不好分享,重複利用並不困難,重點是要判斷是否有現有物件,否則要生成新的物件,也就是陣列。

三、應用方向

  物件池在軟體開發中有廣泛的應用,基本上只要經常重複使用的遊戲元素都可以考慮使用物件池來設計。

1. 介面(UI)

  在遊戲開發中,介面通常是頻繁使用且數量眾多的物件,而我在使用的時候總是覺得介面很吃效能,因為座標改變相對比較困難,而且聽說大量地使用介面物件容易導致電腦當機。

  使用物件池能有效管理遊戲中的按鈕、文字、圖片等,這些都可以使用物件池來重複利用,提高介面的反應速度和效能,例如在 Facebook 社團中看到浮動視窗這種會移動的介面,就必須要使用物件池。

2. 子彈

  子彈!有什麼比子彈更容易成千上萬的出現?玩家在發射子彈、敵人在發射子彈、陷阱也可能發射子彈!在射擊遊戲或彈幕遊戲中,子彈是頻繁出現的物件,大量的子彈創建與銷毀更需要精簡的使用物件。

  使用物件池可以避免每次創建子彈物件,改為重複使用已經存在並且不再使用的子彈物件。這樣可以節省資源並提高遊戲性能,使子彈的生成和銷毀更加高效,也更不容易影響遊戲性。

3. 特效

  遊戲中的特效效果(如爆炸、粒子效果等)通常需要頻繁的創建和播放,這幾乎已經成為一種常識,使用物件池可以管理特效物件的重複利用,減少對系統資源的需求,提高特效的效果和性能。

  拿子彈來舉例就很容易懂了,發射、飛行、命中,這三個過程中通通會使用到特效,如果產生子彈要生成;子彈產生特效又要生成;音效產生又要生成,這個過程會使用三次的生成物件。

4. 音效

  音效在遊戲中扮演著重要的角色,我曾經以為一份音效就夠用了,不過在實作的時候發現有時候還是會在沒播放完的時候播放下一個。

  因此需要使用物件池重複利用已經存在的音效物件,尤其是音效物件是一個很容易重複使用的遊戲物件,只需要簡單的一行程式碼就能讓它重複運作,不需要生成一個新的物件。

四、後記

  這篇文章主要是讓我簡單撰寫好,然後我得趕快休息了,不知道為什麼暑假我沒有在度假的感覺,倒是認真開發專案讓我很投入就是了...



























留言
avatar-img
留言分享你的想法!
avatar-img
瓶裝雪的沙龍
114會員
247內容數
你好,我是瓶裝雪!我是一名遊戲設計師!
瓶裝雪的沙龍的其他內容
2024/09/22
魔火術師是第三人稱動作射擊遊戲,屬於專題畢業製作,在畢業組成新的團隊後優化並上架。
Thumbnail
2024/09/22
魔火術師是第三人稱動作射擊遊戲,屬於專題畢業製作,在畢業組成新的團隊後優化並上架。
Thumbnail
2024/01/26
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。
Thumbnail
2024/01/26
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。
Thumbnail
2023/12/29
講述遊戲設計從新手到專業的發展方向。
Thumbnail
2023/12/29
講述遊戲設計從新手到專業的發展方向。
Thumbnail
看更多
你可能也想看
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
這篇文章將會講述物件池的基本概述,並介紹應用方向。
Thumbnail
這篇文章將會講述物件池的基本概述,並介紹應用方向。
Thumbnail
這篇文章將會講述設計模式中的狀態模式,其資料源自於書籍、網路、個人理解,從簡介→架構→撰寫→測試的整個流程進行介紹與分享。
Thumbnail
這篇文章將會講述設計模式中的狀態模式,其資料源自於書籍、網路、個人理解,從簡介→架構→撰寫→測試的整個流程進行介紹與分享。
Thumbnail
這篇文章將會講述子彈射擊與命中的思路,不包含實際程式設計。
Thumbnail
這篇文章將會講述子彈射擊與命中的思路,不包含實際程式設計。
Thumbnail
一、前言   這篇文章將會簡單介紹物件導向的設計模式,以及學習這項技術需要有哪些先備知識,學習才會比較順利。 二、設計模式   在物件導向中,除了最基本的五大原則以外,其實還有一知名的概念,那就是設計模式(Design Pattern),它能運用到很多層面。 1. 解決一再出現的問題   許多程式設
Thumbnail
一、前言   這篇文章將會簡單介紹物件導向的設計模式,以及學習這項技術需要有哪些先備知識,學習才會比較順利。 二、設計模式   在物件導向中,除了最基本的五大原則以外,其實還有一知名的概念,那就是設計模式(Design Pattern),它能運用到很多層面。 1. 解決一再出現的問題   許多程式設
Thumbnail
這篇文章將會講述 Preferb 預製物的介紹與使用,並介紹其中幾個應用方向。
Thumbnail
這篇文章將會講述 Preferb 預製物的介紹與使用,並介紹其中幾個應用方向。
Thumbnail
介紹 在過去的歷史裡開發程式都是以呼叫Function的方式來做程式開發,後來才有了物件導向設計的概念,而物件導向程式設計的概念就是,使用【物件】的方式來設計程式。 Q: 什麼是【物件】? A:【物件】會包含以下這四個特性: 抽象(Abstraction) 封裝(Encapsulation)
Thumbnail
介紹 在過去的歷史裡開發程式都是以呼叫Function的方式來做程式開發,後來才有了物件導向設計的概念,而物件導向程式設計的概念就是,使用【物件】的方式來設計程式。 Q: 什麼是【物件】? A:【物件】會包含以下這四個特性: 抽象(Abstraction) 封裝(Encapsulation)
Thumbnail
這篇文章將會講述讓角色或控制中心傳承到下一個場景的關鍵程式,可以讓物件再轉換場景時不會被摧毀。
Thumbnail
這篇文章將會講述讓角色或控制中心傳承到下一個場景的關鍵程式,可以讓物件再轉換場景時不會被摧毀。
Thumbnail
這篇文章將會講述場景 (Scene) 轉換的程式,將會介紹載入場景的兩種主要方法,並且詳細介紹同步載入的程式與範例。
Thumbnail
這篇文章將會講述場景 (Scene) 轉換的程式,將會介紹載入場景的兩種主要方法,並且詳細介紹同步載入的程式與範例。
Thumbnail
前言   這篇文章將會介紹粒子特效的概述,介紹一下它的來歷跟重要性,並介紹 Unity 中的粒子特效使用方式,並以實際範例作為介紹。 粒子特效   藉由各種不同顏色的粒子,用不同的爆發方式和發射形狀,來營造出各種不同的視覺效果,藉由粒子特效,能營造出優良的回饋感和震撼場面。 重要性 核心技能 應用
Thumbnail
前言   這篇文章將會介紹粒子特效的概述,介紹一下它的來歷跟重要性,並介紹 Unity 中的粒子特效使用方式,並以實際範例作為介紹。 粒子特效   藉由各種不同顏色的粒子,用不同的爆發方式和發射形狀,來營造出各種不同的視覺效果,藉由粒子特效,能營造出優良的回饋感和震撼場面。 重要性 核心技能 應用
Thumbnail
  這篇文章將介紹public函式應用,回顧保護層級、無類型兩個核心重點,再介紹遊戲製作重點程式(Script),再到控制中心Script製作與方針。
Thumbnail
  這篇文章將介紹public函式應用,回顧保護層級、無類型兩個核心重點,再介紹遊戲製作重點程式(Script),再到控制中心Script製作與方針。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News