아바타 시스템

From Neos Wiki
Jump to navigation Jump to search
This page is a translated version of the page Avatar System and the translation is 82% complete.
Outdated translations are marked like this.
Other languages:
English • ‎čeština • ‎日本語 • ‎한국어

Neos에서 아바타는 필수요소는 아닙니다. 부수적으로 지원하는 기능일 뿐이지만 타 S/W에서 제공되는 것 이상의 지원요소를 가지고 있습니다. 또한, Neos내에서 아바타를 직접 만들어 사용할 수 도 있습니다.

여기서는 아바타 시스템의 아이디어와 음성대화 및 움직임등을 이해하기 위한 개념을 설명합니다.

기본 개념

네오스의 모든 객체(콤포넌트가 포함된)는 월드를 뿌리로 하여 분기되는 계층구조로 이루어 져 있습니다. 아바타 또한 마찬가지로 월드의 하위 계층에 속하게 되며, 하부 구성요소(머리, 팔, 몸통, 다리 등 아바타를 구성하는 모든 것)는 아바타를 부모로 하여 계층구조를 형성합니다. 즉 모든 대상은 동일한 객체로 취급되어 아바타와 다른 객체(3D 모델 등)와의 경계가 없습니다.

이 구조는 시스템을 매우 유연하게 만드는 장점이 있습니다. 추천하진 않지만, 월드에 존재하는 모든 객체를 아바타나 아바타의 일부분으로 사용할 수 도 있습니다. (예. 나무를 생성한 다음에 다리나 팔 대신 사용한다거나 하는..)

네오스의 월드는 OnUserJoined와 OnUserLeft 이벤트를 제공하며, 이는 모든 사용자(본인 포함)의 참여와 퇴장시 발생됩니다. 단순히 세션에 참여하는 사용자는 아바타 생성이나 음성대화, 월드 제어등의 모든 활동을 사용할 수 없습니다.

이러한 활동을 가능하도록 하려면 CommonAvatarBuilder와 쌍을 이루는 SimpleUserSpawner와 같이 이벤트를 수신하는 컴포넌트를 월드에 추가해야합니다. 이러한 구성 요소는 새로 참여한 사용자를 월드의 하위 계층에 추가하여, 실체로서 월드에 존재하는 구성원으로 만듭니다.

사용자가 아바타를 생성하면, 해당 월드에 참여하는 모든 사용자에게도 서로 동일한 아바타가 보여야 하므로, 아바타들이 서로 복제되어 전송될 것입니다. 그런 의미에서 사용자 본인의 컴퓨터에 있는 아바타 모델을 월드에 로딩하게 되면, 마찬가지로 다른 사용자에게도 전달되므로 타인이 이를 이용하여 아바타를 구성할 수 도 있습니다.

공통 아바타 시스템

대부분의 프로그램에서 아바타는 하나의 중요한 축에 속하기에, Neos도 "공통 아바타 시스템"이라는 기능을 제공합니다. 이 시스템은 아바타 생성 도구를 사용하여 통상적인 아바타를 자동으로 구성할 수 있으며, 사용자의 클라우드 저장소에 저장된 아바타를 읽어와 적용할 수 도 있습니다.

또한 이 시스템은 임의의 객체들을 이용하여 새로운 아바타를 즉시 구성할 수 있는 기능도 제공되므로 사용자는 Neos에서 제공하는 도구(예. 파일 탐색기)들을 사용하여 로컬 컴퓨터에 있는 3D모델이나 이미지, 사운드등을 이용하여 새 아바타를 만들고 부가적으로 로직스(LogiX)를 사용하여 특별한 기능이나 동작을 추가 할 수 있습니다.