728x90

게임 개발 자료 77

OBB 와 Point 충돌체크 (내적의 기하학적 의미 활용)

OBB(Oriented Bounding Box) 정의. 위치와 크기, 회전 행렬(orientation)을 갖는다. struct OBB3D { Point3D position; Vec3 size; Matrix orientation; } 한 점이 OBB 에 충돌하는지 체크는 내적 연산을 활용. OBB의 중점에서 testPoint 까지의 벡터 dir를 계산. OBB의 회전 좌표계의 각 축으로 dir을 투영(Projection) 시킨다.이 때 내적을 활용. 내적 결과값은 투영시킨 벡터의 길이와 다른 벡터(각 축 벡터)의 길이를 곱한 값인데, 각 축 벡터의 길이는 1이므로 거리(distance)의 의미만 남음. 이 거리(distance)와 OBB의 크기를 체크해서 point 가 obb 에 충돌했는지 체크할 수 있다..

3D 기본 도형의 핵심 개념 간단 정리

게임 개발에서 3D 공간을 다룰 때 등장하는 기본 도형들에 대한 개념의 핵심만 간단히 정리 3D 기본 도형들 Point : 정점 Line : 선분 (끝이 있는) Ray : 직선 (끝이 없는) Sphere : 구 AABB (Axis Aligned Bounding Box) : 축 정렬 충돌 박스 OBB (Oriented Bounding Box) : 방향/회전 충돌 박스 Plane : 평면 Triangle : 삼각형 Point 3개의 좌표값을 갖는 점. Line 2개의 Point로 구성 Ray 1개의 Point와 방향 벡터(노멀 벡터) Sphere 1개의 Point 중점과 반지름(Radius) AABB (Axis Aligned Bounding Box) 1개의 Point 중점과 Size 크기 OBB (Orien..

방탈출 게임(Escape Room) 관련 자료

방탈출 게임을 위한 퍼즐 아이디어 Top 15 Top 15 Puzzle Ideas for Escape Rooms https://escaperoomtips.com/design/escape-room-puzzle-ideas Top 15 Puzzle Ideas for Escape Rooms | Escape Room Tips These are the most common and flexible escape room puzzle ideas that we’ve seen in our experience doing 400+ escape rooms across the United States and Europe. These ideas are not specific to any particular theme or compa..

[Shader] Curved vertex shader

카메라에서 멀어지면 커브를 줘서 꺾이는 듯한 시각 효과를 주는 셰이더. 적용하면 아래처럼 보임. 1인칭 러닝게임에 어울리는 셰이더. 실제 Transform 좌표는 더 위에 있지만 셰이더 연산으로 곡선으로 꺾이게 그림. CG 코드. struct appdata { float4 vertex : POSITION; float2 uv : TEXCOORD0; float4 color : COLOR; }; struct v2f { float2 uv : TEXCOORD0; UNITY_FOG_COORDS(1) float4 color : TEXCOORD2; float4 vertex : SV_POSITION; }; v2f vert(appdata v) { v2f o; o.vertex = UnityObjectToClipPos(v.v..

[Shader] ComputeShader 기초 스터디 노트

3개 버퍼 생성. input, output, result 이 때, input buffer를 shader에 알려주기 위한 ShaderResourceView 필요, 생성. outout buffer를 shader에 알려주기 위한 UnordedAddressView 필요,생성. 처리 결과를 받아올 때 result buffer에 output buffer의 리소스를 복사. Map() -> target pointer 로 result buffer 값 복사 -> Unmap() 이렇게 처리하는 이유는, output buffer와 result buffer의 BUFFER_DESC 가 다르기 때문. D3D11_BUFFER_DESC https://learn.microsoft.com/ko-kr/windows/win32/api/d3d..

RenderDoc, Intel GPA, PIX 그래픽스 프로그래밍 프로파일링, 디버깅 도구

RenderDoc RenderDoc은 MIT 라이선스의 무료 독립형 그래픽 디버거. Windows, Linux, Android, Nintendo Switch™ 플랫폼에서 Vulkan, D3D11, D3D12, OpenGL, OpenGL ES RHI를 사용하는 모든 애플리케이션을 빠르고 쉽게 단일 프레임을 캡처하고 상세히 살펴볼 수 있습니다. https://renderdoc.org/ RenderDoc I've written this post with a specific target audience in mind, namely those who have a good grounding in existing APIs (e.g. D3D11 and GL) and understand the concepts of mu..

[Blender] <나의 첫 블렌더> 책 블렌더 기본 조작 스터디 노트

스터디 정리 서적 https://link.coupang.com/a/bghBsM 나의 첫 블렌더:19개의 실전 예제를 따라하며 배우는 COUPANG www.coupang.com 블렌더 기본 조작 카메라 회전 : 미들버튼 드래그 카메라 Pan 이동 : Shift + 미들버튼 화면 분할 : 에디터 모서리 드래그 분할 에디터 뷰 확대 토글 : Ctrl + Space 쿼드 뷰 토글 : Ctrl + Alt + Q 툴바 토글 : T 사이드바 토글 : N 오브젝트 선택 관련 모두 선택 : A 선택 반전 : Ctrl + I 영역 선택 : B 원형 선택 : C (우클릭 취소) 툴바에서 선택하거나 W 키로 선택 방식 스위칭도 가능 기즈모 이동 : G (Grab) -> X, Y, Z 키로 각 축에 고정해서 이동 가능. 회전 ..

DirectX 11 그래픽스 스터디 초급 과정 정리 노트

DirectX SDK의 API를 활용해서 GPU에 일을 시키는 방법을 구체적으로 이해 하는 것이 중요. GPU에 일을 시키려면 코드상으로 어떤 핵심 객체들이 필요한지 DX도구를 개념적으로 이해해야 함. 그래야 DX가 아닌 OpenGL, Vulkan, Metal 등 다른 RHI(Render Hardware Interface) 를 보더라도 이해할 수 있음. 필수/중요 객체와 메소드 ID3D11Device : 필요한 서브 객체들을 생성하는데 사용하는 최상위 객체. ID3D11DeviceContext : 최상위 객체인 Device로부터 생성한 서브 객체들을 설정하고 연결하는데 사용하는 Bridge성격의 객체. Context(문맥)어휘대로 이해하면 좋다. IDXGISwapChain : 접두어 DXGI~(Graph..

감마(Gamma), 선형(Linear) 컬러 스페이스 관련 자료 스크랩

유니티 - sRGB, Linear, Gamma 컬러 스페이스 https://rito15.github.io/posts/unity-srgb-linear-gamma-color-space/ 감마(Gamma) and 선형(Linear) Color Space 에 대해 http://rapapa.net/?p=3406 UNDERSTANDING GAMMA CORRECTION https://www.cambridgeincolour.com/tutorials/gamma-correction.htm [데브루키] Color space gamma correction https://www.slideshare.net/agebreak/color-space-gamma-correction [Unity] 그래픽스 / 색공간 https://docs..

728x90
반응형