본문 바로가기
반응형

개발49

[Unity][DOTS] System에서 Entity 데이터에 접근하는 다양한 방법 ECS System이 데이터 즉, Component에 접근하는 다양한 방법을 정리해봤다. 여기서 System은 범용적인 의미의 시스템이 아니라 ECS의 3대 구성요소 Entity, Component, System의 그 System이다. 아래 유니티 매뉴얼 페이지를 많이 참고했다. https://docs.unity3d.com/Packages/com.unity.entities@0.0/manual/entity_iteration_job.html Using IJobForEach | Package Manager UI website Using IJobForEach You can define an IJobForEach Job in a JobComponentSystem to read and write component .. 2019. 10. 24.
[Unity][DOTS] ECS System에서 기존(Non-ECS) Component 제어하기 기존 방식으로 만든 파티클 오브젝트가 ECS로 만든 Entity를 따라다니도록 구현할 이슈가 생겼다. 당연한 이야기지만 ECS에서 'S'에 해당하는 System은 'C'에 해당하는 Component를 제어한다. 변환 API를 사용하면 기존(이하 Non-ECS) Component가 ECS Component로 자동 변환된다. 하지만 아직 변환을 지원하는 Component의 종류가 많지 않다. 직접 변환 기능을 만들면 좋겠지만 쉬운 일이 아니다. 그런데 Non-ECS Component를 ECS System에서 처리하게 만드는 방법이 있다. ECS Entity 생성 시 Non-ECS Component를 추가하고 ECS System에서 이를 불러들이는 것이다. 다만 이렇게 하면 ECS의 성능 향상 효과를 제대로 .. 2019. 9. 17.
[Jenkins] iOS 크래쉬 로그 심볼릭(Symbolicate) 젠킨스 빌드로 만든 ipa파일을 adhoc 인증서로 기기에 설치했다. 앱이 크래쉬 돼서 Xcode에 연결해봤는데 게임 코드 부분이 심볼릭이 되지 않고 알 수 없는 주소 값만 표시됐다. 프로젝트 코드를 공개할 수 없어서 구글링으로 찾은 이미지로 대체한다. 대충 느낌만 보시길.. 직접 Xcode를 이용해서 빌드했다면 Xcode가 자동으로 해당 ipa 파일과 짝을 이루는 dSYM 파일을 찾아서 게임 코드로 변환시켜 준다. 젠킨스 빌드 시에는 조금 번거로운 과정을 거쳐야 한다. 먼저 빌드를 하기 전에 준비 작업이 필요하다. 해당 프로젝트의 빌드 셋팅에 다음과 같이 dSYM 파일을 zip 파일로 압축하고 저장하는 쉘 스크립트를 추가한다. /usr/bin/zip -r build/${ARCHIVE_NAME}.dSYM.. 2019. 9. 6.
[Unity] NGUI + Spine 연동 진행 중인 프로젝트의 UI를 NGUI 기반으로 만들고 있다. 그런데 기존 UI에 Spine 오브젝트를 추가할 일이 생겼다. NGUI Panel 사이에 Spine 오브젝트를 끼워 넣는 식으로 작업했다. 작업 중 몇 가지 이슈가 생겨서 이를 해결한 방법을 정리했다. 먼저 기존 UI와 Spine 오브젝트 간 렌더링 우선 순위(depth)를 정하는 작업을 한다. 따로 구현할 필요는 없고 각각 아래의 값을 사용하면 된다. NGUI 오브젝트는 UI Panel 컴포넌트의 Sort Order 값을 사용한다. Spine 오브젝트는 아래 그림과 같이 Skeleton Animation 컴포넌트의 Order in Layer 값을 사용한다. Background는 UI Panel 오브젝트로 Sort Order를 1로 설정한다. .. 2019. 8. 30.
[Unity][DOTS] 계층 구조의 GameObject를 ECS Entity로 변환하기 ECS 프레임웍은 기존 개발 방식의 GameObject를 ECS Entity로 변환해 주는 API를 제공한다. GameObjectConversionUtility 클래스의 ConvertGameObjectHierarchy()라는 이름의 메서드다. 자세한 스펙은 아래 문서에서 확인할 수 있다. https://docs.unity3d.com/Packages/com.unity.entities@0.0/api/Unity.Entities.GameObjectConversionUtility.html Class GameObjectConversionUtility | Package Manager UI website Class GameObjectConversionUtility Inheritance System.Object Game.. 2019. 8. 23.
반응형