분류 전체보기
Unity 코루틴 - Coroutine
코루틴이란?? 유니티에서는 코루틴(Coroutine) 기능을 제공하여 비동기 처리를 쉽게 할 수 있습니다. 코루틴은 메서드를 실행하다가 중간에 일시 정지하고, 다른 코드를 실행한 뒤에 다시 돌아와서 중단된 부분부터 실행을 이어서 진행하는 기능입니다. 코루틴 사용방법 코루틴을 사용하려면, 해당 메서드를 IEnumerator 형식으로 선언하고 yield return 문을 사용하여 일시 정지하는 지점을 지정해주어야 합니다. 예를 들어, WaitForSeconds() 함수는 일정 시간 동안 대기하는 코루틴을 만들 때 사용됩니다. using UnityEngine; using System.Collections; public class CoroutineExample : MonoBehaviour { void Start..

Unity 스크립트 실행 순서 설정
스크립트 실행 순서가 중요한 이유 스크립트 내에서 객체를 생성하거나 이벤트 함수를 등록/해지를 하거나 실행할 때 실행 순서가 꼬여 있을 경우 원하는 대로 작동하지 않습니다. 컴포넌트의 Awake 나 Start 시점에 인스턴스 생성을 하거나 액션을 등록하는 경우 실행 순서가 맞지 않는 경우 nullreferenceexception 에러가 발생한다.... 실행 순서 변경 방법 가장 편리한 방법은 메인 메뉴에서 편집(Edit) > 프로젝트 설정(Project Settings) > 스크립트 실행 순서(Script Execution Order)를 선택하여 스크립트 실행 순서를 변경하는 방법이다. Apply버튼 위에 + 버튼을 눌러서 스크립트를 추가할 수 있고 Default Time 기준으로 위에 있으면 기본 시간..
Unity 이벤트 함수
Unity의 핵심 기능 중 하나는 개발자가 게임 내 특정 작업이나 조건에 대한 응답으로 트리거할 수 있는 이벤트를 생성할 수 있는 이벤트 시스템입니다. 이러한 이벤트는 특정 이벤트에 대한 응답으로 엔진이 자동으로 호출하는 특수 메서드인 Unity 이벤트 함수에 의해 처리됩니다. Unity 이벤트 함수는 Unity의 MonoBehaviour 클래스에 포함된 미리 정의된 메서드입니다. 이러한 메서드는 객체가 생성되거나 소멸될 때, 충돌이 발생할 때 또는 버튼이 눌릴 때와 같은 특정 이벤트에 대한 응답으로 엔진에 의해 자동으로 호출됩니다. 다양한 유형의 Unity 이벤트 함수가 있으며 각 함수는 특정 이벤트 또는 일련의 이벤트에 의해 트리거됩니다. 이벤트 함수 실행 순서 : Awake > OnEnable > ..
Unity 스크립트 작성 시 유용한 애트리뷰트
모든 애트리뷰트는 [] 안에 넣어서 작성한다. AddComponentMenu("Test/Script") 컴포넌트 추가 시 해당 폴더에 스크립트가 생긴다 UnityEditor.MenuItem("MyMenu/Menu") ContextMenu 컴포넌트 안에서 함수를 실행할 수 있다. ContextMenuItem("Random", RandomNumber") public class AttributeManager : MonoBehaviour { [ContextMenuItem("Random", "RandomNunber")] public int num; void RandomNumber() { num = Random.Range(0, 100); } } System.Obsolete("위 스크립트는 사용을 제한합니다.") 해..
파이썬 파일 및 폴더 다루기 : OS모듈
os는 Operating system의 약자로 폴더 생성, 파일 삭제, 이름 변경 등 운영체제의 종속 기능을 수행할 수 있는 모듈이다 import os os를 임포트해주면 사용할 수 있다 현재 작업 경로 확인 getcwd() import os print(os.getcwd()) >> C:\Users\Administrator cwd는 Current Work Directory 로 현재 작업 경로를 알려준다. 작업 경로 변경 chdir() import os os.chdir(r'C:\Program Files\Windows Defender') print(os.getcwd()) >> C:\Program Files\Windows Defender 파일 목록 listdir() import os os.chdir(r'C:\P..
파이썬 데이터 묶기 zip()
zip() 함수란?? zip 함수는 여러 개의 순회 가능한 객체를 인자로 받고, 각 객체가 담고 있는 원소를 튜플 형태로 반환합니다 저는 zip 함수를 보면 압축 파일 형태가 생각나는데요 이렇게 생각하시면 이해하시기 쉬울것입니다 score = [70,65,90] name = ['철수','영희','진수'] for pair in zip(score,name): print(pair) 위 코드를 실행하면 이러한 결과물이 나옵니다 (70, '철수') (65, '영희') (90, '진수') 감이 오시나요?? 같은 인덱스에 있는 데이터를 묶어서 짝을 지어줍니다 저장 score = [70,65,90] name = ['철수','영희','진수'] total_list = list(zip(score,name)) total_di..

이미지의 크기 변환 cv2.resize()
이미지의 사이즈를 변환시키는 cv2의 함수 resize를 알아 보도록 합시다 cv2.resize(src, dsize, dst=None, fx=None, fy=None, interpolation=None) -> dst • src : 이미지(input) • dsize : 변환 시킬 이미지 크기(output) , (w,h) 튜플로 사용하며 (0,0)이면 fx와 fy 값으로 결정함 • dst : 출력 이미지 • fx, fy : 스케일 비율. dsize 값이 0일때 유효 ex) 이미지 크기가 1920* 1080 일때 fx=0.5, fy=0.5 이면 960*540 크기로 변환을 의미 • interpolation : 보간법. 기본값은 INTER_LINEAR 보간법 종류 사이즈가 변할 때 pixel 사이의 값을 결정 ..
CV2로 IPCAMERA 영상을 동영상으로 저장 해보자
먼저 코드를 보여드리고 설명드리겠습니다 import cv2 import os, datetime class capture(): def __init__(self,ip,id,pw,rport,): self.ip = ip self.id = id self.pw = pw self.rport = rport self.url = f'rtsp://{id}:{pw}@{ip}:{rport}/cam0_0' def video(self): cap = cv2.VideoCapture(self.url) fourcc = cv2.VideoWriter_fourcc(*'XVID') width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGH..