데일리 일지 늦은 이유 : Quaternion 과 Mathematics.quaternion 이 서로 파라미터가 달라서 로직이 제대로 동작 안했었음.
유니티 개새끼야
적 스폰 시스템은 사실 별거 없다.
나중에 스테이지 구성 할 때, 대대적인 개조에 들어가겠지만..
테스트용으로 빠르게 구현했당.
탄막 로직은 Job을 이용해서 구현해줬는데
아직 테스트를 하지 않아서 퍼포먼스 체감은 없당..
사실 스폰 시스템은 빠르게 테스트하려고 한거고
지금은 시스템 설계에 집중중이다.
그냥 주먹구구식 개발이 아니라.. 해야할 목록을 작성해봐야겠다.
고민하면 고민할수록 구현해야 할게 쌓이는 중..!
일지 날로먹기 끗!!
참고로 적 스포너는 SystemBase로 구현 중이다.
Stage 구성은 Json 형식으로 적이 날아올 방식, 수, 발사 패턴등을 정해줄 예정인데
Managed 방식이여야 구현이 편할 것 같다.
약간 주접인거 같지만 지금 상태에서는 탄막의 보여지는 방향(즉 localtransform의 rotation)을 발사 방향과 일치하게 만들어야 하는 구현이 생길 수도 있음. 개인적으로 제가 여기서 좀 오래 시간 낭비를 해봤어서 공유합니다.
var vector = math.normalize(목표 위치 - 현재 위치); //바라봐야 할방향 정하기 float angle = math.atan2( vector.x,vector.y)*(-1f); // 2D 공간에서 필요한 코드. 스프라이트 에셋이 그려진 방향에 따라 *(-1f) 값 조절 LocalTransform trans = state.EntityManager.GetComponentData(x); //탄막의 트랜스폼 trans.Rotation = quaternion.RotateZ(angle) // 회전. 게임이 만들어진 방향에 따라 rotate뒤에 있는 축을 바꾸면 됨
일지에 없지만, 지금 쓰신 스크립트 고대로 구현되어있습니다 ㅋㅋ
탄막을 그냥 대충 스피어로 해놓아서 방향이 안바뀐 느낌인것