지난번에는 UI Toolkit을 소개했으면 오늘은 프로그래머가 어떤 식으로 사용하는지에 대해 정리하는 시간입니다.이번 글은 다음과 같은 순서로 진행됩니다.UI Builder를 활용해서 테스트 UI Document(.uxml) 작성하기작성한 UI Document를 기반으로 C# 코드 작성하기씬에서 컴포넌트를 연결 한 후 직접 테스트해보기1. UI Builder를 활용해서 UI Document(. uxml) 작성하기Project 우클릭 → Create → UI Toolkit → UI Document를 선택해서 새로운 UI Document를 생성합니다.이름은 TestUIDocument로 설정하겠습니다. (자유입니다.)생성된 TestUIDocument를 클릭하면 UI Builder 가 열리면서 확인할 수 있습니..
문제유니티 에디터를 실행한 이후 처음으로 uxml 파일을 선택해서 UI Builder를 실행하면 아래 화면처럼 비율이 깨져있는 Canvas를 볼 수 있습니다.해결 방법UI Builder → Hierarchy에서 최상위 uxml 파일을 클릭합니다.Inspector를 확인하면 다음과 같이 Width : 350, Height : 450 이렇게 이상한 값으로 설정되어 있는 것을 확인할 수 있습니다.해당 Size 바로 아래쪽에 위치한 토글인 Match Game View를 클릭하면 UnityEditor → GameView에서 설정한 사이즈로 적용됩니다.만약 기본 Canvas Size를 변경하고 싶다면?using System;using System.Reflection;using UnityEditor;using Uni..
Unity의 사용자 인터페이스 설계 및 구현 - 공식 홈페이지 E-Book을 참조했습니다.https://unity.com/kr/resources/user-interface-design-and-implementation-in-unity Unity의 사용자 인터페이스 설계 및 구현Unity의 UI 시스템으로 정교한 인터페이스를 만드는 방법을 알아보세요.unity.com최고의 UI는 바로 ‘눈에 띄지 않는’ UI입니다.UI → 게임의 몰입도를 유도하기 위한 디자인 장치 → 플레이어의 시간을 낭비하면 안 된다.Unity UI(UGUI) : 게임 오브젝트 기반 UI 시스템UI Toolkit : 웹 기술에서 아이디어를 얻어 개발된 UI 시스템UI ToolkitUI Toolkit은 본질적으로 기능적인 구현과 UI 디..
Unity 개발 시 다양한 플랫폼을 지원하기 위해 플랫폼 별로 다른 코드 실행이 필요할 때가 있습니다. 이를 위한 주요 두 가지 방법, Application.platform과 #if 디렉티브를 비교해 보겠습니다. Application.platform의 사용 Application.platform은 Unity의 런타임 시점에서 현재 실행 중인 플랫폼을 확인하는 방법입니다. 장점 동적 처리: 단일 빌드로 여러 플랫폼에서 다르게 동작하는 앱을 만들 수 있습니다. 코드 포함: 빌드에 모든 플랫폼에 대한 코드가 포함되어, 하나의 빌드로 여러 환경을 대응할 수 있습니다. 사용 예 if (Application.platform == RuntimePlatform.WindowsPlayer) { // Windows 전용 코드..
서론 최근 회사에서 진행하게 될 프로젝트 중 새롭게 요청된 기능 중 하나인 현지화(Localization) 기능 - 다국어 번역 관련해서 구현하게 된 방향과 추후에 지식공유를 위한 정리 글입니다. 프로젝트 링크 https://github.com/SONSAZANG/UnityLocalizationTest GitHub - SONSAZANG/UnityLocalizationTest: UnityLocalizationTest UnityLocalizationTest. Contribute to SONSAZANG/UnityLocalizationTest development by creating an account on GitHub. github.com 우선 유니티에서 현지화 기능을 사용할 때 진행할 수 있는 방향을 두 가..
본 글은 회사 업무 중에 서버에서 불러오는 Texture2D (JPG, PNG)등의 용량이 너무 커서 램 관리가 필요한 모바일 환경에서 강제 종료되는 현상을 방지하기 위해 구현하게 된 기능입니다. 필요한 기능 서버에서 불러오는 이미지를 런타임 환경에서 불러오는 과정과 동시에 텍스처 압축을 진행하여서 메모리 과부하를 막는 기능이 필요합니다. 유니티 프로젝트 안에 있는 텍스처의 경우 따로 여러 플랫폼에 원하는 형식으로 저장할 수 있는 기능이 제공되고 있으나 서버에서 바로 불러올 경우 위 기능을 사용하지 못하는 형식입니다. 구현한 기능 PNG or JPG -> GPU 랜더링이 필요하지 않는 이미지 파일들을 더 낮은 용량인 RGBA32로 변환 후 DXT5로 압축 진행 using System.Collections..
2021-06-24 깃헙(sonsazang.github.io) 블로그를 사용하다 다시 velog로 돌아왔습니다. -> 티스토리 입문! 유니티를 공부한 지 어연 3~4개월 정도 된 것 같다. 이제 공부한 것을 정리하기 위해 티스토리를 시작하게 되었습니다. 본문으로 들어가기에 앞서 필자의 개발 환경은 Unity + C# + VR입니다. 해당 글의 출처는 위키백과, 인생 유니티 VR/AR 교과서를 참고했습니다. 오늘의 주제: 오브젝트 풀링(Object Pooling) 유니티에서 오브젝트 풀링을 사용하는 이유 ? 콘텐츠의 쾌적한 진행이 어려워져서 인지 부조화가 생기는 것을 방지하기 위해 사용합니다. 인지 부조화(Cognitive Dissonance) ? 자신의 태도와 행동이 일관되지 않고 모순되어 양립할 수 없..