Unity에서 Resources 클래스 사용하기
·
Unity
Unity에서는 Resources 클래스를 이용하여 프로젝트에서 사용할 수 있는 리소스들을 로드할 수 있습니다. 이번 글에서는 Resources 클래스를 사용하는 방법과 주의사항에 대해 알아보겠습니다. Resources 폴더 생성 먼저, Resources 폴더를 생성합니다. Resources 폴더는 프로젝트의 루트 디렉토리에 생성하면 됩니다. 이 폴더에는 프로젝트에서 사용할 리소스들을 저장합니다. 예를 들어, 이미지, 사운드, 텍스트 등의 파일을 저장할 수 있습니다. Resources.Load 메서드 Resources 폴더에 있는 리소스를 로드하려면, Resources.Load 메서드를 사용합니다. 이 메서드는 로드할 리소스의 경로를 문자열로 전달받습니다. 예를 들어, Resources 폴더에 있는 이미..
파이썬 모듈 : OpenCV 윤곽선 검출
·
파이썬/OpenCV
이번 글에서는 파이썬 cv2 모듈을 이용하여 이미지 윤곽선을 검출하는 방법에 대해 알아보겠습니다. 윤곽선 검출 이미지 윤곽선 검출은 이미지에서 물체의 윤곽선을 검출하는 것을 의미합니다. 이를 통해 이미지에서 물체의 형태와 크기를 파악할 수 있습니다. OpenCV에서는 다양한 윤곽선 검출 알고리즘을 제공하며, 이 중 가장 많이 사용되는 알고리즘은 cv2.findContours() 함수를 이용한 Contour Detection 입니다. Contour Detection Contour Detection은 이미지에서 객체의 경계를 인식하여, 객체의 윤곽선을 검출하는 알고리즘입니다. 아래 코드는 이미지 윤곽선을 검출하는 예제입니다. import cv2 # 이미지 읽어오기 img = cv2.imread('image...
파이썬 모듈 : OpenCV 가장자리 검출
·
파이썬/OpenCV
이번 글에서는 파이썬 cv2 모듈을 활용하여 이미지 가장자리를 검출하는 방법에 대해 알아보겠습니다. Canny Edge Detection Canny Edge Detection은 이미지에서 가장자리를 검출하는 알고리즘 중 가장 성능이 우수한 알고리즘 중 하나입니다. 이 알고리즘은 다음과 같은 과정으로 가장자리를 검출합니다. 이미지를 grayscale로 변환합니다. Gaussian blur를 적용하여 이미지의 noise를 제거합니다. Sobel filter를 사용하여 이미지의 gradient를 계산합니다. Non-maximum suppression을 사용하여 이미지의 가장자리를 추출합니다. Double threshold를 사용하여 추출한 가장자리 중 유효한 가장자리를 선택합니다. Hysteresis thre..
Unity에서 플레이어 데이터를 JSON 파일로 저장하기
·
Unity
Unity에서 게임을 개발할 때, 플레이어 데이터를 저장하고 불러오는 것은 매우 중요합니다. 이번 글에서는 Unity에서 플레이어 데이터를 JSON 파일로 저장하고 불러오는 방법에 대해 알아보겠습니다. 플레이어 데이터 클래스 생성하기 먼저, 플레이어 데이터를 저장할 클래스를 생성합니다. 이 클래스는 SerializableAttribute를 적용하여 직렬화 가능하도록 만들어야 합니다. using System; [Serializable] public class PlayerData { public int level; public int experience; public int gold; } 위 코드에서는 level, experience, gold를 저장할 수 있는 PlayerData 클래스를 생성하였습니다. ..
파이썬 모듈 : OpenCV 이미지 확대, 회전, 자르기
·
파이썬/OpenCV
OpenCV는 다양한 이미지 처리 함수를 제공합니다. 이미지 확대, 회전, 자르기와 같은 기본적인 함수들도 포함되어 있습니다. 이번 글에서는 OpenCV를 사용하여 이미지를 확대, 회전, 자르는 방법에 대해 알아보겠습니다. 이미지 확대 이미지를 확대하기 위해서는 resize() 함수를 사용합니다. 이 함수는 이미지를 지정한 크기로 확대하거나 축소할 수 있습니다. import cv2 # 이미지 읽어오기 img = cv2.imread('image.jpg') # 이미지 확대하기 img_resized = cv2.resize(img, None, fx=2.0, fy=2.0, interpolation=cv2.INTER_CUBIC) # 이미지 출력하기 cv2.imshow('image', img_resized) cv2...
Unity 카메라(Camera) 컴포넌트
·
Unity
Unity에서는 카메라(Camera) 컴포넌트를 사용하여 게임 화면을 제어할 수 있습니다. 이번 글에서는 카메라 컴포넌트의 프로퍼티와 메서드를 자세하게 다루어 보겠습니다. 카메라 컴포넌트 프로퍼티 Camera.orthographic orthographic 모드인지 아닌지를 나타내는 bool 값을 반환합니다. Camera.aspect 화면의 가로세로 비율을 나타내는 float 값을 반환합니다. Camera.fieldOfView 카메라의 시야각을 나타내는 float 값을 반환합니다. Camera.nearClipPlane 카메라에서 가장 가까이 있는 물체까지의 거리를 나타내는 float 값을 반환합니다. Camera.farClipPlane 카메라에서 가장 멀리 있는 물체까지의 거리를 나타내는 float 값을 ..
Unity Navigation Component - 네비게이션
·
Unity
Unity에서 게임 오브젝트의 네비게이션을 구현할 때 유용한 컴포넌트들을 간단하게 알아보겠습니다. 1. NavMesh 컴포넌트 NavMesh 컴포넌트는 네비게이션 메시(mesh)를 생성하는 데 사용됩니다. 네비게이션 메시는 씬에서 이동 가능한 지역을 정의합니다. NavMesh 컴포넌트를 사용하여 네비게이션 메시를 생성하려면 다음 단계를 따르면 됩니다. 씬에서 이동 가능한 지역을 선택합니다. GameObject > 3D Object > NavMesh를 선택합니다. 새 NavMesh 컴포넌트가 생성되고, 이동 가능한 지역이 자동으로 감지됩니다. 2. NavMeshAgent 컴포넌트 NavMeshAgent 컴포넌트는 네비게이션 시스템의 핵심 요소입니다. 이 컴포넌트를 사용하여 캐릭터를 이동시킬 수 있습니다. ..
Unity 스크립터블오브젝트 : ScriptableObject
·
Unity
Unity에서는 스크립터블 오브젝트(ScriptableObject)를 사용하여 게임 오브젝트에서 사용할 데이터를 만들 수 있습니다. 스크립터블 오브젝트는 프리팹과 비슷한 개념으로, 스크립트로 구성된 데이터 파일입니다. 이 파일은 프로젝트의 에셋으로 저장되며, 게임 오브젝트에서 사용하기 쉬운 형태로 구성됩니다. 스크립터블 오브젝트는 다음과 같은 장점이 있습니다. 데이터를 수정하면 즉시 모든 인스턴스에 적용됩니다. 유연하고 효율적인 방식으로 게임 데이터를 저장하고 관리하는 데 사용할 수 있으므로 다양한 게임 개체와 장면 간에 쉽게 수정, 재사용 및 공유할 수 있습니다. 가볍고 효율적입니다. 즉, 처리 및 저장해야 하는 데이터의 양을 줄여 게임 성능을 개선하는 데 사용할 수 있습니다. 게임 로직과 데이터를 분..