본문 바로가기

분류 전체보기475

[Unreal] Lightmap, Lightmass가 뭐지? 라이트 편집 및 라이트맵 생성 | Epic Developer Community (epicgames.com) 라이트 편집 및 라이트맵 생성 | Tutorial 이 단원에서는 디테일 패널에서 라이트를 편집해 봅니다. 그리고 라이트맵이 무엇인지, 이를 어떻게 언리얼 엔진에서 생성 및 편집하는지 학습합니다. dev.epicgames.com 이거 설정에서 한국어 자막 키고 보기 Lightmap 언리얼 엔진에서 Lightmap은 정적인 조명과 그림자 정보를 3D 모델의 표면에 저장하는 방법입니다. Lightmap을 사용함으로써, 언리얼 엔진은 복잡한 조명 계산을 실시간으로 수행할 필요 없이, 미리 계산된 조명과 그림자를 빠르고 효율적으로 렌더링할 수 있습니다. Lightmap의 핵심 개념과 사용 방법은 다음과 같습.. 2024. 1. 26.
언리얼 블루프린트 디버깅(콜스택확인) - 콜스택보기 Debug - Blueprint Debugger 1. F9 눌러서 확인할 곳 체크 후 플레이 한다음에 2. 블루프린트 디버거 확인 내가 어떻게 여기까지 왔는지 보여주는 개념 3. 더블클릭하면 그래프들도 같이 이동해서 보여줌 4. 아이콘 혹은 F10, F11 이용해서 디테일하게 확인 5. Breakpoints 목록 볼 수 있음 2024. 1. 23.
Effective C++ 항목 2 : #define을 쓰려거든 const, enum, inline을 떠올리자 선행 처리자보다 컴파일러를 더 가까이 하자 #define 은 선행처리 해버리기 때문에 컴파일러가 알 수 없다. #define Angle 1.653 이러면 에러 메세지에 Angle 대신 1.653만 나옴 (찾기 어려움) 대신 const를 사용한다. const double angle = 1.653; 나열자 둔갑술 (enum hack) 메모리 할당이 싫고, 해당 객체에서만 사용하게 하고 싶다. class GamePlayer { private: enum { NumTurns = 5 }; int scores[NumTurns]; ... } 표준에 어긋난 구식 방법이지만 유용함 매크로의 단점 선행 처리 하기 때문에 오용될 수 있음 #define CALL_WITH_MAX (a, b) f((a) > (b) ? (a) : .. 2023. 12. 12.
Effective C++ 항목 1 : C++를 언어들의 연합체로 바라보는 안목은 필수 용어 정리 선언(declaration) 코드에 사용되는 '어떤 대상'의 이름과 타입을 컴파일러에게 알려주는 것 정의(definition) 선언에서 빠진 구체적인 세부사항을 컴파일러에게 제공하는 것 -객체의 경우에 있어서 정의는 컴파일러가 그 객체에 대한 메모리를 마련해 놓는 것 초기화(initialization) 어떤 객체에 최초의 값을 부여하는 과정 기본 생성자(default constructor) 어떤 인자도 주어지지 않은 채로 호출될 수 있는 생성자 -원래부터 매개변수가 없거나 모든 매개변수가 기본 값을 갖고 있으면 기본 생성자가 될 수 있다 복사 생성자(copy constructor) 어떤 객체의 초기화를 위해 그와 같은 타입의 객체로부터 초기화할 때 호출되는 함수 복사 대입 연산자(copy as.. 2023. 12. 10.
[Unreal] Chaos Destruction - Field Chaos Fields 특정 공간 영역 사용하여 피직스 시뮬레이션 프로퍼티 제어 필드에는 앵커 필드(Anchor Fields), 스트레인/포스 필드(Strain/Force Fields), 슬립/비활성화 필드(Sleep/Disable Fields)가 있음 Anchor Fields 시뮬레이션 중 지오메트리 컬렉션(Geometry Collection) 의 일부가 고정되도록 제한하는 컨스트럭션 블루프린트 앵커 필드를 사용하면 시뮬레이션 도중에 일어나는 일과는 관계없이 지오메트리 컬렉션의 특정 부분을 제자리에 고정할 수 있음 Sleep/Disable Fields 본(프랙처 조각) 속도가 특정 한계치 아래로 떨어지면 지오메트리 컬렉션을 휴식 상태로 만듦 슬리핑 본은 시뮬레이션 중에 활성 오브젝트와 접촉하면 다시 깨.. 2023. 9. 30.
[DirectX 11] Phong Shading 본 내용은 강의를 토대로 작성하였습니다. honglab에서 강의를 구매하실 수 있습니다. Phong reflection model - 조명이 빛을 반사해서 우리 눈에 어떻게 보이는 지에 대한 모델 - 물체가 조명을 받았을 때 Ambient + Diffuse + Specular로 표현 Diffuse 어떤 표면의 normal vector →n과 조명을 향하는 벡터인 →l이 있을 경우 빛을 받는 강도는 두 벡터의 각도와 관련이 있다 각도가 작으면 작을수록 빛을 많이 받고 크면 클수록 적게 받음각도가 0일 때 가장 값이 크다 → cos를 사용한다 구현 예시 const vec3 dirToLight= glm::normalize(light.pos - hit.point); const float diff = glm::m.. 2023. 9. 25.