본문 바로가기

728x90

난 이 분야 전문가야!

(49)
Qt :: Signal과 Slot 정리 1. Signal과 Slot이란?Signal (신호):객체가 어떤 이벤트가 발생했음을 알리기 위해 발송하는 메시지입니다.주로 클래스 내부에서 정의되며, 특정 조건이 만족될 때 emit키워드를 사용해 발송됩니다.Signal은 함수처럼 호출되지만, 직접 실행되지 않고 연결된 Slot을 호출합니다.예시:signals: void clicked(); // 버튼이 클릭되었을 때 신호 void valueChanged(int newValue); // 값이 변경되었을 때 신호 Slot (슬롯):Signal과 연결되며, Signal이 발송되었을 때 실행되는 함수입니다.일반 멤버 함수처럼 정의되지만, 특별히 slots: 접근 한정자를 사용하여 정의됩니다.예시:public slots: void onClic..
C# :: 선형 자료구조 (Array, Dynamic Array, Linked List) 취준을 위해 다시 정리해본다. 대학교 1학년 때 잘 이해도 안되는 연결리스트를 c로 직접 구현하느라 애를 많이 썼던 기억이 아직도 생생하다...  선형 구조는 자료를 순차적으로 나열한 형태이다.배열, 동적 배열연결 리스트스택 / 큐 배열 (Array)배열은 고정된 크기의 연속적인 메모리 블록에 데이터를 저장한다. 모든 요소가 동일한 데이터 타입을 가지며, 인덱스를 사용하여 요소에 접근할 수 있다. 장점빠른 인덱스 접근: 특정 인덱스의 요소에 O(1) 시간 복잡도로 접근할 수 있다.메모리 효율성: 요소들이 연속적으로 저장되므로 메모리 오버헤드가 적다.단점고정 크기: 배열의 크기를 초기화할 때 정해야 하며, 이후에는 크기를 변경할 수 없다.비효율적인 삽입 및 삭제: 요소를 삽입하거나 삭제할 때, 특히 배열의..
Unity :: Meta Quest :: Passthrough 설정법 시작 전 개발환경 세팅 https://cagongman.tistory.com/94 Passthrough 설정OVRCameraRig 오브젝트에 OVR Passthrough Layer 컴포넌트를 추가한다.Prejection Surface 요소를 Reconstructed로 변경Placement 요소를 underlay로 변경 OVRCameraRig 오브젝트의 Inspector 창에서Passthrough support : Supported로 설정Insight PassthroughEnable Passthrough 체크 스카이박스 제거OVRCameraRigTrackingSpaceCenterEyeAnchorCenterEyeAnchor 오브젝트의 Inspector 창에서Clear Flags를 Solid Color로 변경..
Unity :: Meta Quest :: Controllers 및 Hands 설정 [Unity] Meta Quest :: 개발 환경 설정 이 완료되어 있는 상태라 가정함. Controller 설정Project 창에서 OVRControllerPrefab을 찾아 LeftControllerAnchor, RightControllerAnchor 오브젝트의 자식으로 각각 추가한다.추가로 OVRControllerPrefab의 Inspector 창에서 Controller 프로퍼티를 각각 왼쪽은 L Touch, R Touch에 맞게 설정해줌  Hand Prefab 추가하는법Project 창에서 OVRHandPrefab을 찾고 LeftHandAnchor, rightHandAnchor 오브젝트의 자식으로 각각 추가한다. (Controller 설정 때와는 다른 위치임)OVRHandPrefab inspect..
Unity :: Meta Quest :: 개발 환경 설정 우선 3D Core로 새로운 프로젝트를 하나 생성. Build Settings으로 이동하여 Android platform으로 변환한다.Player Settings에서 XR Plugin Management를 설치해준다. 설치 완료 후 아래와 같은 창이 뜰텐데 PC와 Android에 모두 오큘러스를 체크한다. Unity Package Manger에서 oculus Integration Asset을 임포트한다.에셋을 import 할때 이런 창들이 뜰텐데 모두 파란색 권장 사항들을 클릭해 준다. (upgrade 및 재부팅 까지 모두 수행) 설치하고 나면 이제 프로젝트 상단에 Oculus 탭이 생성되어 있을 것이다.Oculus -> Tools -> Project Setup Tool 클릭안드로이드와 PC의 모든 에러..
C++ :: 코테를 위한 STL 정리 STL 이란Standard Template Library(STL)는 C++ 프로그래밍 언어의 표준 라이브러리로, 데이터 구조와 알고리즘을 제공하는 템플릿 클래스 및 함수들의 집합이다. 1. STL의 주요 구성 요소이터레이터 (iterator)컨테이너 (container)알고리즘 (algorithm) 1.1 반복자 (Iterator)이터레이터는 컨테이너의 요소들에 접근하고 순회하는 데 사용되는 객체입니다. 이터레이터는 포인터와 유사하게 동작하며, 특정 컨테이너와 함께 사용됩니다. 순방향 반복자 (Forward Iterator): 원소를 순차적으로 순회할 수 있습니다.역방향 반복자 (Reverse Iterator): 원소를 역방향으로 순회할 수 있습니다. 순방향 반복자  .begin( )  컨테이너의 첫 워..
ML-Agent :: Error (protoc >= 3.19.0.) 해결법 윈도우에서 강화학습 환경을 세팅하기 위해 ML-Agent를 설치한 후 설치가 잘 되었는지 확인하는 과정에서 다음과 같은 에러가 발생했다. TypeError: Descriptors cannot not be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0. If you cannot immediately regenerate your protos, some other possible workarounds are:  1. Downgrade the protobuf package to 3.20.x or lower.  2...
Unity :: Ragdoll 머리 흔들림 해결법 최근에 레그돌 효과를 사용해서 연구를 진행하고 있다. 머리의 position, rotation, velocity, angular velocity 데이터를 사용해야 하는데 레그돌이 쓰러진 후 머리가 계속 흔들리는 현상이 발생해서 난감한 상황이었다. 영상처럼 Agent가 쓰러진 후에도 계속 머리가 흔들리는 이유를 찾아보니까 머리 흔들림을 저지할 마찰이 없기 때문인걸 알 수 있었다. 첫 번째 해결방법 보면 머리 부분에 collider가 적용이 안되어 있거나 매우 작게 설정되어 있는 경우가 있다. 이렇게 되면 머리 부분과 지면이 닿았다 라는 것을 인지하지 못하게 되고 마찰 또한 생기지 않는다. 첫 번째 해결방법으로는 collider의 크기를 키우는 것이다. 두 번째 해결방법 머리 회전 각도의 제한 각도를 설정해..

728x90