목록전체 글 (125)
멈추지 않고 끈질기게

※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다.※ 해당 포스팅은 청년취업사관학교 교육 과정의 최종 프로젝트에 관한 내용을 포함하고 있습니다. ※ 해당 포스팅은 Unreal 5.4.1 버전을 기준으로 작성되었습니다. 0. 서론 챗봇 작업하는 분이 1차적으로 작업을 완료하여 기존의 STT 로직과 합쳐서 STT -> TTS 로직을 완성해보기로 했습니다. 런타임중에 wav 파일을 실행하는 부분은 성공해서, TTS 결과물의 저장 경로를 전달받아 해당 파일을 읽는 방식으로 구현해보았습니다. 1. 이전 이슈 - BeginPlay() 최초 1회 실행 BeginPlay()에서 꼭 한번 실행해주어야 하는 이유까진 찾지 못했지만, 저 타이밍에 읽어오는 파일은 다른 파일이어도..
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다.※ 해당 포스팅은 청년취업사관학교 교육 과정의 최종 프로젝트에 관한 내용을 포함하고 있습니다. ※ 해당 포스팅은 Unreal 5.4.1 버전을 기준으로 작성되었습니다. 0. 서론 STT는 생각보다는 금방 구현되었고, 기왕 마이크를 사용하는 김에 NPC의 대화까지 TTS로 음성으로 출력하기로 얘기가 되었습니다. 챗봇을 담당하신 분이 TTS로 음성 파일을 생성하는 부분을 작업하시기로 했고, 저는 언리얼에서 런타임 중에 음성 파일을 읽어 출력하는 로직을 구현하기로 했습니다. 1. 레퍼런스(블루프린트) 일단 블루프린트 기반으로 wav 파일을 읽어오는 로직의 레퍼런스는 금방 찾을 수 있었습니다.https://www...

※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다.※ 해당 포스팅은 청년취업사관학교 교육 과정의 최종 프로젝트에 관한 내용을 포함하고 있습니다. ※ 해당 포스팅은 Unreal 5.4.1 버전을 기준으로 작성되었습니다. 0. 서론 최종 프로젝트에서 STT(Speech to Text)를 사용하기로 하여 우선적으로 구현하기로 했습니다. 언리얼에서 STT를 사용하는 방법을 찾아보았더니 대부분 플러그인을 사용하는 방식이라, 일단 플러그인 없이 구현할 수 없는지 찾아보았습니다. 찾아보니 Whisper라는 오픈 AI사에서 제공하는 STT 모듈이 있었습니다. 테스트해보니 한국어도 인식하며, 정확도도 높은 편이라 만족스러웠습니다. 다만 파이썬에서 실행해야 하고, 저장된 음..
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다.※ 해당 포스팅은 청년취업사관학교 교육 과정의 최종 프로젝트에 관한 내용을 포함하고 있습니다. 현재 언리얼 최종 프로젝트만을 남기고 있습니다. 1~3차 프로젝트 동안 개발 일지를 소홀히 했던 점을 반성하고자, 최종 프로젝트 기간에는 작업일에는 길던 짧던 반드시 개발 일지를 남기기로 정하여 이를 기록하고자 글 남깁니다. 제목은 '[Unreal][포트폴리오] 최종 프로젝트 1일차 - (개발한 내용 or 디버깅)' 으로 작성하고, 언리얼 엔진은 새로운 기능도 활용하기 위해 5.4.1 버전으로 새롭게 설치하여 진행할 예정입니다. 감사합니다.

※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 청년취업사관학교 교육과정 중에 진행한 언리얼 팀 프로젝트에 관한 회고록입니다. ※ 해당 포스팅은 Unreal 5.3.1 버전을 기준으로 작성되었습니다. 언리얼 팀 프로젝트(1차) 완료 후 작성하는 회고록입니다. 사실 프로젝트 종료 직후에 적었어야 했는데, 프로젝트 종료 후에 바로 다음 프로젝트 이어가고 하다보니 좀 밀렸습니다. 2차, 3차도 시간 나는대로 이어서 작성하도록 하겠습니다. 1. 프로젝트 소개 1차 프로젝트는 'Left 4 Dead'를 카피캣한 좀비 서바이벌 FPS 게임입니다. 2인 팀으로 진행하였으며, 저는 플레이어 및 UI를 담당하였습니다. 1차 프로젝트라 복잡한 로직보다는..

※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. 1. 오버플로우 - 숫자 변수들끼리 사칙연산 시, 결과물이 해당 자료형의 최대값을 넘길 수 있으므로 주의 #include using namespace std;int main(){ int a = 2000000000; // 20억 int b = 2000000000; // 20억 int c = a + b; cout 2. 계산하기 전에 캐스팅 - 어떤 변수를 다른 변수들의 계산 결과로 초기화하는 경우, 우변의 피연산자들의 자료형에 영향을 받음 - ex) long long c = a * b의 경우, a와 b가 int라면 우변의 계산결과 또한 int 타입이므로 int의 최대값을 넘지 못함#inc..

※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 Unreal 5.3.1 버전을 기준으로 작성되었습니다. 1. 조작 단축키 - 마우스 우클릭 드래그 : 화면 회전 - 마우스 우클릭 중 WASD : 화면 이동(좌우, 전후방) - 마우스 우클릭 중 Q / E: 화면 이동(상하) - Q / W / E / R : 기즈모 모드 선택(선택, 이동, 회전, 스케일) - F : 선택된 액터 위치로 이동 - End : 선택된 액터를 바닥에 닿을때까지 아래로 이동 - Alt + 드래그 : 선택된 액터 복제 - Ctrl + Alt + 드래그 : 드래그 영역 내 모든 액터 선택 Ctrl + 마우스 좌클릭 : 해당 액터만 선택 해제 - Ctrl + B : 선택된 에..

※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 C++ 17 버전을 기준으로 작성되었습니다. ※ 해당 포스팅은 하기 출처들을 참조하였습니다. - https://learn.microsoft.com/ko-kr/cpp/cpp/lambda-expressions-in-cpp?view=msvc-170 이번 포스팅에서는 C++의 람다 함수에 대해 알아보겠습니다. 1. 람다 표현식이란 람다 표현식(lambda expression)이란 함수를 정식 선언하지 않고 익명으로 작성하는 것을 말합니다(이하 람다 식). C++에서의 람다 식은 다음과 같은 형식으로 작성합니다. int main() { // [캡쳐](매개변수)->반환형 {함수 내용} []()->void..