자료실

Fusion Metaverse 샘플 소개(2)
작성자 | admin 2024-05-08  |    조회수 : 254  


본 블로그는 2023년 8월 30일에 공개된 與元宇宙的應用範例-2-世界入口及相同元素를 번역했습니다.



핵심 영역 Hub의 디자인과 기능은 다양한 가상 공간을 연결하고 플레이어 간의 상호 작용을 촉진하는 메타버스의 핵심 개념을 보여줍니다.
"텔레포트" 및 SpaceLoader 구성 요소의 유효한 사용을 통해 가상 세계의 다양한 측면을 탐색할 수 있는 직관적이고 교묘한 방법을 제공합니다.

Metaverse의 Common은 가상 세계의 핵심 기능을 이해하고 구현하기 위한 프레임워크를 제공합니다.
공간 관리부터 동적 오디오 그룹, 사회적 거리 등의 요소가 모여 기능적이고 매력적인 가상 환경을 만듭니다.

그럼 함께 확인해 봅시다!!


Metaverse Center Control Area Hub


센터 컨트롤 영역 허브는 메타버스의 멀티플레이어 로그인 공간입니다.
주요 목적은 다른 공간(예: 아트 갤러리, Picazoo 및 음악)에 대한 액세스를 제공합니다.
플레이어는 씬의 포털을 통해 자유롭게 다른 공간으로 순간 이동하고 다양한 공간에 있는 친구들과 상호 작용할 수 있습니다.

로그인 공간


1. Teleport Point


각 "텔레포트 포인트"에는 "텔레포트 기능"을 시작하는 데 사용되는 SpaceLoader 구성 요소가 있습니다.
플레이어가 순간 이동 플랫폼에 들어가면 새로운 장면을 로드하기 위해 "exit" 프로세스를 초기화 합니다.
"텔레포트 포인트"는 플레이어를 다른 공간으로 순간이동시킬 수 있으며, 다른 장면에도 원래 장소로 돌아갈 수 있는 해당 "텔레포트 포인트"가 있습니다.


2. SpaceLoader 활성화 프로세스


SpaceLoader 구성 요소는 각 "텔레포트 포인트"에 있습니다.
Awake() 동안 SpaceDescription 프로그래밍 가능 개체 매개변수를 사용하여 "포털" 데이터를 업데이트합니다.
플레이어가 "텔레포트 플랫폼"에 들어가면 새로운 씬을 로드하기 위해 "exit 프로세스"가 시작됩니다.
StartExiting()방법에는 예상치 못한 씬 로딩에 대한 보호가 포함되며 SwitchScene()실제 씬 전환 호출을 사용합니다.


3. 플레이어 상호작용


플레이어끼리 근처에 접근하면 서로 대화할 수 있습니다.



메타버스 공통 요소 Common


메타버스 공통 요소 Common은 서로 다른 씬 간에 공유되는 요소이고, 이를 별도로 설명할 가치가 있다고 생각합니다.

메타버스 공통 요소


주의해야할 부분은 다음과 같습니다.

1. 공간과 페어링


메타버스 샘플에서는 사용자가 갈 수 있는 장소를 "스페이스Space"라고 합니다.
사용자는 동일한 "그룹"의 모든 사용자에게 제한된 퍼블릭 공간에 참가하거나 프라이빗 공간에 참가할 수 있습니다.
동일한 공간/그룹 페어링의 방에 너무 많은 사용자가 있는 경우, 초과되는 사용자는 계속해서 연결될 수는 있지만 새 방으로 유도됩니다.
이 로직은 Fusion의 페어링 기능을 통해 구현됩니다.


2. 그룹 전환


SpaceRoom은 그룹 전환도 처리합니다 .
사용자가 프라이빗 그룹에 참가하려는 경우(또는 퍼블릭 그룹에 들어가기 위해 프라이빗 그룹을 떠나려는 경우 ) SpaceRoom은 다음과 같은 방식으로 이를 처리합니다.
요청된 그룹 ID를 PlayerPrefs에 저장합니다.
SceneSpawnManager 구성 요소를 통해 사용자의 현재 위치를 저장합니다.
씬을 페이드 아웃하고 다시 로드하게끔 합니다.


3. 공간 설명


SpaceDescription은 다음 부분으로 구성된 프로그래밍 가능한 개체입니다.
spaceId: 각 공간을 고유하게 식별하는 데 사용되는 기술 데이터 필드
sceneName: 플레이어가 이 공간에 참여할 때 로드되어야 하는 Unity 씬
spaceName: 공간의 이름
spaceDescription: 공간에 대한 설명
spaceParam 및 spaceSecondaryParam: 향후 씬 매개변수를 제공하는 데 사용되는 선택 가능 기술 데이터입니다.


4. 다른 공간에 참여하기


다른 공간에 참여하려면 SpaceLoader 구성 요소를 통해 처리됩니다.
완전한 SpaceDescription을 이용하거나, 간단한 요구 사항에 맞게 spaceId 문자열만을 지정할 수 있습니다.


5. 동적 사운드 그룹


샘플에서는 간단한 동적 오디오 그룹 기능을 제공합니다.
즉, 대역폭을 사용하거나 원격 사용자에게 소음을 추가하지 않고도 모든 원격 사용자와 토론할 수 있습니다.
각 사용자는 고유한 관심 그룹 에서 말할 수 있습니다 .


6. 사회적 거리


두 플레이어가 너무 가까워지는 것을 방지하기 위해 예시에서는 "사회적 거리" 기능을 구현했습니다.
온라인 플레이어 구조물에는 ForbiddenArea(캡슐 콜라이더)가 포함되어 있습니다.
이 지역은 다른 모든 원격 플레이어의 출입이 금지되어 있습니다.


7. 서로 다른 공간의 전환 추가


SpaceLoader 구성 요소는 중앙 씬을 직접 로드하거나 플레이어가 다른 장면에 합류한 후 돌아올 때 생성 위치를 구별하기 위해 returnPosition을 제공합니다.
이는 SceneSpawnManager에 의해 처리되는 사용자 생성 위치와 함께 Space B로 이어지는 SpaceLoader와 연관된 returnPosition을 제공함으로써 수행됩니다.


8. 제한 구역 및 시각적 피드백


위에서 안내드린바와 같이, 두 명의 플레이어가 너무 가까워지는 것을 방지하기 위해 온라인 플레이어 구조물에는 ForbiddenArea(캡슐 콜라이더)가 포함되어 있습니다.
충돌이 감지되면 이동이 금지되고 시각적 피드백이 표시되어 금지 영역을 나타냅니다.




요약


메타버스 공통 요소 Common이 제공하는 프레임워크는 메타버스의 기술적 복잡성을 보여줄 뿐만 아니라 이러한 공유 요소의 설계 및 구현에서 연결되고 몰입형 경험을 만드는 것의 중요성을 강조합니다.
이러한 공통 요소를 통해 개발자와 디자이너는 사용자가 탐색하고 상호 작용할 수 있는 더욱 풍부하고 흥미로운 가상 세계를 만들 수 있습니다.

위 컨텐츠는 Fusion Metaverse 샘플의 Hub 개요와 공통 요소에 대해 설명하고 있습니다.
다음 편에서는 Picazoo, 뮤직 씬, 아트 갤러리 등 메타버스의 구체적인 장면 하나하나에 대해 심도있게 살펴보겠습니다.
함께 참고해 보시기 바랍니다!!



출처 : Hu씨의 Photon 블로그 이야기 (대만)