
Unity 2D용 벽 감지 그림자 시스템을 만드는 데 8개월을 사용했습니다
요약
작성자는 8개월간의 개발 끝에 Unity용 2D 라이팅 및 그림자 시스템인 OptikaFX 2D를 출시했습니다. 이 시스템은 기존 Unity Shadow Caster 2D의 한계를 극복하고, 벽 감지 그림자, 타임라인 기반 낮/밤 주기 등 고급 기능을 구현했습니다.
핵심 포인트
- 벽에 부딪히면 휘어지는 자연스러운 그림자(Wall-bending shadows)를 지원합니다.
- 사용자 지정 타임라인으로 낮/밤 주기를 애니메이션화할 수 있습니다.
- 동적 라이트와 움직이는 캐릭터가 있는 장면에 유연하게 적용 가능합니다.
여러분 안녕하세요, 약 8개월간의 개발 끝에 Unity로 제작된 2D 게임용 라이팅 및 그림자 시스템인 OptikaFX 2D를 출시하게 되었습니다. 저는 원래 이 시스템을 탑다운 RPG와 농장 시뮬레이션 게임을 위해 만들었습니다. 제가 작업하기 시작한 이유는 Unity의 내장 Shadow Caster 2D가 제가 필요로 하는 것을 완전히 수행하지 못했기 때문입니다. 가장 큰 문제는 햇빛을 시뮬레이션할 때 그림자가 제대로 작동하도록 하고, 화면 전체에 걸쳐 늘어지는 현상을 방지하는 것이었습니다. 그래서 저는 직접 HLSL 셰이더를 작성하고 이러한 상황들을 처리하는 다양한 방법들을 실험하게 되었습니다. 제가 구현하는 데 성공한 주요 기능들은 다음과 같습니다:
- 벽 감지 그림자 (Wall-bending shadows): 2D 스프라이트 그림자가 벽이나 다른 구조물에 부딪힐 때 휘어지고 수직으로 투영될 수 있습니다. 이는 건물과 장애물이 있는 탑다운 장면에서 더 자연스럽게 보이도록 만듭니다.
- 타임라인 기반 낮/밤 주기 (Timeline-driven day/night cycles): 라이트 강도, 색상, 방향 및 동적 그림자 모두 사용자 지정 타임라인 시스템을 통해 애니메이션화할 수 있습니다. 태양이 움직이고 조명이 변함에 따라 그림자가 자동으로 업데이트됩니다.
- 360° 스프라이트 회전 및 애니메이션 라이트 (360° sprite rotation and animated lights): 캐릭터가 광원 주변을 완전히 돌아다니면서도 그 위치를 기반으로 그림자가 업데이트될 수 있습니다. 예를 들어, 캠프파이어 옆에 앉아 있는 캐릭터는 움직이면서 다른 그림자를 드리울 수 있습니다.
저의 주요 목표는 여러 개의 동적 라이트와 움직이는 캐릭터가 있는 장면에 유연하고, 사용자 정의 가능하며, 성능을 고려한 시스템을 만드는 것이었습니다. 작동하는 모습을 보고 싶으시다면 여기 플레이 가능한 데모를 확인해 보세요: https://optikafx.itch.io/optikafx-2d
제가 어떻게 만들었는지에 대한 질문에도 기꺼이 답변드리겠습니다. 봐주셔서 감사합니다! submitted by /u/OptikaFX [link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/Unity2D (top/week)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기