[내일배움캠프 Day75] 1주차 멀티플레이 팀플
·
내일배움캠프/TIL
이번 팀플에서 캐릭터, AI 제외한 나머지를 맡게 되었습니다.오늘까지 진행한 내용은 싱글플레이 관련 UI로 게임 시작부터 인게임까지 싱글 플레이 관련 구현을 마쳤습니다. 3D 캐릭터를 UI에 보이기위해1. BP_CharacterSelector 안에 SceneCaptureComponent2D를 두어, 3D 캐릭터를 별도의 카메라로 렌더링2. 그 결과를 RenderTarget으로 출력3. 그 RenderTarget을 머티리얼로 감싸서 이미지에 적용이런 방식으로 구현했습니다.  주로 참고한 영상은 아래와 같으며 https://www.youtube.com/watch?v=Ff67XtqgSxchttps://youtu.be/sHq69iYfd9E?si=smireKaY3hTZBdsG 구현한 내용은 아래와 같습니다. 현재..
[HCI] Graphics & OpenGL 3
·
강의/HCI
GLSLGLSL : Shader 프로그래밍을 위한 C 기반의 언어#version version_number // Open GL 버전in type in_variable_name;in type in_variable_name; // 셰이더에 들어오는 입력 변수 out type out_variable_name; // 셰이더가 처리한 뒤 내보내는 출력 변수uniform type uniform_name; // 모든 vertex에 대해 동일하게 사용되는 전역 변수void main() { out_variable_name = weird_stuff_we_processed;} GLSL data types대부분의 C 데이터 타입 + Vector, matrix 데이터 타입 지원Vectors2,3,4개의 구성요소를..
[HCI] Graphics & OpenGL 2
·
강의/HCI
Vertex Shader#version 330 core //OpenGL 버전(330 => 3.3 버전)//Vertex Shader은 vec3타입의 데이터를 aPos라는 변수로 받는다. 이 입력 변수의 위치는 0.layout (location = 0) in vec3 aPos; //0: 입력변수 위치. aPos: vertex shader 입력 변수 타입void main(){ //gl_Position : vertex shader 출력 변수. vec4 타입(vec3아님!!) gl_Position = vec4(aPos.x, aPos.y, aPos.z, 1.0);} Vertex Buffer Object(VBO)unsigned int VBO;glGenBuffers(1, &VBO); //(생성할 버퍼 오브젝트 네임의 ..
2-2. 컴퓨터가 이해하는 정보
·
책/이것이 취업을 위한 컴퓨터 과학이다
0과 1을 나타내는 가장 작은 정보의 단위를 비트(bit)라고 한다. 바이트(byte)는 여덟 개의 비트를 묶은 단위다. 이는 프로그램의 관점에서 본 정보 단위. 워드(word)는 CPU가 한 번에 처리할 수 있는 데이터의 크기를 의미한다. 데이터 - 0과 1로 숫자 표현하기CPU는 숫자 1을 넘어가는 시점에 자리올림을 하는 2진법(binary)를 사용해 0과 1만으로 모든 수를 표현한다. 컴퓨터 내부에서 2진수로 소수를 나타낼 때 가장 중요한 핵심은 표현하고자 하는 소수와 실제로 저장된 소수 간에 오차가 존재할 수 있다는 것이다.a = 0.1b = 0.2c = 0.3if a + b == c: print("Equal")else: print("Not Equal")위 코드 결과는 Not Equal이다. 이유..
2-1. 컴퓨터 구조의 큰 그림
·
책/이것이 취업을 위한 컴퓨터 과학이다
해당 카테고리 글들은 '이것이 취업을 위한 컴퓨터 과학이다 with CS 기술 면접' 책을 읽고 공부한 내용을 정리한 글입니다. 책 바로가기 컴퓨터가 이해하는 정보컴퓨터는 0과 1만을 이해할 수 있으며, 이렇게 0과 1로 표현되는 정보는 데이터와 명령어다.명령어는 컴퓨터를 작동시키는 정보이고, 데이터는 명령어를 위해 존재하는 일종의 재료다. 컴퓨터의 핵심 부품CPU데이터와 명령어 이러한 정보를 읽어 들이고, 해석하고, 실행하는 부품이 CPU(Central Processing Unit)산술논리연산장치(ALU, Arithmetic and Logic Unit) : 연산을 수행할 회로로 구성되어 있는 일종의 계산기레지스터(CU, Control Unit) : CPU 내부의 작은 임시 저장 장치로, 데이터와 명령어..
[UE5] Mixamo Converter
·
Unreal
https://terribilisstudio.fr/?section=LAUNCHER여기서 오른쪽 상단 버튼 클릭해서 다운로드합니다. 압축파일을 푼 뒤에 Terribilis Studio Launcher에 들어갑니다. MIXAMO CONVERTER에 들어가서 play를 누릅니다 여기서 원하는 캐릭터를 클릭하면 해당 파일이 나오는데 https://www.mixamo.com/#/믹사모 페이지에 들어가 UPLOAD CHARACTER을 클릭합니다. 앞에서 나온 파일을 여기에 올리면 됩니다. 그다음 원하는 애니메이션 클릭하고 다운로드하면 됩니다. 여기서 스킨 없는 것을 선택하는 것이 좋습니다. 이렇게 원하는 애니메이션들을 다운받은 FBX를 Mixamo_Converter 폴더에 IncomingFbx 폴더에 들어가 옮깁니..
[UE Climbing] 1. Climbing Movement
·
강의/UE Climbing System
해당 카테고리 글들은 Unreal Engine 5 C++: 클라이밍 시스템 구축하기를 수강하고 공부한 내용을 정리한 글입니다.강의 바로가기 첫 번째 섹션 - 클라이밍 움직임 강의 내용이 많아 그중 중요하다고 생각한 부분만 정리했습니다.먼저, 첫 번째 섹션에 대해 정리한 글은 아래와 같습니다.첫 번째 섹션에서는 클라이밍을 위한 이동을 어떻게 처리할 수 있는지 살펴보고, 기본적인 클라이밍 논리를 처리할 수 있도록 새로운 향상된 입력과 사용자 정의 이동 컴포넌트로 시작합니다. 그런 다음 다양한 트레이스를 사용하여 우리가 필요한 모든 클라이밍 가능한 표면 정보를 얻고, 캐릭터를 사용자 정의 이동 모드로 이동시키기 위해 필요한 물리학 코드를 처리하는 방법을 다룹니다. 물리학이 작동하면, 모든 클라이밍 가능한 표면..
[HCI] Graphics & OpenGL 1
·
강의/HCI
학부 시절 배운 HCI(Human Computer Interaction) 수업에서 게임 개발에 필요하다고 생각하는 컴퓨터 그래픽스 부분을 정리한 글입니다. 수업은 아래와 같이 배웠지만 이 중 컴퓨터 그래픽스 기초 개념만 정리할 것입니다.Double buffering비디오 컨트롤러 : 프레임 버퍼 내용을 화면에 뿌리기 위한 요소그래픽 프로세서가 프레임 버퍼에 물체 영상을 써나가는 역할을 한다면 비디오 컨트롤러는 쓰인 내용을 읽어서 화면에 뿌림 그래픽 프로세서가 프레임 버퍼에 쓰는 작업이 느릴경우 화면에 깜빡거림(artifact) → 2개의 프레임 버퍼 사용 : double bufferingGL 라이브러리(glfw, glut 등)은 double buffering 함수를 제공ex) glfwSwapBuffers..
[내일배움캠프 Day62] 블랙보드값 enum 연결 문제 해결
·
카테고리 없음
c++에서 블랙보드값을 enum으로 정의했는데아무리해도 열거형 타입에 c++로 정의한 enum 값이 안떠서 고민하던중 아래 사이트를 통해 알게 되어서 정리하게 되었습니다. https://forums.unrealengine.com/t/can-i-use-the-c-enum-in-ai-bt-blackboard/339672#pragma once#include "CoreMinimal.h"#include "AIStateOfDay.generated.h"UENUM(BlueprintType) enum class EAIStateOfDay : uint8{ Day UMETA(DisplayName = "Day"), Evening UMETA(DisplayName = "Evening"), Night UMETA(Displ..
[내일배움캠프 Day59] 숫자 야구 게임 과제
·
내일배움캠프/TIL
[9번 과제] 숫자 야구 게임  판정과 난수 생성 로직은 별도의 C++ 라이브러리로 분리해서 구현하고 그 외는 블루프린트로 구현하라고 하셔서 그렇게 과제를 진행했는데 오히려 블루프린트가 더 미숙해 생각보다 시간이 좀 걸렸습니다. 참고로 2주차 강의 채팅 따라 하기에 추가로 구현한 과제입니다. 해당 내용은 아래 블로그에 정리해 놓았습니다. https://dev0404.tistory.com/68 [내일배움캠프 Day58] 채팅 따라하기Listen Server를 이용해 RPC를 호출해서 채팅을 만드는 강의를 듣고 정리해보았습니다. 전체 Flow서버 사용자가 Host, 클라이언트 사용자는 Guest로 UserID를 할당한다.채널에 참가하면 사용자의 ID를 출dev0404.tistory.com  일단 판정과 난수..