유니티(unity)에서 구글 모바일 광고(구글 애드몹, Google AdMob) 구현하기 유니티 모바일(안드로이드) 플랫폼에서 구글 애드몹(리워드 광고) 구현하는 방법 구글 모바일 광고 유니티 플러그인(google mobile ads unity plugin) 다운로드 1)아래 구글 모바일 광고 유니티 플러그인 깃허브 웹사이트로 이동하고 다운로드의 릴리즈(releases)를 클릭합니다. https://github.com/googleads/googleads-mobile-unity/tree/main 2)최신 버전의 유니티 플러그인을 확인하고 에셋의 유니티 패키지를 다운로드합니다(unitypackage) https://github.com/googleads/googleads-mobile-unity/releases..
유니티 URP 프로젝트에서 서로 다른 대상 플래폼의 렌더러 설정하기 1)프로젝트 설정(project settings)의 graphics에서 현재 프로젝트의 렌더 파이프라인이 URP로 설정되어있는것을 확인할수있습니다. 2)프로젝트의 Settings 폴더에서 렌더 파이프라인 에셋과 렌더러 데이터를 확인할수있습니다. 현재 렌더파이프라인에서 사용중인 렌더러를 선택합니다(URPP-HighFidelity-Renderer) 3)렌더러의 속성을 설정하고 렌더러 특징(renderer feature)을 추가합니다. 렌더러 특징을 추가하려면 하단의 add renderer feature를 클릭하고 추가할 특징을 선택합니다. 4)프로젝트 설정의 quality로 이동합니다. 품질(quality)에 따라서 대상 플래폼에서 사용중인..
유니티(unity) 빌트인 렌더파이프라인에서 그림자 해상도 설정(stable fit, close fit) 1)씬에서 조명에 의한 오브젝트의 그림자 해상도가 낮은것을 확인할수있습니다. 2)프로젝트 설정(project settings)의 quality에서 shadow projection, shadow distance를 확인합니다. stable fit shadow projection 3)stable fit을 선택하고 shadow distance의 수치를 낮춥니다. 4)그림자의 해상도가 높아진것을 확인할수있습니다. close fit shadow projection 5)또는 close fit을 선택하면 높은 해상도의 그림자를 표현합니다.
유니티 그림자 영역 렌더링 커스텀 쉐이터 ShadowDrawwer 그림자 영역만 렌더링하는 커스텀 쉐이터입니다. 일본의 유니티 개발자 keijiro가 작성한 쉐이더로 아래 웹사이트에서 다운로드 및 이용할수있습니다. 포워드 렌더링 패스(Forward rendering path)에서 정상적으로 동작합니다. 카메라 스카이박스를 비활성화해야합니다. ShadowDrawwer https://github.com/keijiro/ShadowDrawer GitHub - keijiro/ShadowDrawer: Shadow matte shader for Unity Shadow matte shader for Unity. Contribute to keijiro/ShadowDrawer development by creating a..
유니티 빌드 오류 BuildFailedException: Burst compiler failed running(버스트 컴파일 미사용 경우) (유니티 버전 2021.3.6f1) 버스트 컴파일을 사용하지않는 프로젝트에 burst 패키지가 설치되어있는 경우 빌드 오류가 발생합니다. 1)프로젝트 빌드시에 콘솔에서 다음과 같은 오류를 확인할수있습니다. BuildFailedException: Burst compiler(1.6.6) failed running 2)상단의 window 메뉴에서 패키지 관리자(package manager)로 이동합니다. 3)Burst 패키지가 설치되어있는것을 확인할수있습니다. 4)프로젝트 설정의 Burst AOT Settings로 이동합니다. 5)Enable Burst Compilatio..
유니티(Unity)의 텍스트 메시 프로(TextMeshPro) 텍스트 메시 프로(TextMeshPro)는 기존의 UI 텍스트와 레거시 텍스트 메시(Text Mesh)를 대체하는 새로운 텍스트 솔루션입니다. 고급 텍스트 렌더링 기술(SDF 텍스트 렌더링)을 사용하여 높은 성능으로 시각적 품질이 우수한 텍스트를 렌더링합니다. 또한 커스텀 쉐이더 세트, 향상된 텍스트 제어 기능(텍스트 스타일 지정 및 텍스처링)등을 제공합니다. TextMeshPro 소개 영상(TextMesh Pro - Product Highlight) https://youtu.be/MX_pM8QKTAc 레거시 텍스트 메시와 텍스트 메시 프로 비교(TextMesh vs. TextMesh Pro) https://youtu.be/rdc8UkxuSZ..
유니티에서 렌더링 패스 설정하기(포워드 렌더링, 디퍼드 렌더링) 유니티에서 렌더파이프라인(빌트인 렌더파이프라인, URP, HDRP)에 대해 렌더링 패스 설정하는 방법 빌트인 렌더파이프라인(Built-in Render Pipeline) 프로젝트 설정의 graphics에서 tier settings의 렌더링 패스를 선택할수있습니다. 빌트인 렌더파이프라인은 포워드 렌더링 패스가 기본으로 설정되어있습니다(Forward) 카메라의 rendering path에서 렌더링 패스를 오버라이드할수있습니다. URP(Universal Render Pipeline) 프로젝트 설정의 graphics에서 현재 사용중인 URP 에셋으로 이동합니다(Universal render pipeline asset) 렌더러 목록에서 렌더링 패스를..
유니티(Unity) 기본 어셈블리(Assembly-CSharp) 확인하기 1)프로젝트의 에셋 폴더(Assets)에서 새로운 스크립트를 생성합니다. 2)스크립트를 선택하고 import settings에서 어셈블리 정보(Assembly Information)을 확인합니다. 일반적으로 유니티는 거의 모든 게임 스크립트를 미리 정의된 어셈블리인 Assembly-CSharp.dll로 컴파일합니다. 3)비주얼스튜디오의 솔루션 탐색기를 확인합니다. 4)어셈블리(Assembly-CSharp)와 동일한 이름의 프로젝트를 확인할수있으며 유니티 프로젝트 폴더에 해당 프로젝트 파일이 존재하는것을 확인할수있습니다. 5)프로젝트의 참조를 확인합니다. 6)어셈블리(Assembly-CSharp)의 참조 어셈블리를 확인할수있습니다. ..
유니티의 두가지 파티클 시스템(Shuriken Particle System, VFXgraph) Shuriken Particle System 유니티에 기본적으로 내장된(빌트인 렌더 파이프라인) 모듈 기반의 파티클 시스템으로 일반적인 시각적 효과를 제작하는데 사용할수있습니다. 비교적 고수준의 파티클 시스템으로 CPU 파티클 시뮬레이션을 사용하여 주요 물리 시스템에 접근할 수 있으며 각 개별 파티클의 위치, 색상 및 기타 파티클 속성을 확인하고 제어할수있습니다. https://learn.unity.com/tutorial/introduction-to-particle-systems# VFXgraph 유니티 URP 및 HDRP에서 사용할수있는 노드 그래프 기반의 파티클 시스템으로 일반적인 시각적 효과 뿐만아니라 복..
유니티(Unity) 조이스틱 버튼 입력 사용하기(InputManager) 1)프로젝트 설정(project settings)에서 InputManager를 확인합니다.입력 관리자(InputManager)에서 사전설정된 몇가지 유형의 컨트롤(키, 버튼, 가상축 )을 확인할수있습니다. https://docs.unity3d.com/2021.3/Documentation/Manual/class-InputManager.html 2)Fire1(Fire2)에서 Positive Button에 joystick button 0(joystick button 1)으로 사전설정된 컨트롤을 확인합니다. 3)씬에 게임오브젝트를 생성하고 새로운 스크립트를 추가합니다. Input.GetKeyUp함수 또는 Input.GetButtonUp함수..
유니티(unity)에서 UI 마우스 클릭 이벤트 사용하기(IPointerClickHandler, OnPointerClick) IPointerClickHandler, OnPointerClick를 사용한 마우스 클릭 이벤트 감지 1)씬에 UI 게임오브젝트를 추가하고 구성합니다(Canvas, Panel) UI 마우스 클릭 이벤트 감지를 사용하려면 씬에 이벤트 시스템이 존재해야합니다(EventSystem) 2)캔버스(Canvas) 오브젝트에 Graphic Raycaster 컴포넌트가 존재하는지 확인합니다. 그래픽 레이캐스터에서 후면 그래픽 레이캐스트를 사용할지 설정하고(Ignore Reversed Graphics) 레이캐스트 차단 마스크를 설정합니다(Blocking Mask) 3)클릭 이벤트를 사용할 UI 게임..
유니티(Unity) 자식 오브젝트 컴포넌트 가져오기(GetComponentInChildren함수) 다수의 자식 오브젝트가 존재하는 경우 특정한 타입의 컴포넌트를 가지는 게임 오브젝트의 컴포넌트를 가져오기 1)다수의 자식 오브젝트(child)를 가지는 부모 오브젝트(parent)를 준비합니다. 한 개의 자식 오브젝트에 컴포넌트를 추가합니다. 2)새로운 스크립트에서 GetComponentInChildren함수를 사용하여 자식 오브젝트의 컴포넌트를 가져오고 게임오브젝트의 이름을 출력합니다. 3)스크립트를 부모 오브젝트에 추가합니다. 4)게임을 시작하면 다수의 자식 오브젝트중에서 특정한 타입의 컴포넌트(Rigidbody)를 가진 게임오브젝트의 이름을 출력합니다(해당 컴포넌트를 가지는 자식 오브젝트가 두개이상이면..