이 프로젝트는 PaperZD 캐릭터를 사용하는 만큼 라이팅이 상당히 까다롭다. png 파일로 가져와 플립북을 만들기에 이에 맞는 normal map도 생성되지 않기 때문이다.
언리얼엔진을 사용하는 만큼 다이나믹한 라이팅을 구현하고 싶었다. 실시간으로 변화하는 빛에 캐릭터들의 모습이 바뀌면 얼마나 아름다울까? 그것도 2D 픽셀 캐릭터인데도!
일단 각 스프라이트에 대한 normal map이 필요하다. 노멀맵에 대한 설명은 따로 다루겠다.
첫번째 고난이다. png를 노말맵으로 바꾸어주는 사이트는 구글에서 흔히 찾아볼 수 있었다. 하지만 나는 스프라이트만을 바꾸고 싶은데 뒷 배경까지 처리해버리는 것이다.
결국 aseprite라는 프로그램의 힘을 빌려야 했다.
Aseprite
Aseprite는 픽셀아트 툴로서 픽셀아트를 보다 전문적으로 만들 수 있게 하는 툴이다.
이 프로그램은 오픈소스로 배포되어서 누구나 컴파일해서 사용할 수 있고 스팀에서도 판매중이다.
여기서 추가 스크립팅으로 edge normalmap을 생성해야 했다.
이렇게 normal map을 얻었다!
프로젝트 세팅에서 커스텀 머티리얼을 생성해주었다.
순서
1. 기본 png와 노말맵된 png를 임포트해와서 2D 텍스쳐 세팅을 해준다.
2. 노말맵된 png 이름을 기본 png의 _n으로 만들어 준다. (Idle1 -> Idle1_n)
3. 기본 png 스프라이트를 생성해준다.
4. 생성된 스프라이트에 노말맵이 잘 적용이 되었는지 커스텀 머티리얼에 적용되었는지 확인 후 안되어 있다면 프로퍼티 대량 편집으로 바꾸어 준다. (애셋 액션에서 편집가능)
5. 확인 후 스프라이트들로 플립북을 만들어 준다. 이때 플립북의 머티리얼도 커스텀으로 바꾸어 준다.
gif 파일이라 흐릿한 것이 아쉽지만 정말 잘 적용된다.
이제 가장 큰 문제점은 이 방법을 모든 스프라이트에 적용시켜줘야 한다는 것이다.
좀 오래 걸릴 것 같다..
'ToyProject > RedCaped' 카테고리의 다른 글
[언리얼엔진 5] 14. Save and Load Variable in Next Level (0) | 2023.01.10 |
---|---|
[언리얼엔진 5] 13. Changing Dynamic Lit sprite + Error Handling (0) | 2023.01.09 |
[언리얼엔진 5] 11. Lightning Pet (0) | 2023.01.05 |
[언리얼엔진 5] 10. Maximum number of attack + Error Handling (0) | 2023.01.04 |
[언리얼엔진 5] 9. Pet Class (0) | 2023.01.03 |