일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준
- const
- winapi
- UnrealEngine5
- DeferredRendering
- UnrealEngine4
- algorithm
- DirectX11
- Unreal Engine5
- C++
- IFileDialog
- GeeksForGeeks
- 티스토리챌린지
- softeer
- RootMotion
- UE5
- 2294
- NRVO
- 1563
- C
- Frustum
- directx
- 오블완
- baekjoon
- 언리얼엔진5
- 줄 세우기
- 팰린드롬 만들기
- RVO
- 프로그래머스
- Programmers
- Today
- Total
목록분류 전체보기 (709)
Game Develop
직접광, 간접광이 있고 직접광은 2가지로 나뉜다. ============================================================================ 직접광 -> 광원으로부터 직접 받는 빛 난반사(Diffuse) : 구 기준, 빛을 받았을 때 골고루 반사하는걸 뜻함. 즉 빨간빛을 비추면 골고루 빨간빛 반사. 보통 빛을 비추면 빛을 많이받는 부분, 많이 안받는 부분이 있다. 이 빛을 계산하는 식을 만든 사람 : Lambert(램버트) cos값 이용하는 방법. (0~1). 표면의 법선(Normal) 이용. 빛 방향벡터랑 구의 법선벡터를 내적하면 cos세타값이 나오기때문에 그걸로 값 결정. (0~1사이의 값) 계산하기위해 빛방향벡터 or 법선벡터의 방향을 바꿔서 계산해야하..
- 싱글톤이란 싱글톤(Singleton)은 싱글 인스턴스(Single Instance)의 줄임말로, 말 그대로 프로그램 내에서 특정 클래스의 인스턴스를 하나만 생성한다음 공유하여 사용하는 디자인패턴이다. 보통 여러곳에서 접근해야하는 유틸성 성격을 가진 클래스를 싱글톤으로 생성하곤한다.( 사운드매니저,타이머클래스 등등) 예를들어 게임개발시 필수기능인 Timer클래스는 실시간으로 시간이랑 FPS를 계산하는 클래스이기 때문에 실행 초기에 인스턴스를 하나만 생성해서 계속 업데이트시키면 된다. 하지만 코딩을 하다보면 여러곳에서 현재시간을 이용하여 구현해야하는 기능들이 많기 때문에 이 인스턴스에대한 접근을 전역적으로 하게 해야한다. 이 때 적합한게 싱글톤패턴이다. 싱글톤패턴에 대한 구현은 정말 다양하기때문에 밑의 ..
- 서론 DeltaTime값에 대해 미리 말하자면 '각 컴퓨터의 성능에 따라 FPS(Frame Per Second, 초당 프레임)가 다름으로써 생기는 값의 차이를 없애기 위한 값'이다. DeltaTime의 개념자체는 간단하기 때문에 이 값을 어떻게 구하는지까지도 알아보도록 하겠다. - DeltaTime이 왜 필요한가? 키보드 오른쪽방향키를 누르고 있을 때 캐릭터의 x좌표값을 +1씩 한다고 가정하자. 얼추 아래와 같은 코드가 될 것이다. 1 2 3 4 5 6 7 void Update() { if (KEY_DOWN(VK_RIGHT)) // 오른쪽키를 누르면 { character.Position.x += 1; } } cs 그런데 Update()라는 함수는 프레임마다 실행되는 함수이다. 초당 프레임이 100을 ..
- 서론 포트폴리오 제작 도중 체력바를 구현하였는데 구현도중엔 헷갈려서 조금 헤맸지만 결국 원하는대로 완성되었다. 어떤 정수나 실수값(이번 예제 같은 경우는 몬스터HP) 과 연동해서 그 값의 증감만큼 조절하는 기능을 구현하는 것이기때문에 사실상 프로그레스바를 구현하는거라고 보면 된다. 일부러 셰이더를 안쓰고 구현해보려는게 아니라 그냥 안쓰고 금방 할줄알고 시도해본거였다. Directx11로 게임을 만들어보시려는 분들은 절대로 저처럼 하지말고 그냥 픽셀셰이더에서 uv.x값 조절해서 출력하면된다. - 체력바구현에 쓰일 이미지. - 사전설명 구현에 앞서 미리 이해하기 편하도록 설명을 하자면, 각 텍스쳐 이미지 객체는 Scale값 조정을 통해 실제 화면에 렌더링되는 크기를 조절할 수 있다. Scale의 x값이 ..
-nan(ind)값을 발견하게 된 계기 포트폴리오 작업도중 발견한 값이다. 몬스터의 범위 안에 플레이어가 있을 경우, 몬스터는 플레이어의 위치값(x,y)으로 계속 이동하기 때문에 결국 몬스터와 플레이어는 겹치게 되는데 몬스터와 플레이어가 겹쳐질경우 증발해버리는 현상이 발생했다. 원인을 찾기위해 해당 몬스터의 상태값들을 출력을 해봤더니 활성화는 멀쩡히 잘 되어있지만 객체의 Position값에서 -nan(ind) 라는 값이 출력되는걸 확인할 수 있었다. 즉 몬스터 인스턴스는 멀쩡히 살아있지만 위치값이 이상하게 바뀌어버려서 어딘가로 날라가버린것이다. -nan(ind)란? nan은 Not a Number의 약자로, 말 그대로 숫자가 아님을 의미한다. 좀 더 정확히 말하자면 자료형이 float이나 double형 ..