묻공러
'분류 전체보기' 카테고리의 글 목록 (12 Page)

분류 전체보기

게임 엔진/[코드조선] 언리얼

언리얼 기초 - 언리얼 디버깅

Output Log일반적으로 Output Log 창에 로그를 보고 경고나 에러를 확인한다Toolbar > Window > Output Log를 클릭하면 위와 같은 창이 켜진다   UE_LOGUE_LOG 함수를 통해 출력될 텍스트를 작성할 수 있다UE_LOG의 인자로는 (로그 카테고리, 로그 수준, 형식 문자열, 인자)로 구분된다- 로그카테고리: 로그의 분류를 위해 카테고리를 지정할 수 있고 Output Log 창에서 필터링이 가능하며,Filters > Categories > Show all의 체크 해제 후 LogTemp만 체크하는 방식으로 이용 가능하다- 로그 수준:Output Log 창에서 로그 수준에 따라 색상이 달라진다Log는 흰색, Warning은 노란색, Error는 빨간색이다- 형식문자열: 출..

게임 엔진/[코드조선] 언리얼

언리얼 기초 - 언리얼 코딩 컨벤션

언리얼은 기본적으로 파스칼 케이싱이다특히 변수 선언 시에 스네이크 케이싱을 사용하면 문제가 될 수 있다 파스칼 케이싱 vs. 스네이크 케이싱더보기파스칼 케이싱(Pascal Case)은 단어의 첫 글자를 대문자로 시작하여 연결된 각 단어의 첫 글자를 대문자로 쓰는 방식으로 식별자를 작성하는 규칙이다예를 들어, "MyVariableName"이나 "CalculateTotalScore"와 같은 형태이다스네이크 케이싱(Snake Case)은 단어를 소문자로 쓰고 각 단어를 밑줄(_)로 연결하여 식별자를 작성하는 규칙이다예를 들어, "my_variable_name"이나 "calculate_total_score"와 같은 형태이다클래스명 접두사 템플릿 클래스는 T- UObject 클래스를 상속받은 클래스는 U- AAc..

게임 엔진/[코드조선] 언리얼

언리얼 기초 - 언리얼 오브젝트 클래스

언리얼 오브젝트 클래스를 아무것도 상속받지 않고 만들게 되면일반적으로 아래와 같은 구성을 나타낸다// SUnrealObjectClass.h#pragma once#include "CoreMinimal.h"#include "UObject/NoExportTypes.h"#include "SUnrealObjectClass.generated.h"/** * */UCLASS()class STUDYPROJECT_API USUnrealObjectClass : public UObject{ GENERATED_BODY()};// SUnrealObjectClass.cpp#include "SUnrealObjectClass.h" - #include “CoreMinimal.h” UE4 초반 버전에서는 #include “EngineM..

게임 엔진/[코드조선] 언리얼

언리얼 기초 - 언리얼 개발 환경 및 레벨

언리얼 개발 환경 설정1) 솔루션 구성 너비 200 이상비주얼 스튜디오 Toolbar > 빈 공간 우클릭 > 사용자 지정 > 명령 탭 > 도구 모음 > 표준좌측 하단의 Preview에서 솔루션 구성 클릭 > 선택 사항 수정 > 너비 200 이상으로 설정 2) 오류 목록창 제거에러를 확인할 때 언리얼 프로젝트에서는오류 목록창을 사용하지 않고출력 창을 이용하는 것이 더 간결하기 때문에 출력 창만을 사용한다출력 창의 에러를 더블 클릭시 커서가 이동되고도구 > 옵션 > 프로젝트 및 솔루션 > 일반 > 항상 오류 목록 표시 체크 해제 언리얼 빌드 설정Editor vs. Non-Editor Editor가 뒤에 붙은 빌드 구성은 Binaries 폴더에 에디터가 사용할 UnrealEditor-XXX.dll 파일이 생성..

게임 엔진/[코드조선] 언리얼

언리얼 기초 - 언리얼 시스템

언리얼 빌드 시스템Unreal Header Tool과 Unreal Build Tool을 통해소스코드를 다양한 빌드 구성으로 빌드되게 하는 시스템이다 Unreal Header Tool의 핵심적인 기능은 .generated.h 파일의 생성하고이는 언리얼만의 매크로 함수를 전처리하기 위해 사용된다Unreal Build Tool은 소스코드가 해당 컴퓨터의 OS에 맞게 프로젝트를 재생성한다 언리얼 모듈 시스템모듈은 컴파일된 바이너리 파일(.dll, .lib)을 의미한다각 모듈 폴더에는 .Build.cs 파일이 있으며,해당 파일에는 모듈의 종속성과 필요한 라이브러리, 인클루드 경로 등이 적혀있다 모듈(Module)의 종류는 아래와 같다게임 모듈(Game Module): 소스코드에 게임 로직이 포함된 모듈주 게임 모..

게임 엔진/[코드조선] 언리얼

언리얼 기초 - 언리얼 에디터

언리얼 에디터 구성Toolbar: 프로젝트 설정과 실행 등 언리얼 에디터의 주요한 기능들이 있는 창이다 Viewport: 레벨이라 불리는 3차원의 게임 스테이지를 설계하고 볼 수 있는 창이다 Outliner: 레벨을 구성하는 단위 요소인 Actor의 목록을 관리하는 창이다 계층 구조 및 폴더 생성 등의 기능을 사용해서 효과적으로 Actor들을 관리할 수 있다 Details: Viewport 혹은 Outliner에서 선택한 Actor의 속성 값을 확인하고 편집하는 창이다 Content Browser, Content Drawer:게임 제작에 사용하는 에셋 및 파일들을 관리하는 창 언리얼 프로젝트 폴더 구성 요소중요한 폴더는 아래와 같다Config: 프로젝트의 설정 값이 있는 폴더이다 Content: 프로젝트..

영어/[BOX ENG] 영숙어

[영숙어] 최종 테스트용

보호되어 있는 글입니다.

그래픽스/[전북대] OpenGL

[OpenGL Note] Output Merger - Alpha Blending

Alpha Blending Alpha Blending은 물체의 투명도에 따라 색의 계산을 다르게 적용해 주는 것이다 alpha 값은 0 ~ 1로 구성되어 있으며 0에 가까울 수록 불투명하고 1에 가까울 수록 투명하다 Alpha Blending을 계산하기 위해서는 0과 1 사이의 가중치를 통해 계산한다 Transparent Sorting z-buffering의 경우는 렌더링 순서와 상관이 없지만 alpha blending은 반드시 뒤 쪽부터 그려줘야 한다 따라서 투명한 오브젝트들의 sorting이 필요하다 추가적으로, 오브젝트들은 geometry, alpha, transparent 순으로 그려진다 Alpha Blending in OpenGL Alpha Blending을 사용하기위해서는 glEnable을 통..

그래픽스/[전북대] OpenGL

[OpenGL Note] Output Merger - Z buffering

Output Merger fragment shader를 통해 나오는 fragment color를 바로 viewport에 그리지 않고 마지막으로 frame buffer들을 통해 output merger 단계를 거친다 Frame buffer Frame buffer에는 Color buffer, Depth buffer, Stencil buffer가 있다 Color buffer는 픽셀의 색상을 저장하는 버퍼이다 Depth buffer(z-buffer)는 픽셀의 z축 값을 저장하는 버퍼이다 Stencil buffer는 특정 영역을 그릴 때 무시하거나 그리지 않도록 하는데 활용되며 그림자를 구현할 때 주로 사용된다 RGBZ rasterizer는 z-좌표뿐만 아니라 법선과 텍스처 좌표도 보간한다 z값은 fragment..

그래픽스/[전북대] OpenGL

[OpenGL Note] Lighting - Ambient, Emmisive

Ambient Term 특정한 빛이 들어오는 것이 아닌 간접적으로 빛들이 다양한 형태로 들어오는 경우를 의미하고 빛의 source를 정확히 알 수 없기 때문에, 물체의 주변광 ambient 색과 물체의 material ambient 색을 곱해서 계산한다 Emmisive Term material 표면 자체가 빛을 발산하는 경우이고 materail의 emmisive 값 만으로 계산이 된다 Phong Lighting Model diffuse, specular, ambient, emissive를 모두 합한 것이 바로 Phong Lighting Model을 적용한 것이다 Per-fragment Lighting fragment shader에서 라이팅을 위해서는 l, n, r, v 값을 알아야 하고 해당 값들을 fr..