본문 바로가기

유니티

(39)
[의사난수노이즈] 해시 - 시각화(Catlikecoding) 튜토리얼에 포함된 내용이 아니고 제가 추가한 내용은 밑줄로 표시했습니다. 사물을 예측할 수 없고 다양하며 자연스럽게 보이게 하기 위해서는 무작위성이 필요합니다. 이것이 정말로 무작위인지 아니면 정보 부족이나 관찰자의 이해로 인해 그렇게 나타나는지는 중요하지 않습니다. 그래서 이 무작위성을 결정적이며 완전한 무작위가 아닌 것으로 만들 수 있습니다. 잘못 설계된 다중 스레드 코드는 경쟁 조건(race conditions)으로 이어져 예측할 수 없는 결과를 초래할 수 있지만, 이는 신뢰할 수 있는 임의성의 소스가 아닙니다. 진정하게 신뢰할 수 있는 무작위성은 일반적으로 사용할 수 없는 대기 잡음을 샘플링하는 하드웨어와 같은 외부 소스에서만 얻을 수 있습니다. 진정한 무작위성은 일반적으로 바람직하지 않습니다. ..
[RenderTexture] 유니티 렌더텍스처 기본 렌더 텍스처는 런타임에 업데이트 되는 텍스처를 렌더링할 수 있는 텍스처입니다. 게임 내 TV 카메라 또는 미니 맵과 같은 많은 아이디어에 활용할 수 있습니다. 이번 글에서는 렌더 텍스처를 만드는 방법과 렌더 텍스처의 소스 카메라를 셋팅하는 방법을 다룹니다. 렌더 텍스처는 새 레벨 로드, 시스템 화면 보호기, 전체 화면 전환 등 특정 이벤트에서 손실 될 수 있음을 명심하세요. 그런 일이 발생하면 기존의 렌더 텍스처는 'not yet created'상태가 되며 'IsCreated' 함수로 확인할 수 있습니다. 다른 'native engine object' 유형과 마찬가지로 렌더 텍스처의 수명에 주의를 기울이고 릴리스(RenderTexture.Release' 기능과 함께 사용을 마치면 이를 해제하는 것이 중요..
[UGUI] Layout Element - Unity Auto Layout 성능이 악랄하다는 Unity Auto Layout을 개조시키기 위해 공부중입니다. 레이아웃의 요소의 최소(minimum), 기본(preferred) 또는 유연한 크기(flexible)를 재정의하려는 경우 'Layout Element' 컴포넌트를 게임오브젝트에 추가하여 이를 수행할 수 있습니다. 레이아웃 컨트롤러는 다음 순서로 레이아웃 요소에 너비 또는 높이를 할당합니다. - 먼저 레이아웃 컨트롤러는 최소 크기 속성(Min Width, Min Height)를 할당합니다. - 사용 가능한 공간이 충분하면 레이아웃 컨트롤러는 선호하는 크기 속성(Preferred Width, Preferred Height)을 할당합니다. - 사용 가능한 추가 공간이 있는 경우 레이아웃 컨트롤러는 유연한 크기 속성(Flexibl..
[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..
[UIToolkit]Visual Tree ※반복되는 단어는 줄여서 표현하겠습니다! 줄여서 표현할 단어 뒤에 괄호로 어떻게 표현할지 표시한 후, 그 다음부터는 해당 단어를 줄여서 표현하고 있습니다. UI툴킷의 가장 기본적인 구성 요소는 visual element입니다. visual element는 부모-자식 관계를 가진 계층 구조의 트리로 정렬됩니다. 위 다이어그램은 계층 트리의 단순화된 예와 UI Toolkit의 렌더링된 결과를 표시합니다. Visual Element(VE) VisualElement클래스는 Visual Tree에서 모든 노드에 대한 base입니다. Visual Tree에서의 모든 노드는 VE를 기반으로 설계되었습니다. VE기본 클래스에는 스타일, 레이아웃, 데이터 및 이벤트 핸들러와 같은 모든 컨트롤에 대한 공통 속성이 포함되어..