뉴비, 이동 시스템 및 스프라이트 애니메이션 구현까지 진행해따.
1. 플레이어
Authoring 코드
1.
메뉴랑 게임 중지, 목숨을 잃었을 때, 등
조작을 하지 못하게 하는 IEnableComponent 컴포넌트
2.
아직 총알 따위 구현하지 못한 상태지만.. 대충 프리팹을 넣어줄 수 있는 컴포넌트
3.
입력 구현하는 컴포넌트
4.
애니메이션 상태 변화에 쓰이는 컴포넌트
4개를 컴포넌트로 추가해놓았따..
뉴 인-풋 시스템을 쓸까 했지만
좃뉴비가 뭘 안다고.. 그냥 기존꺼 사용하는걸로 만족한다.
사진을 올리고나서 찾은건뎅
IEnableComponent로 조작을 막는 코드를 빼먹었다.. 일지 다 쓰고 넣어야지
컴포넌트들은 파일 하나 만들어서 정리해두었다.
필요할때마다 안에 하나하나씩 채워나가는 재미..
ECS 예제를 보면, 캔버스 오브젝트와 싱크를 하는 예제가 있다.
나중에 메인 메뉴를 만들게 될 것을 대비해서
캐릭터는 캔버스의 버튼을 눌러야 생성되게 하였다.
PlayerManagerAuthoring 코드가 메인 씬의 PlayerManager를 참조해서 만들어지는 엔티티이다.
참고로 오브젝트 싱크를 하려면.. 위처럼 개 귀찮은 코드를 짜야한다..
우여곡절이 많았지만, 동작이 잘 된다.
버튼은 리스너도 새롭게 등록 해야하더라... 그냥 토글 쓰는걸 추천한다..
실제 스포너 역할을 하는 코드이다.
커맨드 버퍼를 쓰지 않으니까, Transform 이 뒤늦게 동작해서 버퍼로 구현해따.
애니메이션은 다음과 같은 쉐이더 그래프로 구현할 수 있따.
스프라이트 시트를 매트리얼 텍스처로 넣어서 만든다.
애니메이션 인덱스는 Idle / Right / Left로 나누어지는 초간단 스프라이트 시트이다.
다음에는 총-알을 만들꺼다.
비회원은 동영상 업로드 시간이 정해져있어서..
뭘 올릴수가 없다..
우와 동방이다
빈 화면인데 벌써부터 탄막이 보이는 것 같네
ㄹㅇㅋㅋ
요즘 turbo아재가 올린 동영상에 나온 셰이더 썼나보네요.. 게임 중지는 저는 개인적으로 timescale을 조절하는 방식을 선호합니다.
애니메이션이 특별하게 중요한게 아니고 쉐이더 방식은 시간이 지나도 거의 바뀌지 않을 것 같아서, NSprite랑 Latios 아재 프레임워크 바로 때려침
하이브리드 방법은 검토해보신 적 있나요?
ECS에서 2D를 그냥 메인 렌더러에 맡기면, ECS 쓰는게 무의미 할 정도로 성능이 나빠져요
음 탄막겜이면 그렇긴 하겠네요
셰이더 좀 흥미가 생기는데 유튜브에 뭐라 검색하면 나오나요?