기술/자체엔진(5)
-
셰이더 (Shader)
노멀맵, 환경맵, 물, 그림자 셰이더입니다. 포스트 프로세싱(Post Processing) 흑백(Monochrome) 효과 입니다. 포스트 프로세싱(Post Processing) 반전(Inversion) 효과 입니다. 포스트 프로세싱(Post Processing) 어둡게(Bright path) 효과 입니다. 포스트 프로세싱(Post Processing) 밝게(Tone Mapping) 효과 입니다. 포스트 프로세싱(Post Processing) Blur 효과 입니다. 포스트 프로세싱(Post Processing) Bloom 효과 입니다. 포스트 프로세싱 Depth Of Field 효과 입니다. Depth Of Field를 구현하기 위한 Position Map 입니다. Position Map을 초점(Foca..
2018.07.19 -
벡터의 외적 2018.06.29
-
MaxExporter ASE DirectX
3D Max에서 Box를 ASE 파일 포맷으로 익스포트(Export) 합니다. 파일 정보에는 노드 이름, 월드 행렬 정보, 부모 노드 이름, 정점 정보, 폴리곤 정보, 노멀 정보등이 있습니다.이 값들을 읽어와서 DirectX API로 렌더링 해줍니다. 하나의 GEOMOBJECT가 하나의 GameObject가 되고 렌더링은 ComRenderAse 구성요소(Component)로 만들어 주었습니다. 행렬 계산은 셰이더로 해주고 텍스쳐는 범프맵을 이용해야 할 것 같습니다. 애니메이션 Transform, Rotation, Scale 정보가 있는데 이 값들을 읽어와서 애니메이션 시켜 줍니다. 캐릭터가 서있는 기본적인 메쉬들과 행렬(Matrix)를 읽어오고 애니메이션 값들은 따로 읽어와서 애니메이션 정보들을 바꾸어 ..
2018.06.27 -
Game Object Component System 설계
최대한 유니티 엔진을 사용하던 사용자경험(UX)를 살려 C++로 Game Object Component System 설계를 적용하였습니다. 유니티 엔진과 언리얼 엔진에 적용되어 있는 설계입니다. (게임 오브젝트에 구성요소를 추가하며 오브젝트를 만드는 설계 방식) C++로 코드를 작성하고 DirectX로 렌더링을 하지만 모든 Component 설계구조가 비슷하기 때문에 코드를 C#으로 변환한다면 유니티에서도 사용할 수 있습니다. 즉, 근본적인 로직이 비슷합니다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 ..
2018.06.27 -
3D 수학 기본 (WinAPI, DirectX 렌더링)
홍보 몬스터 키우기 - Google Play 앱 몬스터 키우기 - Google Play 앱 귀여운 몬스터를 소환하고 성장 시켜보세요. play.google.com 본인이 만든 RPG 게임 입니다. 몬스터와 장비를 소환하고 장비를 장착하여 강해지는 게임입니다. PlayFab 서버가 적용되어 있습니다. Facebook SDK와 로그인이 적용되어 있습니다. 2048 퍼즐 - Google Play 앱 2048 퍼즐 - Google Play 앱 2048 퍼즐 게임입니다. play.google.com 아주 단순한 2048 숫자 퍼즐 맞추기 게임입니다. 3x3, 4x4, 5x5, 6x6, 8x8 모드와 그래픽 컬러감을 좋게 하였습니다. 서버 사용 X, 세계 176개국에 출시하였습니다. 최대한 근본 원리를 이해하는 것..
2018.06.12