카메라가 동일한 오브젝트를 중복해서 랜더링 한다면 문제가 됩니다. UI 카메라는 UI 레이어만 랜더링 하도록 설정했기에 특별히 문제가됮 않습니다. UI 최적화를 위해서는 고정되 UI와 계속 변하는 UI를 별도의 Canvas로 분리하는 것을 추천합니다. 컷신연출용 카메라를 별도로 설정해서 사용하는거이 일반적입니다. 어차피 게임 플레이용 카메라와 중복해서 랜더링하지 않는다면 괜찮습니다.
안녕하세요. 우선 좋은 평 감사합니다. 몬스터와 스파이더의 로직을 다르게 처리한 것은 생각하신데로 다양한 방식으로 구현해보기 위합이었습니다. 간단한 로직이라면 스크립트로 처리하는 것이 가볍습니다. Behavior Graph의 경우 복잡한 상태를 갖고 있는 보스와 같은 캐릭터에 좀 더 적합합니다. 하지만 추후에 Monster에 BG를 적용시켜보시는 것도 복습차원에서 적극 권해드립니다.
안녕하세요. 특별한 설정은 따로 없습니다. 혹시라도 하이러키뷰에 EnemyEntity가 생성되었는데도 Scene 뷰에 보이지 않는다면 바닥 배경 뒤에서 생성되고 있거나 또는 하이러키 뷰의 필터 옵션이 켜져있는지 한번 확인해주세요. 두가지 다 아니라면 동영상 강의의 어는 부분인지 정확히 확인하기 위해서 분, 초를 알려주시면 다시 한번 확인해보겠습니다. ~
안녕하세요. 둘 다 런타임에 Entity를 생성하는 방법이지만, 사용하는 상황과 목적이 조금 다릅니다. EntityCommandBuffer(ECB) 는 예약해두었다가 나중에 한 번에 처리하는 방식이고 EntityManager.Instantiate() 는 그 자리에서 즉시 엔티티를 생성합니다. 총알의 경우 대량으로 생성하기에 ECB를 사용했고, 상대적으로 생성빈도가 낮은 적 생성에는 EntityManager를 사용했습니다. 두가지 방식으로 코드를 설명하기 위함이기도 합니다. 요약 하자면, 다음과 같은 기준으로 사용하시면 되세요. 적은 수(단순로직) : EntityManager.Instantiate 대량생성, 병렬처리, 성능고려 : EntityComandBuffer
안녕하세요. 질문에 답을 드리자면 버그는 아닙니다. ECS는 World라는 공간안에 Entity를 관리해야 하야 하기 때문에 기존 GameObject 공간과는 별도로 분리된 공간입니다. 따라서, Entity는 직접 관리해야 합니다. Scene과 Entity의 생명 주기는 서로 다르다는 점을 꼭 기억하시고, World가 살아 있다면 Entity도 그대로 유지된다는 것이 핵심입니다. 두번째 질문에 대한 답변입니다. Entities for All 정책이 실행된다고 하더라도 기존의 ECS 설계 철학은 변경되지 않습니다. Entites for All은 기존 GameObject와 ECS를 통합해 사용하기 편하게 하는 것으로 생각되며, 워크플로우가 많이 편해질 것으로 예상됩니다. 씬 전환로직까지 오셨으면 마지막까지 완주하셨군요. 축하합니다. ~