4.1 삼각함수 한 각이 직각(90도)인 직각삼각형을 이루는 세 변은 각 위치에 따라 빗변, 밑변, 높이 라고 부른다. 직각삼각형을 구성하는 세 변에서 두 변을 뽑아 각각의 비례관계를 나타낸 것은 삼각비(Trigonometric Ratio)라고 한다. 사인(Sine), 코사인(Cosine), 탄젠트(Tangent) 세가지가 대표적이다. 직각삼각형을 데카르트 좌표계 상에 배치하고 사잇각의 범위를 실수 전체로 확장한 대응 관계를 삼각함수(Trigonometric function)라고 한다. 삼각함수의 성질 sin 함수와 cos 함수의 그래프를 보면 [-1, 1] 범위내에서 360˚마다 반복되는데, 변화 값의 범위를 진폭(Amplitude), 반복되는 각도를 주기(Period)라고 한다. sin 함수와 cos..
시작하며 최근에 정착한 생산성 기록 도구들을 정리해두고자 한다. 굳이 말하자면 MBTI에서 압도적으로 P이지만, 현명하게 게으르게 살기 위해서는 가장 일을 적게 할 수 있도록 체계를 잡아줄 도구가 필요하다. 기록을 잘해두어야 나중에 몸이 덜 고생한다. 따라서 나는 아래 프로그램을 사용하여 일상을 기록하여 삶을 단순화하려고 한다. 1. 집 일정 관리 구글 캘린더 : https://calendar.google.com/calendar 비지니스 달력 2 프로버전 내 일정, 남편 일정, 공통 일정, 돈 나가는 날... 캘린더를 각각 생성 후에 남편과 공유하여 사용 중이다. 또한 예전에 비즈니스 달력 2 유료 버전을 프로모션 행사 할 때 싸게 사서 구글 캘린더와 연동하여 모바일로 일정을 확인한다. 일정, TO DO..
벡터(Vector)란 평면에서 시각적으로 의미 있는 물체를 생성하기 위해 평면을 구성하는 원소이다. 3.1 데카르트 좌표계 데카르트 좌표계(Cartesian coordinate syste)는 직선의 수 집합을 수직으로 배치하여 평면을 표기하는 방식을 의미한다. 곱집합의 원어가 데카르트 곱(Cartesian pruduct)임을 생각해본다면 동일한 개념이라 볼 수 있다. 가로축을 x축 세로축을 y축으로 하여 평면을 가르면 총 4개의 분면으로 나뉘는데 오른쪽 상단에서부터 반시계방향으로 순서를 붙인다. 데카르트 좌표계의 한 원소는 곱집합과 동일하게 순서쌍으로 표현하며 좌표(Coordinate)라고 부른다. (x,y) 3.2 벡터 공간과 벡터 스칼라와 벡터 두 개 이상의 실수를 곱집합으로 묶어 형성된 집합을 벡터..
수와 집합 의무 교육에서 배운 집합은 서로 구분이 되는 원소(Element)로 구성된 묶음을 의미한다. 소박한 집합론(Naive set theory)이라 한다. N (자연수) : 물건을 세거나 순서를 지정하기 위해 사용하는 수의 집합 Z (정수) : 자연수와 자연수의 음수, 0을 포함하는 수의 집합 Q (유리수) : 분모가 0이 아닌 두 정수의 비율 혹은 분수로 나타낼 수 있는 수의 집합 I (무리수) : 두 정수 비 혹은 분수로 나타낼 수 없는 수의 집합 C (복소수) : 실수와 제곱하면 -1이 되는 허수 단위 i를 조합해 a+bi(a,b는 실수) 형태로 표현하는 수의 집합 H (사원수) : 실수와 제곱하면 -1이 되는 세 허수 단위 i,j,k 를 조합해 a+bi+cj+dk(a,b,c,d는 실수) 형태..
책을 시작하며 이득우 교수님의 이전 언리얼 책을 보면서 쉽게 따라할수 있는 예제로 기초를 다지는데 도움이 되었다. 그래서 이번에 나온 책도 구매하여 읽게 되었다. 1.1 메타버스가 가져올 새로운 변화 // 중략 1.2 게임 엔진의 구성 게임을 기술적으로만 바라본다면 현실 세계를 복제하여 실시간으로 움직이는 3차원의 가상 세계라 말할 수 있고, 그 복제 과정을 쉽고 안정적으로 만들어주는 것이 게임 엔진 기술이다. 렌더링(Rendering)이란 가상 공간을 이루는 수의 규칙을 분석하고 이를 빠르게 화면에 보여주기위한 작업이다. 초창기 그래픽카드는 단순히 화면을 출력하는 기능만 수행하였다. 그러다 GPU로 명칭이 변경되고 게임 제작에 특화된 기능이 탑재되면서 계속 진화 하게 되어 게임 뿐 아니라 인공 지능 사..
카오스 물리엔진 리지드 바디 시뮬레이션 (Rigid Body Simulation) 콜리전 디텍션 (Collision Detection) 피직스 컨스트레인트 (Physics Constraints) 비동기 쿼리 (Async Query) 랙돌 (Ragdoll) 비히클 (Vehicle) 카오스 디스트럭션 (Destruction) 카오스 클로스 (Cloth) 언리얼 엔진 5의 카오스 피직스 PhysX 에서 달라진 부분 비동기 물리 시뮬레이션 지원 (실험 기능) Double Precision 지원 (Origin Shift 미지원) 낮은 프레임율에서의 안정성 개선, 길게 연결된 체인의 안정성 개선 PhysX 비주얼 디버거 미지원 (새로운 물리 디버깅 도구 지원 예정) 리지드 바디의 피직스 타입 기본 (Default)..
프로파일링 Stat UnitGraph CPU, Draw, RenderThread 중 어디서 병목현상이 발생하는지 GameThread에 집중해서 최적화 진행 / 쉐이더 컴파일을 미리하는 PSO(Pipeline State Object) 캐시 진행 Unreal Insight 어떤 Thread 나 어떤 Scope에서 병목현상이 나는지 확인할 수 있다. 주요 Trace 채널 CPU LoadTime GPU Net 데디케이티드 서버 멀티플레이 테스트 Nullrhi (Null Rendering Hardware Interface) rendering 없이 클라이언트 실행 Nullrhi 옵션을 통해 로컬에서 8인 멀티플레이 테스트 최적화 핵심전략 White List : 필요한 기능을 필요한 시간에만 필요 없는 Module,..
언리얼 서밋 2022 언리얼 서밋 내용들중 모듈형 게임플레이 세션의 내용들을 정리하고자 한다. 게임플레이 프레임워크 언리얼 엔진의 인터랙티브 경험 제작 가상 세계를 정의하는 언리얼 엔진 표준 게임 피처 플러그인 런타임 플러그 앤 플레이 지원 기능 명세서 / 엔진에 창작자 의도 설명 플러그인 상태 설치됨 / 등록됨 / 로드됨 / 활성화 활성화 / 비활성화로 게임플레이 조절 액션 동작 리스트 : 활성화시 실행 기본 지원 동작 4가지 / 확장 가능 치트 : 치트 매니저 + 치트 매니저 확장 컴포넌트 : 액터 + 액터 컴포넌트 데이터 레지스트리 : 추가 데이터 레지스트리 데이터 레지스트리 소스 : 데이터 레지스트리 확장 게임 피처 에셋 매니저 : 활성화 시 엔진에 등록할 콘텐츠 모듈형 게임플레이 제작 지원 기능..
도시에서 유닛 생산하는 기능과 도시의 영역을 표시하는 작업을 진행하였다. 유닛생산 유닛을 생산하기 위해서는 도시의 생산력, 유닛을 생산하기위한 필요 생산량 정보가 있어야 했다. 도시의 생산력은 도시 데이터에 바로 담았다. 추후 도시의 레벨이라던지 도시에 새워진 건물 보너스 등으로 인해 계산되어질수 있도록 할 예정이다. 유닛의 필요 생산량정보는 별도의 유닛 테이블 클래스를 만들어 유닛의 스탯정보 및 생산정보를 담았다. 포스트 프로세스 적용 패키지 매니저에서 Post Processing 을 임포트 해서 패키지를 적용하였고, 볼륨과 레이어를 설정해서 테스트를 하였다. 우선은 화면의 밝기만 조절하고자 Color Grading 만 설정하였다. 도시 영역 표시 URP로 전환 도시의 영역표시를 타일의 아웃라인으로 처..
언리얼 엔진에서 Volume(볼륨) 이란 레벨의 일정 영역에 대한 작동방식을 변경하는 데 사용되는 3차원 액터이다. 볼륨 내 플레이어 또는 다른 액터에 대미지를 유발 특정 액터의 볼륨 진입금지, 즉 충돌 표면 역할 액터가 볼륨에 들어서면 이벤트를 발생 레벨의 라이팅 또는 가시성 계산 방식을 변경 볼륨 배치와 생성 액터 배치 창에서 볼륨 탭을 선택한다음 레벨 뷰포트에 끌어다 놓으면 된다. 볼륨을 레벨에 배치후 원하는 대로 크기와 위치를 조정하면 된다. 브러시 모든 볼륨 액터들은 AVolume을 상속 받고, AVolume은 ABrush를 상속 받고 있다. 그리고 ABrush에는 Brush라는 UModel 변수를 통해 폴리곤 정보 (외형정보)를 가지고 있다. 브러시 빌더 브러시의 폴리곤 정보를 가공(빌드)하기..
언리얼의 코딩 표준 및 규칙을 정리해보자 코딩 규칙이 중요한 이유 소프트웨어의 총 수명 비용 중 80%는 유지보수에 소모된다. 최초 작성자가 그 소프트웨어의 수명이 다할 때까지 유지보수하는 경우는 거의 없다. 코딩 규칙을 사용하면 소프트웨어의 가독성을 향상하여 엔지니어가 새로운 코드를 더 빠르고 완벽히 이해할 수 있다. 에픽에서 소스 코드를 모드 개발자 커뮤니티에 공개할 경우 코딩 규칙을 알고 있으면 이해하기 더 쉽다. 대다수의 코딩 규칙이 크로스 컴파일러 호환성에 필요하다. 클래스 채계 public을 먼저 선언하고 그 후 private 구현이 뒤따르도록 한다 저작권 공지 에픽이 배포용으로 제공한 소스 파일은 반드시 파일의 첫줄에 저작권 공지를 포함시켜야 한다. // Copyright Epic Games..
1. 시작하며 이전글: [GCP] Associate Cloud Engineer 자격증 취득 후기 Google Professional Cloud Architect (PCA) 자격증을 취득하여 후기를 남겨 둔다. 공부 기간: 약 2달, 30분 ~ 1시간 공부 방법: Coursera 강의 수강, Qwiklabs, 덤프 문제 풀이, GCP Document 2. 시작하게 된 계기 회사에서 준 바우처 덕분에 응시하게 되었다. 회사에서 퀵랩 과정을 이수하면 바우처를 주는 이벤트를 했었다. 바우처도 받고, 공부도 할 수 있고 일석이조가 아닌가? 8월에 퀵랩을 다 이수하고 바로 쳤으면 더 효과적이었을 거 같지만 이래저래 미루다 보니 그만 여기까지 와버렸다. 3. 자격증 소개 시험 소개 https://cloud.googl..
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.