유니티(Unity) 기초 튜토리얼 따라하기 모음 - UI, 횡스크롤 게임, 기타Introduction to Unity UI 유니티 UI 기본 이해, 3부 구성 튜토리얼 시리즈 https://www.kodeco.com/6570-introduction-to-unity-ui-part-1 Introduction to Unity UI – Part 1In this first part of a three-part tutorial series, you’ll get acquainted with the Unity UI, enabling you to add custom user interfaces to your games.www.kodeco.comhttps://www.kodeco.com/6569-introduction-to..
유니티 스크립팅 - UnityEngine.Random, System.Random 사이에 모호한 참조입니다 오류 1)스크립트에서 using 지시문을 사용하여 System 네임스페이스를 참조하였습니다. (using System;) 2)스크립트의 Random.Rnage함수에서 Random은 UnityEngine.Random 및 System.Random 사이에 모호한 참조입니다오류를 표시합니다. 3)using Random = UnityEngine.Random;을 기입합니다. 4)오류가 개선된것을 확인할수있습니다.
유니티(Unity) 플랫폼 목표 프레임 속도 설정 Application.targetFrameRateApplication.targetFrameRate는 유니티가 게임 렌더링을 시도하는 목표 프레임 속도를 지정합니다. 정수 > 0 또는 -1(기본값) 유니티의 기본 targetFrameRate 값은 -1입니다. 이것은 게임이 플랫폼의 기본 프레임속도(default frame rate)로 렌더링되어야한다는것을 의미합니다. 기본 프레임 속도는 플랫폼에 따라서 상이합니다. 데스크톱기본 프레임 속도(default frame rate)는 달성 가능한 최대 프레임속도입니다(동기화되지 않은 상태로 렌더링)QualitySettings.vSyncCount를 0으로 설정한 경우 Application.targetFrameRat..
유니티에서 모바일(안드로이드)에 빌드실행한 게임을 디버깅하기(명령프롬프트, adb logcat) 유니티에서 모바일(안드로이드 플랫폼)에 게임을 빌드실행하고 윈도우 명령프롬프트에서 디버깅하는 방법 Android SDK 플랫폼 도구중 하나인 adb(안드로이드 디버그 브리지)가 설치되어있어야한다. https://developer.android.com/studio/command-line/adb 1)모바일 장치를 데스크톱에 연결하고 usb 디버깅을 허용한다 (삼성 갤럭시 모델의 경우 개발자옵션에서 usb디버깅을 활성화하고 장치를 재연결하면 usb디버깅을 허용할수있다) 2)유니티의 build settings에서 build and run을 클릭한다. 3)빌드가 정상적으로 완료되면 모바일에서 게임이 실행된다. 4)시스..
유니티 점진적 가비지 수집(incremental garbage collection) 유니티의 가비지콜렉터는 Boehm–Demers–Weiser garbage collector를 사용한다. https://www.hboehm.info/gc/ 가비지콜렉터가 가비지 수집을 수행할때 프로그램 코드 실행 및 CPU 메인스레드를 중지하며 전체 힙을 검사한다(stop-the world garbage collection) 힙의 모든 오브젝트를 처리한 이후에 어플리케이션 실행을 재개함으로 성능에 영향을 미치는 gc 스파이크(중단으로 인해 프로파일러 윈도우의 그래프에서 나타나는 큰 스파이크)가 발생한다. incremental mode는 가비지콜렉터가 힙의 모든 오브젝트들을 처리하기 위해 긴 중단을 한번만 수행하는 대신에 작..
유니티(unity)에서 라이트의 그림자 설정(cast shadow, receive shadow) 1)예에서 씬에 sphere, cube 오브젝트를 생성하였다. cube 오브젝트는 바닥에 그림자를 드리우고(cast shadow) sphere 오브젝트의 그림자를 받는것을 확인할수있다. 2)빛에 의한 그림자를 생성하려면 라이트 오브젝트의 shadow type을 설정한다(hard shadows, soft shadows) 3)cube 오브젝트의 mesh renderer에서 cast shadows를 활성화하면(on) cube오브젝트에 의한 그림자를 생성한다. receive shadows에 체크하면 cube 오브젝트의 표면에 다른 오브젝트에 의한 그림자를 생성한다. cube 오브젝트의 receive shadows 비..
유니티 URP에서 알파 클리핑 사용하기(alpha clipping) 알파 클리핑(alpha clipping)은 투명한 영역과 불투명한 영역의 경계가 존재하는 투명 효과를 표현할때 사용할수있다. 예를 들어 동물의 날개, 나뭇잎등에 알파 클리핑을 사용하면 비교적 저해상도 모델에서 세부적인 표현이 가능하다. 1)알파클리핑을 사용하려면 텍스처에 알파 채널을 추가하여 투명한 영역과 불투명한 영역을 설정한다. 2)유니티에서 불러오기한 해당 텍스처의 알파 채널을 확인할수있다(import settings) 3)모델의 재질에서 알파 클리핑을 지원하는 URP의 빌트인 셰이더를 선택한다(lit, simple lit, unlit, baked lit, complxe lit) 4)재질의 속성에서 알파 클리핑(alpha clipp..
스피드트리(speedtree)에서 저장한 텍스처에 노이즈가 추가되는 문제 스피드트리에서 텍스처 저장할때 노이즈를 추가하는 프로세스 제거하기 1)스피드트리 프로그램에서 모델이 사용중인 텍스처의 인풋 이미지가 정상적으로 표시되는것을 확인할수있다. 텍스처의 노이즈 확인하기 2)모델의 내보내기 옵션에서 texture packing을 유니티 엔진 또는 언리얼 엔진으로 설정한다. 3)저장한 텍스처를 확대해서 보면 이미지에 노이즈가 추가된것을 확인할수있다. 4)저장한 모든 색상 맵에 노이즈가 추가되어있는것을 확인할수있다. 5)포토샵에서 텍스처 파일을 열기한다. 6)상단의 layer 메뉴에서 layer mask의 from transparency를 선택한다. 7)투명도의 레이어 마스크가 추가된것을 확인할수있다. 8)마스..
유니티(Unity) 셰이더 Shaderlab 구문과 HLSL(High-Level Shading Language)HLSL (High-Level Shading Language)HLSL은 마이크로소프트가 개발한 고급 셰이더 언어로 주로 DirectX 기반의 그래픽 API에서 사용됩니다. 셰이더는 기본적으로 그래픽 파이프라인에서 버텍스(Vertex)와 픽셀(Pixel, Fragment) 단위로 데이터를 처리하여 화면에 그래픽을 출력하는 역할을 합니다. HLSL를 사용하여 조명, 그림자, 텍스처등 셰이더 내부의 실제 계산 로직을 작성합니다.셰이더의 로직(수학, 조명 계산) , 낮은 수준에서 GPU에서 실행되는 코드, 그래픽 API 표준 언어 https://learn.microsoft.com/ko-kr/window..