[UNITY C#] 코루틴(Coroutine) 간단 정리
·
UNITY/Script
코루틴 - Unity 매뉴얼 코루틴 - Unity 매뉴얼코루틴을 사용하면 작업을 다수의 프레임에 분산할 수 있습니다. Unity에서 코루틴은 실행을 일시 정지하고 제어를 Unity에 반환하지만 중단한 부분에서 다음 프레임을 계속할 수 있는 메서드입니docs.unity3d.com코루틴 (Coroutine)코루틴은 각 프레임 시퀸스에 대해서 명령을 처리해야 하는 경우에 Update 메서드 대신 사용하는 작업입니다.void Fade() { SpriteRenderer spriteRenderer; for(float a = 1f; a >= 0f; a -= 0.05f) { Color color = spriteRenderer.color; color.a = a; spriteRenderer.color = color; } ..
[UNITY C#] Localization을 이용한 대화 시스템 구현
·
UNITY/Script
대화 시스템 (Dialogue System) 대화 시스템은 캐릭터 간의 상호작용을 통해 게임의 서사를 더 생동감 있게 전달할 수 있습니다. 간단한 게임의 경우, Unity에서 이 시스템을 만드는 것은 어렵지 않습니다. 하지만 게임의 사이즈가 커지면서 대화의 양이 많아지고 여기에 현지화 기능까지 추가한다면, 이 기능들을 모두 담은 시스템을 구현하기는 까다로울 수 있습니다.  Unity에는 강력한 현지화 기능을 제공하는 Localization이라는 Package가 존재합니다. 이 현지화 기능을 대화 시스템에 적용시키기 위해서 다음과 같은 작업을 진행합니다. Package 설치 및 기본 설정https://hyeokjunjjang.tistory.com/entry/UNITY-Package-Localization-..
[UNITY C#] Intro Loopable AudioSource 구현
·
UNITY/Script
https://johnleonardfrench.com/ultimate-guide-to-playscheduled-in-unity/ How to Queue Audio Clips in Unity (the Ultimate Guide to PlayScheduled) - John Leonard FrenchLearn How to queue up Audio Clips (seamlessly), make dynamic music & beat-match audio in my ultimate guide to PlayScheduled in Unity.johnleonardfrench.comIntro Loopable MusicUnity에서는 [AudioSource Component]의 Loop 옵션을 체크하여 사운드 파일이 종료되..
[UNITY] 시네머신(Cinemachine) 2D 간단 사용법
·
UNITY/Tool
https://unity.com/kr/unity/features/editor/art-and-design/cinemachine 시네머신 Unity의 시네머신으로 복잡한 카메라의 움직임을 만드는 방법을 알아보세요. 타겟 트래킹, 구성, 블렌딩 및 자르기까지 쉽고 직관적으로 작업할 수 있습니다. unity.com Cinemachine Cinemachine은 특별한 스크립트없이 다양한 카메라 동작을 수행할 수 있도록 해주는 기능입니다. 3D에서 더 유용하게 사용할 수 있지만 2D에서 유용하게 사용할 수 있는 카메라 전환을 중심으로 간단하게 정리하였습니다. Package 설치 [Window > Package Manager]를 선택합니다. [Packages]를 [Unity Registry]로 설정합니다. [Cine..
[UNITY C#] 팝업 상자(Pop-up Box) UI 구현
·
UNITY/Script
기본 설정 Canvas를 생성하여 UI를 구성하고 팝업 상자를 띄울 Panel Object를 생성합니다. (Canvas > Render Mode를 Screen Space - Camera로 설정했습니다.) (Panel은 Raycast Target을 끄거나 최상단 자식으로 두어야 합니다. 마우스 Click, Enter, Exit 이벤트를 방해할 수 있습니다.) Popup Panel의 자식으로 팝업 상자와 텍스트를 추가합니다. (텍스트는 TextMeshPro를 사용했습니다.) 스크립트 추가 PopupManager.cs 더보기 using System.Collections; using UnityEngine; using TMPro; /// /// 팝업 상자를 관리하는 클래스입니다. /// public sealed ..
[UNITY C#] 원근감있는 배경 : 패럴랙스 스크롤링(Parallax Scrolling) 구현
·
UNITY/Script
패럴랙스 스크롤링 (Parallax Scrolling) 패럴랙스 스크롤링(Parallax Scrolling)은 스크롤의 진행도(카메라의 위치)에 따라서 관측 위치에 따른 물체(배경)의 위치나 방향, 상대 속도에 차이를 두어 원근감을 갖도록 하는 기법입니다. Unity 2D에서 3D와 비슷한 효과를 내기 위해서 이 기법을 사용합니다. 구현하기 다음과 같이 카메라가 이동할 수 있는 범위인 ① Object(Ground)와 패럴랙스 스크롤링을 적용할 배경인 ②~ Object(Background) 1개 이상을 생성하고 Sprite Renderer의 Sorting Layer와 Order Layer를 조정하여 원하는 모습으로 설정합니다. 위에서 생성한 모든 Object의 양쪽 끝에 Point Object를 생성합니다..
[UNITY] Post Processing 간단 사용법
·
UNITY/Tool
https://docs.unity3d.com/Manual/PostProcessingOverview.html Unity - Manual: Post-processing and full-screen effects Post-processing and full-screen effects Unity provides a number of post-processing effects and full-screen effects that can greatly improve the appearance of your application with little set-up time. You can use these effects to simulate physical cameraA c docs.unity3d.com Post Pro..
[UNITY] Animator Override Controller 간단 사용법
·
UNITY/Tool
Animator Override Controller Animator Override Controller는 같은 Animator에서 각각 다른 Clip을 사용할 수 있는 Animator Controller입니다. 어떤 Animator의 Parameter와 구성 방식은 같지만 각 Clip에서 사용하는 이미지나 연출 방식이 다를 경우에 많이 사용합니다. 간단 사용법 [Assets 창 > 마우스 우클릭 > Create > Animator Controller]를 클릭하여 새로운 Animator Controller를 생성합니다. 해당 Animator의 Clip을 추가하여 구성합니다. [Assets 창 > 마우스 우클릭 > Create > Animator Override Controller]를 클릭하여 새로운 Ani..
[UNITY C#] Unity Attribute 정리
·
UNITY/Script
https://docs.unity3d.com/kr/2020.3/Manual/Attributes.html 속성 - Unity 매뉴얼 Attributes 는 스크립트에서 클래스, 프로퍼티 또는 함수 위에 명시하여 특별한 동작을 나타낼 수 있는 마커입니다. 예를 들어, 프로퍼티 선언 위에 HideInInspector 속성을 추가하여 인스펙터가 공용 docs.unity3d.com 2020.3.32f1 버전 기준 * 대부분의 필드 데이터에 대한 Unity Attribute는 속성을 추가할 필드 데이터에 public이나 [SerializableField] 속성을 추가하여 Inspector창에 표시되도록 해야 합니다. AddComponentMenu [AddComponentMenu("{메뉴 이름}")] // 클래스 A..
[UNITY] Sprite Mask 간단 사용법
·
UNITY/Tool
https://docs.unity3d.com/kr/current/Manual/class-SpriteMask.html 스프라이트 마스크 - Unity 매뉴얼 스프라이트 마스크(Sprite Masks)는 스프라이트 또는 스프라이트 그룹을 숨기거나 보여주는 데 사용됩니다. 스프라이트 마스크는 Sprite Renderer 컴포넌트를 사용하는 오브젝트에만 영향을 미칩니다. docs.unity3d.com Background Sprite 배경으로 사용할 Sprite를 생성합니다. Add Component를 클릭하고 Sprite Mask를 검색하여 추가합니다. Sprite를 Sprite Renderer의 Sprite와 같은 것(또는 마스킹할 형태의 Sprite)으로 설정합니다. Masking Sprite 마스킹할 Sp..