유니티
-
유니티 기초...2일지 2022. 10. 8. 17:52
패키지 매니저 구입한 에셋을 실제 프로젝트에서 사용하기 위해서는 에셋 스토어에서 해당 에셋을 프로젝트에 추가할 수도 있지만 유니티 에디터의 패키지 매니저를 통해서도 에셋 임포트가 가능하다. 패키지 매니저는 [Window] - [Package Manager] 메뉴를 통해 사용할 수 있고 메뉴를 누르게 되면 다음과 같은 창이 나타나게 된다. 패키지 매니저에서는 현재 프로젝트에 로드 되어있는 패키지를 바로 확인해서 업데이트, 제거를 할 수 있다. Pakcages를 Unity Registry로 바꾸면 유니티에서 제공하는 에셋을 확인할 수 있고 My Assets를 누르면 내가 보유한 모든 에셋을 확인할 수 있다. Unity 2018에 추가된 이후 발전을 거듭해 최신 버전에서는 Filters를 통해 원하는 카테고리..
-
[Unity] 유니티 에셋 권한 관리 방법게임 엔진/Unity 2022. 10. 7. 23:08
에셋 권한 관리 방법 험블 번들 등 외부에서 에셋을 구입해 유니티에 등록하는 경우 My Assets에 구입한 에셋이 보이지 않는 경우가 존재한다. 보통 에셋에 수량 제한이 존재하는 경우 발생하는데, 이 경우 Dashboard에서 수량을 자신의 계정에 부여해야 한다. 에셋 스토어 - 우 상단 바둑판 - Dashboard 순서로 들어가면 아래와 같은 사이트가 나오는데, 유니티 계정으로 로그인하면 관리 화면으로 넘어갈 수 있다. 이후 사이트 메뉴에서 Projects - Unity Teams Seat Management에 들어가면 프로젝트 별로 시트(수량)를 관리하는 창으로 넘어가게 된다. 나타난 사이트의 좌측 메뉴에서 조직 - 에셋 관리로 들어가면 드디어 구입한 에셋을 모두 확인할 수 있게된다. 마지막으로 사..
-
유니티 기초...1일지 2022. 10. 5. 21:56
렌더 파이프라인 구분 유니티 2020이후로 Built-in 파이프라인 외에 URP와 HDRP가 추가되었다. 각각은 다음과 같은 특징을 가진다. 빌트인 렌더 파이프라인 기본적인 렌더 파이프라인으로 커스터마이즈 옵션이 제한적이다. 전통적인 포워드 렌더링, 디퍼드 셰이딩 등을 포함한다. 유니버설 렌더 파이프라인(URP) 쉽고 빠르게 커스터마이즈 할 수 있는 렌더 파이프라인. 사전에 빌드 된 파이프라인으로 이미 최적화 되어있어 가볍게 사용할 수 있다. 고해상도 렌더 파이프라인(HDRP) 스크립터블 렌더 파이프라인으로 고사양 플랫폼을 위한 고해상도 그래픽스를 지원한다. 물리 기반 조명 및 머터리얼을 사용하며 컴퓨트 셰이더를 활용할 수 있다. ※ 스크립터블 렌더 파이프라인(SRP) : C# 스크립트를 이용해 렌더링..
-
유니티 화면 비율 고정 처리...25일지 2021. 12. 22. 15:12
최대화 처리 최대화 처리를 위해 작업표시줄 등을 제외한 창의 순수한 크기를 구해준다. // 윈도우 창 border 사이즈 RECT windowRect = new RECT(); RECT clientRect = new RECT(); GetWindowRect(m_hwnd, out windowRect); GetClientRect(m_hwnd, out clientRect); int windowBorderSizeX = (windowRect.Right - windowRect.Left) - (clientRect.Right - clientRect.Left); int windowBorderSizeY = (windowRect.Bottom - windowRect.Top) - (clientRect.Bottom - clientR..
-
유니티 화면 비율 고정 처리...24일지 2021. 12. 14. 17:30
최대화 처리 최대화 처리를 위해 먼저 화면에서 사용할 수 없는 영역을 제외한 최대 크기를 알 수 있어야 한다. 이를 위해 윈도우 창의 border와 작업 표시줄의 크기를 가져와 해당 크기를 모니터의 사이즈에서 빼도록 한다. // 윈도우 창 border 사이즈 RECT windowRect = new RECT(); RECT clientRect = new RECT(); GetWindowRect(m_hwnd, out windowRect); GetClientRect(m_hwnd, out clientRect); int windowBorderSizeX = (windowRect.Right - windowRect.Left) - (clientRect.Right - clientRect.Left); int windowBord..
-
유니티 화면 비율 고정 처리...23일지 2021. 12. 10. 20:12
전체 화면에서 비율 고정 처리 전체 화면(Alt + Enter)에 진입했을 때 화면이 모니터 모양으로 바뀌는 게 아닌 지정된 비율로 적용되도록 처리한다. ResolutionController.cs public class ResolutionController : MonoBehaviour { // 생략 private bool m_fullscreen; // 생략 /// /// 초기화 하며 필요한 값을 미리 가져온다. /// private void Initialize() { // 생략 m_hwnd = FindWindow(null, "FixedResolution_DetectByCursorIcon"); GetWindowRect(m_hwnd, out m_wndRect); m_updateState = UpdateSta..
-
유니티 화면 비율 고정 처리...22일지 2021. 12. 9. 18:15
기존 처리에 크기 제한 추가 WinProc 코드에서 최대 크기, 최소 크기에 대한 제한이 상당히 괜찮아 보여서 추가하려고 한다. 단, 가로 세로 크기를 동일하게 둘 생각인데 가로 크기 제한과 세로 크기 제한이 달라서 가로로 줄일 때와 세로로 줄일 때 사이즈가 서로 다르다는 것을 발견했기 때문이다. 이게 굉장히 이상하게 느껴졌기에 가로, 세로의 크기 제한을 같은 값을 사용할 생각이다. 먼저, 크기 조절을 위한 변수를 추가했다. // 화면 최소 크기 public int MinSize { get; set; } = 512; // 화면 최대 크기 public int MaxSize { get; set; } = 1024; 이후 기존 크기 변경 코드를 함수로 분리한 뒤, 사이즈 조절 후에도 크기가 지정된 크기를 벗어나..
-
유니티 화면 비율 고정 처리...21일지 2021. 11. 30. 17:02
화면 크기 변경 시 튀는 이유 확인 aero snap 처리를 위해 현재 Screen.width 와 Screen.height가 기존 설정된 값과 다를 때 SetResolution 처리를 하고 있는데 이 상태가 Update 내에서 돌고 있다 보니 변경 중에 Update가 호출되면 문제가 되는 것 같다. 일단 해당 코드를 주석 처리했을 때는 문제 없이 동작하는 것으로 확인된다. 그래서 플래그를 하나 추가해서 사이즈 변경이 진행되는 동안에는 플래그를 활성화 하도록 처리했다. 그런데 이 방법으로도 처리를 막을 수 없었다. 수정된 이후에도 Screen.Width와 rc의 값이 달랐던 것 같다. 그래서 설정 함수 내에 setWidth와 setHeight 설정을 rc로 하는대신 Screen.Width 와 Screen...