일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- leveleditor
- 언리얼엔진
- livrary
- 게임개발
- 게임엔진튜토리얼
- 월드아웃라이너
- bttask
- c언어정리
- 언리얼비헤이어비어트리
- 프로그래밍
- uaiperception
- 언리얼ai
- 수학용어정리
- 각도변환
- 자료구조
- unrealengineai
- 영단어정리
- 프로그래밍일기
- c++porinter
- 자료형타입
- c++용어정리
- 언리얼엔진공부
- c++class
- DX
- 자료구조정리
- ipc(inter process communication)
- c++
- directx
- 25.06.11dir
- 언리얼엔진5
- Today
- Total
목록2025/05 (80)
루리코딩 세상
"래스터라이즈"는 래스터화라는 것을 의미한다. 래스터화는 백터 그래픽을 래스터 이미지(비트맵)으로변환하는 작업을 의미한다. 쉽게 말해, 선이나 모양으로 이루어진 벡터 이미지를 픽셀로 구성된 이미지로만드는 과정을 의미한다.레스터화의 의미벡터 그래픽을 래스터 이미지로 변환레스터화는 벡터 그래픽(선, 곡선, 도형 등으로 표현된 이미지)를 래스터 이미지(픽셀로 구성된 이미지)로 변환하는 과정이다. 인쇄 및 편집 용이성래스터화는 인쇄나 편집 소프트웨어에서 벡터 이미지를 픽셀 기반 이미지로 변환하여 인쇄 시 문제 발생 가능성을 줄이고,편집 소프트웨어에서 다양한 효과를 적용할 수 있게 해준다. 에니메이션 및 게임 개발래스터화는 에니메이션이나 게임 개발에서 2D 캐릭터나 배경을 만들 때 벡터 이미지를 래스터 이미지로 ..
OOP에서 네임스페이스는 코드를 논리적으로 그룹화하고, 이름 충돌을 방지하는 데 사용되는 개념입니다.네임스페이스는 마치 폴더처럼, 다양한 클래스, 변수, 함수 등을 담아두는 공간으로 생각할 수 있습니다. 이름 충돌 방지동일한 이름의 변수느 클래스가 다른 네임스페이스에 있다면, 서로 충돌하지 않고 동시에 사용할 수 있다.예를 들어, 두 개의 다른 모듈에 MyClass라는 클래스가 있다고 해도, 각 네임스페이스에 속해있다면충돌 없이 사용이 가능합니다. 코드 조직화코드의 가독성을 높이고, 복잡한 프로젝트에서 코드를 관리하기 쉽게 만들어준다.네임스페이스를 통해 코드를 논리적으로 묶어두면, 특정 기능을 구현하는 코드를 쉽게찾고 이해할 수 있다. 코드 재사용네임스페이스에 속한 클래스나 함수는 다른 곳에서 쉽게 재사..

수학에서 두 집합 사이의 관계를 설명하는 논리적 개념으로간단하게 정의역의 각 원소마다 공역의 원소를 오직 하나씩대응하는 관계를 말한다. 수학적 구조를 정의할때, 혹은다양한 분야에서 응용되는 것으로, 가장 중요한 구조이다.게임에서 어떻게 활용할지는, 고민해보면 움직임을 어떻게 방향성을 갖고갈지탄도학을 게임에 적용하기 위해서 어떤 함수를 사용하는 라이브러리를 코드에 추가해입출력 값을 넣을지에 대한 방안을 고민하게 되었다. 예를 들어 총이라는 컴포넌트에서 총알이 격발되는 순간(마우스의 입력)을 인식해- UI상에 표기되는 수치가 변경되는 로직- 입력을 인식하고 사운드/이펙트를 형성하는 로직- 입력값이 Input이 유지되는 동안의 연발로 격발되는 로직- 격발 모드를 사용자가 조절하는 로직 // 단발/연발/안전(이..

DirectX에서도 C++ 코드 편집기로 활용함에 있어서 진입하는 초기 설정이 다소 복잡한 부분이 있었다.마찬가지로 비슷한 개념으로 언리얼 엔진에서도 C++을 사용하여 직접적인 커스터마이징을 하기 위해서는프로젝트를 생성하고, 적용함에 있어서 설정을 해주어야되는 부분이 있었다.정리해두고 추후에도 사용하도록 하자. 버전은 언리얼 엔진 5.3 기준으로 작성한다.프로젝트를 생성하기 위해서, 기초적인 프로그램 설정은 다음과 같다.C++ / Desktop / 시작용 콘텐츠 x- 주의사항으로 파일 경로에는 한글이 포함되면 실행자체가 불가하다. 언리얼 엔진과 C++이 함께 실행되는 것을 확인 할 수 있었다.자잘한 이슈들이 많이 생겼지만, 대부분 메뉴얼을 따르면 해결 할 수 있었는데빌드와 관련 이슈들이 좀 있었다. 앱 ..
인스턴스란 객체 지향 프로그래밍(OOP)에서 클래스를 바탕으로 메모리에 할당된 실체적인 객체를 의미한다.즉 클래스는 객체의 설계도이고, 인스턴스는 그 설계도를 바탕으로 실제 만들어진 객체입니다. 세부적으로는 다음 표와 같이 정리 할 수 있습니다.타입내용비고클래스(Class)객체의 종류나 유형을 정의합니다. 예를 들어 "강아지"라는 클래스는 강아지에 대한 일반적인 속성(털색, 품종, 이름 등)과 동작(걷기, 뛰기 등)을 정의한다. 인스턴스(Instance)클래스를 바탕으로 실제 생성된 개별 객체를 의미한다. '강아지' 클래스를 기반으로 "푸들"이라는 이름을 가진 인스턴스가 생성될 수 있다. 객체(Object)인스턴스와 비슷한 의미로 사용되지만, 인스턴스가 클래스를 바탕으로 메모리에 할당된 객체라고 할 때,..

언리얼 엔진에서도 DirectX에서 코드편집기를 활용해서 표현해내는 것처럼수정이 가능한 기능을 배우고 있다, 초기 프로그램 세팅이 DX에서 다소 복잡했었던 것이접근성이 어려웠었는데, 어찌저찌 해결하다보니 접근이 가능해졌다. 이번에 이 프로젝트 접근하면서 깨달은건 스트레스 받을때 난독증세가 있음을 깨달았다.스트레스 요인을 줄여나가면서 차분하게 하나씩 읽어가니 다행히도 문제를 해결했다.야호! 드디어 코드 편집기로 나도 수정할 수 있게 되었다.근데 할거 진짜 많은데,
런타임 형식 정보(RunTime Type Information)RTTI는 프로그램 실행 중에 개체의 형식이 결정될 수 있도록 하는 메커니즘이다.많은 클래스 라이브러리 공급업체가 이 기능을 자체적으로 구현하고 있기 때문에RTTI가 C++언어에 추가되었다. 이로 인해서 라이브러리 간에 호환되지 않는 문제가발생되어, 언어 수준에서 포인터 요소로 활용한다. 구체적인 연산자는 다음과 같다.dynamic_cast (연산자) : 다형 형식을 변환하는 데 사용한다.typeid (연산자) : 개체의 정확한 형식을 식별하는 데 사용한다.type_info (class) : 연산자가 반환한 형식 정보를 보관하는 typeid 에 사용된다. Refhttps://learn.microsoft.com/ko-kr/cpp/cpp/run-..
캐시 메모리-주소매핑과 C-style_cast와 static_cast에 대해서 알아보려합니다.CPU와 RAM 사이에는 캐시 메모리가 존재한다. 컴퓨터 내부의 존재하는 여러 개의 캐시 메모리는니난번 참조 지역성 원리에 의해서, CPU가 사용할 것으로 예상되는 객체를 저장하는데, 이 데이터가 맞아들어 캐시메모리 내에 있는 데이터를 사용하는 것을 '캐시 히트' 라는 것까지는조사가 되었으나 주소 매핑은 무엇일까 .. Mapping FunctionCPU가 메모리 주소를 사용하여 메모리로 데이터를 받으려할때, CPU가 쓰는 주소는 가상 메모리 주소로 어셈블리어로처리할 명령을 연산해줄 필요성이 있다. 이때 중간의 메모리 장치(MMU)가 가운데에서 번역을 하여 물리 주소로 변환해준다.그리고 캐시에 해당 주소에 대한 ..

C++ 아무것도 모르고 공부하다가 찾아보니, C에서 파생된 언어가C++ 그 외의 다양한 언어들로 파생된 것을 찾을 수 있었다.개념적으로 계속 혼동되는 부분이 있어서 C에 대한 내용을정확하게 정리해두고 C++ 외 다른 언어 및 라이브러리를 보는 것이더 효율적일 것이라 판단되어 잠시 내려두고 단단하게 기초를 만드려 따로 정리하려한다.C언어는 1972년에 출시된 언어로, 현대의 비약적으로 발전한 컴퓨터와는 다르게 메모리의 크기가 64KB에서 시작된 조그만 메모리를 가진 컴퓨터에서 활용한 것도 큰 차이점으로 볼 수 있을 것이다. 이러한 적은 메모리의 크기는 추상화가 적어 하드웨어와 직접적으로 접근하여 작동 원리를 활용하는 것으로, 효율성이나 집적 능력을 더욱 극대화하는데 활용이 가능하다.컴퓨터는 일련의 연산을 ..