Unity 수학 함수 Mathf
·
Unity
Unity에서는 수학 함수와 상수를 제공하는 Mathf 클래스를 제공합니다. 이 클래스에는 다양한 수학 함수와 상수들이 구현되어 있어 게임 개발에서 자주 사용됩니다. 기본 수학 함수 Mathf.Abs public static float Abs(float f); 주어진 실수의 절댓값을 반환합니다. Mathf.Clamp public static float Clamp(float value, float min, float max); 주어진 실수의 값을 최소값과 최대값 범위 내에 고정합니다. Mathf.Lerp public static float Lerp(float a, float b, float t); 두 실수 a와 b 사이에서 t 값에 따라 선형 보간을 수행합니다. Mathf.LerpUnclamped publ..
Unity에서 오일러각과 쿼터니언
·
Unity
Unity에서는 게임 오브젝트의 회전을 표현하는 데에 오일러각과 쿼터니언을 모두 사용할 수 있습니다. 오일러각(Euler Angle) 오일러각은 게임 오브젝트의 회전을 각각의 축(x, y, z)을 기준으로 각도를 나타내는 방식입니다. Unity에서는 Transform 컴포넌트의 Euler Angles 속성을 통해 오일러각을 조작할 수 있습니다. 오일러각의 문제점 오일러 각도는 피치, 요 및 롤의 세 가지 각도를 사용하여 3D 공간에서 객체의 방향을 나타내는 방법입니다. Unity에서 오일러 각도는 일반적으로 게임 개체의 회전을 지정하는 데 사용됩니다. 그러나 오일러 각도를 사용하여 회전을 나타내는 데 짐벌 잠금(gimbal lock)이라고 하는 문제가 있습니다. 짐벌 잠금은 3개의 오일러 각 중 2개가 ..
Unity로 이해하는 싱글톤 패턴 (Singleton Pattern)
·
Unity/Design Pattern
Unity에서 싱글톤 패턴(Singleton Pattern)을 사용하면 특정 클래스의 인스턴스가 오직 하나만 존재하도록 보장할 수 있습니다. 이는 많은 상황에서 유용한데, 예를 들어 게임에서 현재 상태를 저장하거나, 매니저 클래스를 구현하거나, 리소스를 로드하는 등의 작업이 있을 때 사용할 수 있습니다. 싱글톤 패턴의 구현 싱글톤 패턴을 구현하려면 다음과 같은 단계를 거칩니다. 클래스의 생성자를 private으로 지정하여 외부에서 인스턴스를 생성하지 못하도록 합니다. 클래스 내부에 private static 변수를 선언합니다. 클래스 내부에 public static 메서드를 만들어 private static 변수를 리턴하도록 합니다. 이 메서드를 통해 클래스 외부에서 유일한 인스턴스에 접근할 수 있습니다..
Unity에서 게임 오브젝트 회전하는 방법
·
Unity
Unity에서는Transform 컴포넌트를 사용하여 게임 오브젝트를 회전시킬 수 있습니다. 1. Transform.Rotate() Transform.Rotate() 함수를 사용하여 게임 오브젝트를 회전시킬 수 있습니다. 이 함수는 세 개의 인자를 받습니다. public void Rotate(Vector3 eulerAngles, Space relativeTo = Space.Self); eulerAngles: 회전시킬 방향 벡터입니다. relativeTo: 회전시킬 기준 좌표계를 지정합니다. 생략하면 Space.Self로 설정됩니다. // 예시: 오브젝트를 x축으로 30도 회전 transform.Rotate(new Vector3(30, 0, 0), Space.Self); 2. Transform.rotatio..
Unity에서 게임 오브젝트 위치 이동 시키기
·
Unity
Unity에서는 C# 스크립트를 사용하여 오브젝트의 위치를 이동시킬 수 있습니다. 아래는 기본적인 방법입니다. 1. Transform 컴포넌트의 position 값을 변경 Transform 컴포넌트의 position 속성을 직접 변경하여 오브젝트의 위치를 이동시킬 수 있습니다. using UnityEngine; public class ObjectMover : MonoBehaviour { void Update() { transform.position = new Vector3(0, 1, 0); } } 위 코드는 매 프레임마다 오브젝트의 위치를 (0, 1, 0)으로 이동시킵니다. 2. Translate 메서드 사용 Transform 컴포넌트의 Translate 메서드를 사용하여 오브젝트를 상대적으로 이동시킬 ..
연산자란? 연산자 종류 - 단항 연산자, 이항 연산자, 삼항 연산자
·
Unity
C# 및 다른 프로그래밍 언어에서는 다양한 종류의 연산자를 사용할 수 있습니다. 연산자는 피연산자의 개수에 따라 단항 연산자, 이항 연산자, 삼항 연산자로 구분됩니다. 단항 연산자 단항 연산자는 하나의 피연산자를 가지는 연산자입니다. C#에서 사용하는 대표적인 단항 연산자로는 다음과 같습니다. + : 양수 부호를 지정합니다. - : 음수 부호를 지정합니다. ++ : 피연산자에 1을 더합니다. -- : 피연산자에서 1을 뺍니다. ! : 논리 부정 연산자입니다. true를 false로, false를 true로 바꿉니다. 단항 연산자는 이항 연산자보다 연산 속도가 빠릅니다. 이항 연산자 이항 연산자는 두 개의 피연산자를 가지는 연산자입니다. C#에서 사용하는 대표적인 이항 연산자로는 다음과 같습니다. + : ..
Unity 코루틴 - Coroutine
·
Unity
코루틴이란?? 유니티에서는 코루틴(Coroutine) 기능을 제공하여 비동기 처리를 쉽게 할 수 있습니다. 코루틴은 메서드를 실행하다가 중간에 일시 정지하고, 다른 코드를 실행한 뒤에 다시 돌아와서 중단된 부분부터 실행을 이어서 진행하는 기능입니다. 코루틴 사용방법 코루틴을 사용하려면, 해당 메서드를 IEnumerator 형식으로 선언하고 yield return 문을 사용하여 일시 정지하는 지점을 지정해주어야 합니다. 예를 들어, WaitForSeconds() 함수는 일정 시간 동안 대기하는 코루틴을 만들 때 사용됩니다. using UnityEngine; using System.Collections; public class CoroutineExample : MonoBehaviour { void Start..
Unity 스크립트 실행 순서 설정
·
Unity
스크립트 실행 순서가 중요한 이유 스크립트 내에서 객체를 생성하거나 이벤트 함수를 등록/해지를 하거나 실행할 때 실행 순서가 꼬여 있을 경우 원하는 대로 작동하지 않습니다. 컴포넌트의 Awake 나 Start 시점에 인스턴스 생성을 하거나 액션을 등록하는 경우 실행 순서가 맞지 않는 경우 nullreferenceexception 에러가 발생한다.... 실행 순서 변경 방법 가장 편리한 방법은 메인 메뉴에서 편집(Edit) > 프로젝트 설정(Project Settings) > 스크립트 실행 순서(Script Execution Order)를 선택하여 스크립트 실행 순서를 변경하는 방법이다. Apply버튼 위에 + 버튼을 눌러서 스크립트를 추가할 수 있고 Default Time 기준으로 위에 있으면 기본 시간..