Tick 또는 Timer
시간은 매 프레임 갱신하고, 무거운 날씨 전환은 타이머로 간격을 둡니다.
낮/밤 주기와 비 효과를 따로 만들더라도, 최종 운영에서는 시간, 날씨, 조명, 이펙트, 게임플레이 규칙이 같은 상태를 바라보게 해야 합니다.
시간은 매 프레임 갱신하고, 무거운 날씨 전환은 타이머로 간격을 둡니다.
TimeOfDay, CurrentWeather, RainIntensity를 월드 상태로 묶습니다.
Directional Light, Sky Light, Niagara, Audio에 필요한 값만 전달합니다.
시야, 이동, AI 감지, 사운드 볼륨 같은 규칙을 같은 상태에서 읽습니다.
시간 값은 태양 회전과 하늘광 강도의 기준입니다. 24시간 범위를 벗어나지 않게 보정합니다.
날씨 상태는 Niagara 활성화, 사운드, 안개 밀도, 포스트프로세스 값으로 퍼집니다.
Sky recapture, volumetric cloud, particle spawn은 비용이 크므로 빈도와 품질 단계를 분리합니다.
서버가 시간과 날씨 상태를 소유하고 클라이언트는 복제된 상태를 보간하면, 모든 플레이어가 같은 하늘과 같은 날씨 전환을 보게 됩니다.