Skip to content

Introduction

KarmoDDrine edited this page Apr 6, 2025 · 3 revisions

banner

Introduction

구분

Core

Woodon의 기반이 되는 U# Script 및 Prefab 입니다.
동기화 되는 변수 CustomValue, 옵저버 패턴을 통해 이벤트를 처리하는 WEventPublisher 가 중심이 됩니다.

최상위 루트 클래스.
Woodon의 모든 U# Script는 WBase를 상속받아 사용합니다.

단순히 동기화 되는 변수를 U# Script로 만든 것입니다.

bool, int, playerID (int), string 등의 Type이 구현돼 있습니다.
각 구현에는 해당 Type에 맞는 부가적인 기능과 옵션이 포함됩니다.

모든 CustomValueWEventPublisher를 상속받습니다.
CustomValue의 값이 바뀔 때, 값 변경 Event가 발생합니다.

WPlayer
특정 플레이어의 PlayerID를 UI를 통해 특정하여 동기화

Event

Util

WDataContainer

Component

Basic

대부분의 프로젝트에서 공통적으로 사용되는 기능 모음

  • ObjectActive : 우동 이벤트를 이용하여 or WBool과 함께 활용
  • SendEvent : 특정 이벤트 발생 시, 우동 이벤트 호출.
    • WEventSender와 함께 활용
    • (Interact, OnPlayerTriggerEnter, KetInput 등)
  • Teleport : 단순 텔레포트 기능
  • Waktaverse : 왁타버스 관련 기능 (왁타버스 멤버 추적/닉네임 불러오기 등)

Transform

PosFixer

  • FollowBone : 특정 플레이어 본 위치에 오브젝트 붙이기

UI

UI 관련

  • DummyCanvas : 오버레이 UI 조작을 위해 필요한 기능
  • KoreanKeyboard : VR 플레이어를 위한 한글 키보드
  • LoadingPanel : 월드 입장 시 잠깐 이미지 띄우기
  • Prefabs : 빠른 UI 제작을 위한 단순 Helper 프리팹
    • AutoSize ~ : 자식 요소 크기에 따라 배경 크기도 동적으로 변경됨
    • [Canvas] WorldSpace : RenderMode WorldSpace, 스케일 .002 로 설정된 캔버스

WAnimation

WCamera

WMaterial

WParticle

WPickup

WSound

  • SFXManager : 이벤트 혹은 제공되는 UI로 SFX/BGM을 재생해요
  • Voice : VoiceManager를 중심으로, 일정 간격마다 플레이어들의 보이스 상태 갱신
    • VoiceSetter : 플레이어를 특정하여 보이스 상태 갱신 (주로 WPlayer을 이용한 증폭)
    • VoiceTagger : 플레이어를 위치(VoiceArea) 혹은 논리적(VoiceRoom)으로 구분시켜 PlayerTag를 달고, 이를 기반으로 보이스 상태 갱신

WStation

WTimer

WVideoPlayer

Content

Content Asset

Content Base

⭐ WSeat

다수의 플레이어, 이 존재하는 시스템 대부분에 응용될 수 있는 기반 제공
i.e. 경매, 조추첨, 투표, 퀴즈 컨텐츠

각 플레이어에게 제한된 범위 내의 고유한 Index 할당

  • VRChat에서 제공하는 PlayerID는 플레이어가 들어올 때마다 제한없이 계속 커지기 때문에, 플레이어에게 고유한 오브젝트를 할당하는 등의 상황에서 쓰기에 어려움이 있음

Content Implement

Prototyping

Prototyping Assets

Debug

Meshes

Scripts (EditorTime)

Samples

Clone this wiki locally