본문 바로가기
반응형

개발 스터디/Unity22

[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.
[Unity] Mac에 유니티 캐쉬 서버 설치하기 요즘 새로운 유니티 프로젝트의 개발 환경을 셋팅하고 있다. 팀 내에 빌드머쉰으로 사용 중인 Mac이 있는데 여기에 캐쉬 서버를 설치했다. 그 과정을 과정을 공유한다. 캐쉬 서버가 뭔지, 쓰면 뭐가 좋은지 아직 모른다면 아래 링크를 참조하기 바란다. 유니티 공식 문서다. https://docs.unity3d.com/kr/current/Manual/CacheServer.html 캐시 서버 - Unity 매뉴얼 Unity는 완전한 자동 에셋 파이프 라인을 가지고 있습니다. .psd 파일이나 .fbx 파일과 같은 에셋 소스가 변경되면 Unity는 변경사항을 감지하고 자동으로 다시 파일을 임포트합니다. 파일에서 임포트된 데이터는 즉시 내부 형식으로 변환되어 저장됩니다. docs.unity3d.com 다만 위 문서.. 2019. 7. 19.
[Unity][DOTS] World와 ComponentSystemGroup 기본적으로 System은 클래스 코드만 작성하면 ECS가 알아서 인스턴스를 생성하고, World에 추가하고, 매 프레임에 업데이트까지 시켜준다. 그런데 프로젝트 진행 중 System을 앱 실행 시점이 아닌 특정 시점에 생성 및 업데이트시켜야 하는 상황이 생겼다. 즉, 앞에서 언급한 프로세스를 수동으로 해야 한다는 뜻이다. 자료를 찾다 보니 Unity 홈페이지 매뉴얼보다 잘 쓴 블로그 포스트(https://gametorrahod.com/world-system-groups-update-order-and-the-player-loop/)를 발견했다. 포스트 앞부분에 내가 원하는 내용이 모두 들어있어서 그대로 번역해봤다. ECS를 이미 사용해봤다면 "default world"라는 말을 들어본 적이 있을 것이다. .. 2019. 7. 12.
[Unity][DOTS] Component WriteGroups 요 며칠, 기존 프리팹을 ECS Entity로 변환하는 작업을 하고 있다. 단순히 변환 API를 호출하면 끝날 줄 알았는데 그렇지 않았다. 변환하고자 하는 프리팹의 계층 구조가 복잡해서 오브젝트 간 렌더링 순서에 문제가 생긴 것이다. ECS TransformSystem을 제대로 이해해야 해결할 수 있을 것 같은 생각이 들어 아래 문서를 읽기 시작했다. https://docs.unity3d.com/Packages/com.unity.entities@0.0/manual/transform_system.html TransformSystem | Package Manager UI website TransformSystem Section 1: Non-hierarchical Transforms (Basic) LocalT.. 2019. 7. 5.
[Unity] hierarchy 창에서 선택한 오브젝트 선택 유지하기 유니티 에디터 확장에 관한 포스팅이다. 아트 팀에서 Vertex Tools Pro라는 툴을 사용하고 있다. 아티스트의 작업 방법은 다음과 같다. 먼저 hierarchy 창에서 MeshRenderer 컴포넌트가 포함된 오브젝트를 선택한다. 그러면 Scene 뷰에 brush가 나타나는데 이를 이용해서 매쉬의 vertex color를 칠한다. 그런데 작업 중 실수로 다른 오브젝트를 선택하는 일이 종종 일어난다는 것이다. 아트 팀에서는 페인팅 작업 중에 hierarchy 창에서 다른 오브젝트를 클릭해도 선택(selection)이 되지 않도록 해달라고 했다. 구글링으로 다음 링크와 같은 해결책을 찾았다. https://forum.unity.com/threads/keeping-an-object-selected-in.. 2019. 6. 28.
[Unity][DOTS] ECS & C# Job System, 샘플 프로젝트 따라잡기 #2 샘플 프로젝트는 https://github.com/Unity-Technologies/EntityComponentSystemSamples 에서 받아볼 수 있다. 샘플 프로젝트의 예제는 총 일곱 개다. HelloECS 폴더에 여섯 개, Advanecd 폴더 아래 한 개가 들어있다. HelloECS 여섯 개 예제 중 첫 번째 예제인 HelloCube_01_ForEach 씬(scene)를 파헤쳐 보겠다. Project 뷰를 보면 아래 그림과 같이 HelloCube_01_ForEach 폴더 안에 씬, README 문서, 세 개의 C# 스크립트가 들어있다. README 파일의 내용만으로 이 예제의 전체 구조와 동작을 파악할 수 있다. ECS의 각 요소인 Entity, Component, System은 번역하지 않고.. 2019. 3. 29.
반응형