본문 바로가기

전체 글

(339)
[UGUI] Unity Auto Layout, 유니티 UI 레이아웃 시스템 성능이 악랄하다는 Unity Auto Layout을 개조시키기 위해 공부중입니다. -> 성능이 악랄한 이유: 레이아웃 요소 변경시마다 자식에 있던 모든 레이아웃 엘리먼트가 부모로 GetComponent를 호출하며 Layoutgroup 컴포넌트를 탐색하며 리빌딩 과정을 진행함 Rect Transform 레이아웃 시스템은 다양한 유형의 레이아웃을 처리할 수 있게 유연하며 요소를 자유롭게 배치할 수도 있습니다. 그러나 때로는 좀 더 구조화된 형태가 필요할 수 있습니다. 자동 레이아웃 시스템은 수평 그룹, 수직 그룹 또는 그리드와 같은 중첩된 레이아웃 그룹에 요소를 배치하는 방법을 제공합니다. 또한 포함된 콘텐츠에 따라 요소의 크기를 자동으로 조정할 수 있습니다. 예를 들어 버튼의 텍스트 내용에 약간의 패딩을 ..
[UIToolkit]UXML 템플릿 작성 - 1 UXML 템플릿은 사용자 인터페이스의 논리적 구조를 정의하는 XML 마크업을 사용하여 작성된 텍스트 파일입니다. 다음 코드 예제에서는 사용자에게 선택을 요청하는 간단한 패널을 정의하는 방법을 보여줍니다. 파일의 첫 번째 줄은 XML 선언입니다. 선언은 선택 사항입니다. 선언이 포함된 경우 첫 번째 줄에 있어야 하며 그 앞에 다른 내용이나 공백이 있으면 안됩니다. version속성은 필수 항목입니다. encoding속성은 선택 사항입니다. encoding이 포함된 경우 파일의 문자 인코딩을 선언해야 합니다. 다음 줄은 문서의 루트, 을 정의합니다. 요소에는 네임스페이스 접두사 정의에 대한 속성과 스키마 정의 파일의 위치가 포함됩니다. 이러한 속성은 특별한 순서 없이 지정할 수 있습니다. UI Toolkit..
[UIToolkit]UXML을 사용한 UI 구조 Unity UXML(Extensible Markup Language)파일은 사용자 인터페이스의 구조를 정의하는 텍스트 파일입니다. UXML형식은 HTML, XAML, XML에서 영감을 받았습니다. 이전에 이러한 형식으로 작업한 적이 있다면 UXML과의 유사점을 찾을 수 있습니다. 그러나 UXML 형식에는 Unity를 사용하는 효율적인 방법을 제공하기 위해 약간의 차이점이 있습니다. 이 섹션에서는 Unity가 지원하는 UXML 형식에 대해 설명하고 UXML 템플릿 작성, 로드 및 정의에 대한 세부 정보를 제공합니다. 또한 새 요소를 정의하는 방법과 UQuery를 사용하는 방법에 대한 정보가 포함되어 있습니다. UXML을 사용하면 기술 수준이 낮은 사용자가 Unity 내에서 사용자 인터페이스를 쉽게 구축할 ..
[UIToolkit]레이아웃 엔진 UI Toolkit에는 레이아웃 및 스타일 속성을 기반으로 시각적 요소를 배치하는 레이아웃 엔진이 포함되어 있습니다. 레이아웃 엔진은 HTML/CSS 레이아웃 시스템인 Flexbox의 하위 집합을 구현하는 Yoga의 레이아웃 원칙을 사용합니다. Yoga Layout | A cross-platform layout engine Why You May Consider Yoga PERFORMANCE Yoga was built to be fast and performance will always be one of Yoga's primary goals. For a layout engine to be able to power any range of applications, it needs to be fast and n..
[방송대 알고리즘]분할정복 알고리즘 ※ 방송대 교재의 예제를 참고하여 작성하였습니다. 디테일한 내용은 교재를 참고 바랍니다. 분할정복 알고리즘 순환적으로 문제를 푸는 하향식 접근 방법 주어진 문제의 입력을 더 이상 나눌 수 없을 때까지 두 개 이상의 작은 문제로 순환적으로 분할하고, 이렇게 분할된 작은 문제들을 각각 해결한 후 이 해들을 결합해서 원래 문제의 해를 구하는 방식 분할된 작은 문제는 서로 독립적, 순환적 분할 및 결과 통합이 가능 분할된 작은 문제는 원래 문제와 동일 분할정복 방법의 처리 과정 분할: 주어진 문제를 여러 개의 작은 문제로 분할 정복: 작은 문제를 순환적으로 분할, 더 이상 분할되지 않을 정도로 크기가 충분히 작다면 순환호출 없이 작은 문제의 해를 구함 결합: 작은 문제에 대해 정복된 해를 결합하여 원래 문제의 ..
[방송대 알고리즘]동적 프로그래밍 ※ 방송대 교재의 예제를 참고하여 작성하였습니다. 디테일한 내용은 교재를 참고 바랍니다. 동적 프로그래밍 상향식 접근 방법으로 소문제를 이용하여 보다 큰 크기의 문제를 해결하는 방법 동적 프로그래밍 방법을 적용하려면 최적성의 원리를 적용해야함 최적성의 원리: 주어진 문제에 대한 최적해는 주어진 문제의 소문제에 대한 최적해로 구성된다. 피보나치 수 동적 프로그래밍을 이용하면 O(n) 연쇄 행렬 곱셈 문제 행렬의 곱셈에 결합법칙이 성립됩을 이용 n개의 행렬을 곱하는 최적의 순서는 n개의 행렬의 어떤 부분집합을 곱하는 최적의 순서를 포함 C(i,j) → i,j 범위 내의 최소의 코스트 크기가 nxm 인 행렬과 mxk인 행렬을 곱하면 필요한 연산 수는 nmk 이다! P(i,j) → 최적의 곱셈 순서를 알기 위한..
[신사동] 사이 - 가로수길 이자카야(21.10.27) 작년 10월에 친구 추천으로 방문한 이자카야입니다. 이 곳을 방문한 이후로 서울에 있는 맛집을 탐방하고 기록을 남겨야지 생각을 하게 되었습니다. 그런 다짐을 한지 5개월이 지난 지금.. 드디어 글을 적어내려가기 시작하고 있습니다.. 나의 게으름이란.. 그동안 다른 맛집들도 찾아다녀서 다른 식당을 먼저 쓸까 하다가 맛집탐방에 눈을 뜨게 해준 곳으로 스타트를 끊어보도록 하겠습니당! 이쁜 기본 그릇과 찌깨다시입니다! 찌깨다시로는 치즈 토마토 샐러드와 가쓰오부시 단무지가 나오는데.. 사진만 봐도 맛이 떠오를 정도로 강력한 스타트였습니다.. 진짜 맛집은 기본메뉴부터 다르구나.. 특히 저 단무지는 집에 가져가서 밥비벼먹고 싶은 맛이였습니다. 술 잘 모릅니다. 사케는 더 모릅니다. 그냥 추천하는걸로 주세요~ 하고 하..
[UIToolkit]Visual Tree ※반복되는 단어는 줄여서 표현하겠습니다! 줄여서 표현할 단어 뒤에 괄호로 어떻게 표현할지 표시한 후, 그 다음부터는 해당 단어를 줄여서 표현하고 있습니다. UI툴킷의 가장 기본적인 구성 요소는 visual element입니다. visual element는 부모-자식 관계를 가진 계층 구조의 트리로 정렬됩니다. 위 다이어그램은 계층 트리의 단순화된 예와 UI Toolkit의 렌더링된 결과를 표시합니다. Visual Element(VE) VisualElement클래스는 Visual Tree에서 모든 노드에 대한 base입니다. Visual Tree에서의 모든 노드는 VE를 기반으로 설계되었습니다. VE기본 클래스에는 스타일, 레이아웃, 데이터 및 이벤트 핸들러와 같은 모든 컨트롤에 대한 공통 속성이 포함되어..