리지드바디(Rigidbody)와 캐릭터컨트롤러(CharacterController)의 차이와 장단점 비교
·
Unity
유니티에서는 물리 엔진을 사용하여 오브젝트의 움직임을 시뮬레이션할 수 있습니다. 물리 엔진은 리지드바디(Rigidbody)와 캐릭터컨트롤러(CharacterController)라는 두 가지 기본 요소를 사용하여 오브젝트의 움직임을 제어합니다. 리지드바디 리지드바디는 물리적 객체의 기본적인 모델입니다. 리지드바디는 질량, 관성, 충돌 감지 등의 속성을 가지고 있습니다. 리지드바디는 물리 엔진에 의해 제어되며, 외부 힘에 의해 움직입니다. 캐릭터컨트롤러 캐릭터컨트롤러는 플레이어 캐릭터와 같은 두 다리로 걷는 물리적 객체의 모델입니다. 캐릭터컨트롤러는 리지드바디와 달리 물리 엔진에 의해 직접 제어되지 않습니다. 대신, 캐릭터컨트롤러는 플레이어의 입력을 사용하여 움직입니다. 차이점 리지드바디와 캐릭터컨트롤러의 ..
XFile과 File의 메타데이터에 관하여
·
Flutter
이미지 메타데이터를 다룰 때 dart:io 라이브러리의 File 클래스와 image_picker 패키지의 XFile 클래스 중 하나를 사용할 것입니다. 이 두 클래스를 이해하고 Flutter에서 이미지 메타데이터를 효과적으로 추출하는 방법에 대해 자세히 알아보겠습니다. File vs XFile File 클래스는 2021년 9월 마지막 업데이트를 통해 매우 간단하며 dart:io 라이브러리의 일부입니다. 그러나 이미지 내 위치 정보와 같은 메타데이터를 처리하는 데 있어서는 범위가 다소 제한적입니다. 반면 XFile은 이미지_픽커 패키지의 구성 요소로 이미지와 동영상을 선택할 수 있도록 제작되어 있습니다. 보다 중요한 것은 사용 중인 플랫폼과 허가된 권한에 따라 다르지만 보다 광범위한 메타데이터를 제공할 수..
Flutter에서 이미지 메타데이터 추출하기
·
Flutter
Flutter에서 이미지 메타데이터를 추출하는 방법은 크게 두 가지가 있습니다. image_picker 패키지 사용 네이티브 코드 사용 image_picker 패키지 사용 image_picker 패키지는 이미지와 비디오를 선택하도록 설계된 패키지입니다. 이 패키지를 사용하면 이미지를 선택하고, 메타데이터에 액세스할 수 있습니다. image_picker 패키지를 사용하여 이미지 메타데이터를 추출하려면 다음 단계를 따르세요. image_picker 패키지를 pubspec.yaml 파일에 추가합니다. YAML dependencies: image_picker: ^0.8.4+1 ImagePicker() 클래스를 사용하여 이미지를 선택합니다. Dart import 'package:image_picker/image_..
클릭한 위치가 특정 오브젝트 안에 속해 있는지 판단하는 방법
·
Unity/Tip
소개 Unity에서 RectTransform 객체가 화면상의 특정 좌표를 포함하는지 여부를 확인하려면 RectTransformUtility.RectangleContainsScreenPoint 함수를 사용할 수 있습니다. 이 함수는 RectTransform 객체의 좌표, 크기, 회전각도, 그리고 화면상의 좌표를 입력으로 받아 RectTransform 객체가 화면상의 좌표를 포함하는지 여부를 반환합니다. 사용법 RectTransformUtility.RectangleContainsScreenPoint 함수는 다음과 같이 사용할 수 있습니다. bool contains = RectTransformUtility.RectangleContainsScreenPoint(rectTransform, screenPoint); ..
C#의 오버로딩이란?
·
C#
C#의 오버로딩은 같은 이름의 메서드나 생성자를 여러 개 선언하는 기법입니다. 각 메서드나 생성자는 매개변수의 개수, 타입, 순서가 다르지만, 이름은 동일합니다. 오버로딩의 장점 오버로딩은 다음과 같은 장점이 있습니다. 코드를 간결하게 작성할 수 있습니다. 사용자의 편의성을 높일 수 있습니다. 코드의 재사용성을 높일 수 있습니다. 오버로딩의 단점 오버로딩은 다음과 같은 단점이 있습니다. 메서드나 생성자를 구분하기 어려울 수 있습니다. 메모리 사용량이 증가할 수 있습니다. 오버로딩의 사용법 오버로딩을 사용하려면 다음과 같은 사항을 유의해야 합니다. 메서드나 생성자의 이름은 동일해야 합니다. 메서드나 생성자의 매개변수의 개수, 타입, 순서는 달라야 합니다. 메서드나 생성자의 반환 타입은 같을 수도 있고 다를..
C#의 var 키워드란?
·
C#
C# 7.0부터 var 키워드를 사용하여 변수를 선언할 수 있습니다. var 키워드는 컴파일러가 변수의 타입을 추론하여 초기화합니다. var 키워드의 사용법 var 키워드를 사용하여 변수를 선언하려면 다음과 같이 사용합니다. // var 키워드를 사용하여 변수를 선언합니다. var variable; 이 코드는 variable이라는 이름의 변수를 선언합니다. 컴파일러는 variable 변수의 타입을 추론하여 초기화합니다. var 키워드의 예시 var 키워드는 다음과 같은 경우에 사용할 수 있습니다. 변수의 타입을 명시하지 않고 코드를 작성해야 하는 경우 컴파일 타임에 타입이 결정되는 데이터를 저장해야 하는 경우 var 키워드의 장점 var 키워드는 다음과 같은 장점이 있습니다. 코드를 간결하게 작성할 수 ..
C#의 동적 변수란?
·
C#
C#의 동적 변수는 컴파일 타임에 타입이 결정되지 않는 변수입니다. 동적 변수는 dynamic 키워드를 사용하여 선언합니다. 동적 변수의 선언 동적 변수는 다음과 같이 선언합니다. // dynamic 키워드를 사용하여 동적 변수를 선언합니다. dynamic variable; 이 코드는 variable이라는 이름의 동적 변수를 선언합니다. 동적 변수의 초기화 동적 변수는 다음과 같이 초기화할 수 있습니다. // 동적 변수를 숫자로 초기화합니다. variable = 10; // 동적 변수를 문자열로 초기화합니다. variable = "Hello, world!"; // 동적 변수를 객체로 초기화합니다. variable = new Person(); 더보기 이 코드는 variable 변수를 다음과 같이 초기화합니..
C#의 2차원 배열이란?
·
C#
C#의 2차원 배열은 행과 열로 구성된 배열입니다. 행은 배열의 가로 방향을 나타내고, 열은 배열의 세로 방향을 나타냅니다. 2차원 배열의 선언 2차원 배열은 다음과 같이 선언합니다. // int 형식의 2차원 배열을 선언합니다. int[,] array = new int[3, 4]; 이 코드는 3개의 행과 4개의 열로 이루어진 int 형식의 2차원 배열을 선언합니다. 2차원 배열의 초기화 2차원 배열은 다음과 같이 초기화할 수 있습니다. // int 형식의 2차원 배열을 초기화합니다. int[,] array = new int[3, 4] { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} }; 더보기 이 코드는 위에서 선언한 2차원 배열을 다음과 같이 초기화합니다. [0, 0..