Unity

·Unity/ERROR
서론최근에 회사에서 WebGL 포팅 작업을 담당하게 되면서 발생하게 된 에러입니다.Unity 6.1 (6000.1.9 f1) 버전에서는 WebGL 할당 메모리가 증가되었다는 이야기를 듣고 빌드를 시도했습니다.빌드는 정상적으로 되었지만 WebRequest를 호출하는 부분에서 Invoking error handler due toTypeError: Module.dynCall_viiiii is not a functionat XMLHttpRequest.http_onload (http://localhost:8000/Build/NEW.framework.js:9497:31)NEW.framework.js:9497 Uncaught TypeError: Module.dynCall_viiiii is not a function ..
·Unity/Function
지난번에는 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 가 열리면서 확인할 수 있습니..
·Unity/ERROR
문제UnityHub : 3.12.1Unity : 2022.3.23 f1Unity Hub에서 프로젝트 실행 시 100%는 아니지만 빈번하게 발생하는 현상해당 현상일 때 모니터 상단부의 일부 영역을 가리는 검은색 박스가 노출된다.작업 관리자를 통해서 확인하면 Ram이 많이 올라간다.해결방법우선 임시적으로 해결하고 있는 방법으로는 강제 종료 후 다시 시작한다. 이 방법으로 해결해서 진행하는데도 문제는 없으나 조금 더 근본적인 해결 방법을 찾아보았습니다.Unity gets stuck on white loading screen on startup?Unity Discussions에 저와 비슷한 상황인 글을 발견했습니다.댓글에 있는 다양한 해결 방법을 하나씩 시도할 예정입니다.저의 경우 Kaelcoke가 작성한 Ap..
·Unity/Function
문제유니티 에디터를 실행한 이후 처음으로 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/Function
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
Unity 2D 카메라 설정과 스프라이트 PPU 계산법Unity에서 2D 게임을 개발할 때는 직교 카메라(Orthographic Camera)를 를 주로 사용합니다. 이때 카메라의 Size 설정과 해상도에 맞는 PPU(Pixels Per Unit) 값을 잘 설정해야 스프라이트가 선명하게 보이고 원하는 크기로 출력됩니다.카메라의 Size란?직교 카메라의 Size 값은 화면 중심에서 위쪽까지의 거리(유닛)를 를 의미합니다.이 값은 Unity 유닛 단위이며, 일반적으로 1 유닛 = 1미터로 가정합니다.- Size = 2 → 전체 세로 시야 : 4 유닛- Size = 5 → 전체 세로 시야 : 10 유닛즉, 전체 새로 유닛 = Size * 2해상도와 FOV(Field of View)예를 들어, 4K 해상도 ..
·Unity/C#
의존관계 역전 원칙(Dependency inversion principle)소프트웨어 모듈들을 분리하는 특정 형식상위(High-Level) 모듈은 하위(Low-Level) 모듈의 것을 직접 가져오면 안됨둘 다 추상화(abstraction)에 의존해야 함추상화는 세부 사항에 의존해서는 안됨.세부사항이 추상화에 의존해야 함.클래스가 다른 클래스와 관계가 있으면 안됨클래스가 다른 클래스의 작동 방식을 많이 알고 있으면 안됨종속성(dependency)또는 결합(coupling) 발생종속성은 어느 잠재적인 위험public class Switch : MonoBehaviour { public Door door; public bool isActivated; public void Toggle() {..
·Unity/C#
인터페이스 분리 원칙(Interface segregation principle)클라이언트가 자신이 이용하지 않는 메서드에 의존하지 않아야 한다는 원칙큰 덩어리의 인터페이스들을 구체적이고 작은 단위들로 분리클라이언트들이 꼭 필요한 메서드들만 이용할 수 있게함시스템의 내부 의존성을 약화하고 유연성을 강화public interface IUnitStats{ public float Health { get; set; } public int Defense { get; set; } public void Die(); public void TakeDamage(); public void RestoreHealth(); public float MoveSpeed { get; set; } pu..
sonsazang
'Unity' 카테고리의 글 목록