Gemini CLI 설치 및 사용법 Guide
·
카테고리 없음
구글이 Gemini 추론 모델을 무료화 했습니다.Gemini 2.5 pro 모델을 터미널에서 사용할 수 있게 됐습니다. GitHub - google-gemini/gemini-cli: An open-source AI agent that brings the power of Gemini directly into your terminal. GitHub - google-gemini/gemini-cli: An open-source AI agent that brings the power of Gemini directly into your terminal.An open-source AI agent that brings the power of Gemini directly into your terminal. - googl..
Unreal Editor - GPU Visualizer(GPU 시각화 툴)
·
Unreal
GPU 시각화 툴언리얼 인사이트를 실행하지 않고 언리얼 에디터에서 GPU 사용량을 시각화한 툴을 사용할 수 있습니다.에디터에서 Ctrl + Shift + ,(쉼표) 키를 입력하면 다음과 같은 창이 띄워집니다. 혹은 에디터의 콘솔창에 ProfileGPU를 입력하면 됩니다. GPU 시각화 툴은 GPU가 하는 작업들에 대해 얼만큼의 시간을 소모하는지 구체적으로 보여주기 때문에 어떤 렌더링 요소가 시간을 얼마나 잡아 먹는지 쉽게 파악할 수 있어 그래픽적인 최적화에 유용하게 사용할 수 있습니다. 예를 들어 포인트 라이트가 다른 것들 보다 많은 처리 시간을 잡아 먹는다고 파악되면 해당 포인트 라이트을 아웃라이너에서 찾아서 설정이 어떻게 되어 있는지 파악하고 문제가 있을 시 수정하면 됩니다. GPU를 가장 많이 차지..
Unreal Insight 문서 기록
·
Unreal
🔍 언리얼 인사이트(Unreal Insights)란?언리얼 엔진에 통합된 성능 분석 및 프로파일링 도구입니다.런타임 중에 발생하는 다양한 이벤트를 시각화해 분석할 수 있게 해줍니다.이를 통해서 다음과 같은 영역의 병목 현상을 식별하고 최적화를 수행할 수 있게 도움을 줍니다.CPU/GPU 사용량프레임 처리 시간메모리 할당네트워크 트래픽UI 업데이트📖 사용 방법1. 언리얼 인사이트 실행에디터의 하단 툴바에서 Trace를 클릭해 실행혹은 엔진 설치 폴더의 Engine/Binaries/[Platform]/UnrealInsights.exe를 직접 실행합니다. 2. 트레이스 활성화 후 게임 실행언리얼 인사이트를 실행한 상태에서 게임을 시작하면 자동으로 로컬 트레이스 서버에 연결되고 데이터 전송을 시작합니다. 3..
골프 시뮬레이터 Portfolio
·
Portfolio/Unreal C
🖥개요프로젝트명: 더 스윙 제트개발 기간: 2024.04 ~ 2024.08개발 엔진: Unreal Engine 5담당 업무: 멀티 플레이 신규 모드 개발 사용 기술Unreal Engine 5, Unreal C++Socket.io plug inJSONAWS 서버에 데이터 송수신📄Portfolio PDF File 개발 배경기존의 골프 시뮬레이터 "더스윙제트"는 1개의 디바이스에서만 로컬 플레이가 가능한 구조였습니다.하지만 실제 고객 환경에서는 두 개 이상의 방을 합쳐 팀 게임을 하거나 타 매장이나 지역에서 다른 사람들과 경쟁하는 스크린 골프의 특성상 멀티 플레이의 기능은 필수적이였습니다.이에 따라, 멀티 디바이스 간의 실시간 동기화 및 멀티 모드 게임 진행 기능을 요구사항으로 받은 뒤, 모드를 설계 및..
Unreal Reflection System
·
Unreal
리플렉션이란?언리얼 리플렉션(Reflection) 기능은 프로그램이 런타임에 자기 자신을 조사하는 기능입니다.즉, 구체적인 클래스 타입을 알지 못해도 그 클래스의 메소드, 변수들에 접근할 수 있도록 하는 기능으로 런타임에 데이터 타입을 검사하는 기능입니다.C++에서는 *RTTI가 이와 비슷한 기능을 제공합니다.RTTI : 런타임에 타입 검사를 수행해 타입을 얻어오는 기능으로 typeid 연산자를 이용해 객체의 타입을 얻어옵니다.주의사항으로 최소 1개 이상의 가상 함수들을 가지고 있는 클래스에 대해서만 사용이 가능합니다.언리얼 에디터의 디테일 패널, 시리얼라이제이션, 가비지 콜렉션, 네트워크 리플리케이션 등의 시스템에 리플렉션 시스템이 관여합니다. 이러한 리플렉션은 그래픽 용어이기도 해서 '프로퍼티 시스템..
UE EngineSetting 코드 접근
·
Unreal
엔진 퀄리티의 그룹 세팅에 접근해서 변경할 때 개별 세팅에 접근해서 변경할 때 스크린 퍼센티지나 머티리얼 퀄리티 세팅을 변경할 때는 콘솔 명령어를 이용함이 때, 아이러니하게도 머티리얼 퀄리티 세팅의 값이 중간 값과 높음이 바뀌어 있다. r.MaterialQualityLevel 3 은 에픽 설정
스플라인 컴포넌트 위치 구하기
·
Unreal
현재 위치에서 스플라인 컴포넌트의 가장 가까운 위치를 구하는 방법
TSharedPtr과 TSharedRef (스마트 포인터)
·
Unreal
Unreal의 스마트 포인터 라이브러리는 메모리 할당과 추적의 부담을 해소해주도록 설계되어 메모리 관리에 많은 도움을 줍니다. 스마트 포인터의 이점메모리 누수 방지스마트 포인터(TWeakPtr, TWeakObjectPtr 제외)는 공유 참조가 존재하지 않을 때 객체를 자동으로 해제합니다.약한 참조약한 포인터는 공유 참조에서 발생 할 수 있는, 순환 참조 문제와 삭제된 오브젝트를 참조하는(dangling) 포인터 문제를 방지할 수 있습니다.스레드 안전 옵션언리얼 스마트 포인터 라이브러리에는 멀티스레드에 걸쳐 참조 카운팅을 관리하는 코드인 스레드 세이프(thread-safe) 코드가 포함되어 있습니다. 스레드 안정성이 필요하지 않다면 그 대신에 향상된 퍼포먼스를 구현할 수 있습니다.런타임 안전TSharedR..
Unreal 델리게이트
·
Unreal
기능함수 포인터의 직접 접근이 아닌 대리자를 통한 함수 호출 방식 호출할 함수나 이를 포함하는 객체가 없어져도, 대리자가 체크해 안전하게 처리할 수 있음. 동일한 형을 가진 함수 여러 개를 대리자가 묶어서 관리하고, 필요할 때 동시에 모두 호출하는 것이 가능함. 언리얼 딜리게이트 시스템에 등록 가능한 함수는 다음과 같다. (바인딩)전역 C++ 함수 : BindStatic API를 사용해 등록전역 C++ 람다 함수 : BindLambda API를 사용해 등록C++클래스 멤버 함수 : BindRaw  API를 사용해 등록공유포인터 클래스의 멤버 함수 (쓰레드 미지원) : BindSP API를 사용해 등록 공유포인터 클래스의 멤버 함수 (쓰레드 지원) : BindThreadSafeSP API를 사용해 등록UF..
Unreal Collision
·
카테고리 없음
액터간의 충돌을 발생시키기 위해서는 충돌 영역을 지정해줘야 합니다. 그 충돌 영역을 "콜리전"이라고 합니다. 메시 형태 그대로를 충돌 영역으로 잡을 수 있지만, 이렇게 하면 CPU의 과부하가 발생할 가능성이 커집니다. 따라서, Unreal에서는 단순 콜리전 영역으로 Box, Sphere, Capsule 형태의 기본 콜리전 컴포넌트를 제공합니다. Unreal 에디터에서 프로젝트 세팅 >> 콜리전 탭으로 가면 두 가지의 콜리전 채널을 볼 수 있는데 Object 채널은 Collision 간에 충돌을 체크할 때 사용하고 (액터간의 충돌을 확인할 때), Trace 채널은 Unreal에서 제공하는 LineTrace와 같은 Ray Tracing 기능을 이용할 때 사용합니다. 1. Object 채널 두 충돌체끼리 충돌..