Chat Bubble
這個附加元件提供已經準備好使用的聊天氣泡。在相同的氣泡中的人可以與其他成員討論。
聊天氣泡在音訊房間及動態音訊群附加元件上組建:聊天氣泡是特別的音訊房間,它分隔了在動態音訊群成員在足夠靠近時可以開始接聽彼此時的空間。
靜態聊天氣泡
靜態聊天氣泡是一個房間,位於場景中的特定位置。
可以手動透過一個按鈕或當達到最大人員參數時自動地鎖定到聊天氣泡的存取。
可以透過相同的按鈕解鎖它,或在最後一個玩家離開聊天氣泡時解鎖它。
氣泡網格的材質取決於鎖定狀態。
設定
場景必須含有:
- 一個
AudioRoomManager
元件
玩家已生成預製件應該含有:
- 一個
ChatbubbleMember
元件 - 一個
DynamicAudioGroupMember
元件 - 一個
NetworkLocomotionValidation
元件,來自運動驗證附加元件,或任何其他觸發ILocomotionObserver.OnDidMove
的元件
聊天氣泡物件本身應該含有:
- 一個
Chatbubble
元件
聊天氣泡
Chatbubble
類別管理聊天氣泡。
各個氣泡可以有各種形狀(球體、圓形或方塊),並且有一個最大容量參數。如果達到最大容量,則無法進入氣泡。
Chatbubble
執行IAudioRoom
介面並且在AudioRoomManager
上註冊其本身。
同時利用IAudioRoomListener
介面,當一個AudioRoomMember
進入或離開一個AudioRoom
時告知該類別,這樣它可以更新聊天氣泡成員清單(本機使用者必須在其使用者已連網裝備上有一個AudioRoomMember
元件,並且所需的ChatbubbleMember
是它的其中一個子類別)。
聊天氣泡成員
這個類別繼承自AudioRoomMember
,其必須被新增到玩家的已連網裝備。
它包含一個ChangeDetector
以同步一個聊天氣泡,如果這個AudioRoomMember
進入的音訊房間是一個Chatbubble
,則允許延遲加入者在不通過常規檢查的情況下接收資訊。
舉例而言,從延遲加入者的角度來說禁止進入氣泡(比如鎖定為真),則需要它。
此外,利用RoomChange
方法,當玩家進入一個聊天氣泡時,它的roomID
被新增到音訊篩選器(為了讓兩個靠近的使用者可以聽到彼此,在DynamicAudioGroupMember
中需要額外的標準)。
聊天氣泡運動驗證
ChatBubbleLocomotionValidator
元件允許預防使用者移動到一個滿員的或已鎖定的聊天氣泡。
這個元件執行ILocomotionValidator
介面。
所以它可以檢查玩家是否被允許進入聊天氣泡(聊天氣泡未滿員)。
請注意,allowedToMoveToChatBubbles
設定用於防止特定玩家進入一個聊天氣泡(比如機器人)。
這個類別必須被新增到玩家的已連網裝備。
動態聊天氣泡
一個動態聊天氣泡是一個特定種類的聊天氣泡:當兩個玩家靠近彼此時,自動生成它。
設定
在常規聊天氣泡設定之外,需要這個額外的部分。
在這個場景中:
- 一個
DynamicChatBubbleManager
元件
在玩家已生成預製件上:
- 一個
DynamicChatBubbleSpawner
元件
在動態聊天氣泡預製件上:
- 一個
DynamicChatBubble
元件 - 一個
NetworkTransform
元件
動態聊天氣泡生成器
DynamicChatBubbleSpawner
負責在兩個玩家靠近彼此時生成一個動態聊天氣泡預製件(這個距離由proximityDistance
參數定義)。
預製件由附有最低的PlayerId
的玩家來生成。
如果動態聊天氣泡中最後兩個玩家所在的位置的距離增加到超過限制的話,則銷毀動態聊天氣泡。
請注意,如果生成的玩家離開聊天氣泡,而多個其他玩家仍然在聊天氣泡中的話,則不會銷毀聊天氣泡。
這個類別必須被新增到玩家的已連網裝備。
動態聊天氣泡
DynamicChatBubble
繼承自ChatBubble
。當生成/銷毀聊天氣泡時,它用於在DynamicChatBubbleManager
上註冊/取消註冊動態聊天氣泡。
動態聊天氣泡管理器
DynamicChatBubbleManager
管理DynamicChatBubble
的池。
當玩家生成一個DynamicChatBubble
,它被新增到一個dynamicChatBubbles
清單中。
為了避免在玩家的距離改變時,立即建立及銷毀聊天氣泡的額外負荷,針對emptyBubbleConservationDuration
來保存一個空的動態聊天氣泡。
相依性
- 音訊房間附加元件
- 動態音訊群附加元件
- 懸浮觸控附加元件
- 運動驗證附加元件(在某些案例中可用)
示範
可在Assets\Photon\FusionAddons\ChatBubble\Demo\Scenes\
資料夾中找到一個示範場景。
下載
這個附加元件的最新版本被包含在附加元件專案之中
已支援拓撲
- 共享模式
更改記錄
- 版本2.0.0:第一個版本