포트폴리오 기술서 조병욱.

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

게임엔진 Term Project 학번 : 이름 : 오민형 2D 게임 프로그래밍 Project.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
5. 접근 제한자의 이해 SCJP 자격증 프로젝트 발표자 : 노효진.
01_ 가상 함수를 사용한 다형성의 구현 02_ 오버라이딩
OpenCV 안드로이드 연동 환경설정 OpenCV-Android 를 다운 받습니다.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
게임 엔진 : 프로젝트 PPT_3 참참참 김 현 원.
Power Java 제3장 이클립스 사용하기.
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
최윤정 Java 프로그래밍 클래스 상속 최윤정
3D Project Cloud Warcraft 박 종 선.
Revenge of the Zombie:2차 발표
2d 게임 프로그래밍 기말 프로젝트 1차 발표 김대현.
Java로 배우는 디자인패턴 입문 Chapter 5. Singleton 단 하나의 인스턴스
ANSYS17.2 Student 제품 무료 다운로드
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
FTP 프로그램 채계화 박재은 박수민.
자바 5.0 프로그래밍.
DirectX 3D 7개월차 김성도 3D 5인 프로젝트.
3차 발표: 프로젝트 발표 학번: 이름: 주창환.
7장 인터페이스와 추상 클래스.
Method & library.
자바 5.0 프로그래밍.
자바응용.
인터넷응용프로그래밍 JavaScript(Intro).
WIN32 API 대전 TETRIS 시스템제어 허준호 박정욱 손경원 신동헌.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
2D게임 프로그래밍 1차 발표 자료 정재훈.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
Power Java 제11장 상속.
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
2D 게임프로그래밍 프로젝트 스틱 파이터 Stick Fighter 박하은.
2D게임 프로그래밍 프로젝트 총은 사기입니다(가제) 박상윤.
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
10장 상속 Section 1 상속의 개요 Section 2 상속과 한정자 Section 3 상속과 생성자
12. 상속 : 고급.
18강. 인터페이스 – II - 인터페이스와 다중상속 - 인터페이스를 통한 로봇 장남감 만들기 프로그래밍
11. 어댑터뷰 제목. 11. 어댑터뷰 제목 리스트뷰와 그리드뷰 활용법을 배운다. 갤러리와 스피너의 사용법을 익힌다.
( Windows Service Application Debugging )
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
헤드라인 헤드라인 헤드라인 헤드라인 헤드라인 헤드라인 헤드라인 헤드라인 헤드라인 헤드라인 헤드라인 헤드라인 텍스트 샘플 텍스트
12강. 컨트롤러 컨트롤러 클래스 제작 요청 처리 메소드 제작 뷰에 데이터 전달
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
1차 발표: 프로젝트 발표 안내 및 형식 학번: 이름: 김경우.
늑대인간 황 보 선.
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
가둬라 버블버블! 터트려라 팡팡!.
3. 모듈 (5장. 모듈).
2D game programing 게임공학과 임종현.
2D 게임 프로그래밍 제안서 김보명.
2D 게임프로그래밍 프로젝트 - Air Clear 심석용.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
학번 : 이름 : 김종걸.
2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경.
채팅 및 파일전송 프로그램 권 경 곤 김 창 년.
윤성우의 열혈 C++ 프로그래밍 윤성우 저 열혈강의 C++ 프로그래밍 개정판 Chapter 05. 복사 생성자.
학부 컴퓨터공학부 교육과정 (학부) 2학년 4학년 3학년 1학년 1학기 2학기 IPP 자격과정 전공트랙
트위치 트게더 Twitogether 김준희.
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
상속 (Inheritance) private 전용부분 전용부분 공용부분 공용부분 public 기본 클래스
M.B.TEAM 중간 발표 (5.18) 이 제걸 백 인호.
7 생성자 함수.
타이머를 시작하려면 슬라이드 쇼 메뉴에서 쇼 보기를 클릭하십시오.
Presentation transcript:

포트폴리오 기술서 조병욱

1. Project Information 2. Technique 3. Code Explanation 4. Screen Shot & Explanation 5. Other Project

Project Information

Project Information 제작 기간 2012. 3. 21 ~ 2012. 5. 28 2개월 참여 인원 2012. 3. 21 ~ 2012. 5. 28 2개월 참여 인원 클라이언트 4명, MFC 맵툴 1명 내가 맡은 분야 잔상, 소프트 파티클, UI 장르 논타겟팅 액션 RPG 사용 언어 / 개발 도구 C / C++, WIN32 API, Direct SDK, HLSL, MFC, Fmod Sound 3D Max, Photo Shop, U Model Viewer 개요 마을 안의 상점에서 더 쎈 무기를 구입할 수 있고 마지막 보스인 용을 잡으면 게임이 종료됩니다. 동영상 링크 3D Team Project 동영상

Technique

Technique Singleton 패턴을 활용한 객체의 단일 객체화 ( Device, Manager, Sound, Mediator 등 ) Abstract Factory 패턴을 활용한 객체의 제품 군 별 생성 ( Factory 클래스를 Template와 접목시켜 객체를 생성 ) 객체의 Prototype을 미리 생성 후 복사 생성사를 통해 객체 생성 Mediator 패턴을 사용해 객체들의 M:N 관계를 M:1 관계로 만듬 ( Mediator 클래스를 Singleton화 시켜 객체들간의 관계를 용이하게 함 ) Adapter 패턴을 사용해 객체간의 인터페이스 호환 ( Camera 클래스의 인터페이스를 Obj 클래스에서 사용할 수 있도록 함 )

Technique STL을 사용하여 Object 및 Resource 관리 ( List : 삽입/삭제가 빈번한 객체 관리 Vector : 삽입/삭제가 빈번하지 않은 객체 관리 Map : Key/Value를 사용해 Resource 관리 ) 플레이어 중심으로 유연한 카메라 구현 잔상 및 Soft Particle을 활용한 Effect 구현 HLSL을 사용해 프레임 확보 및 그래픽 효과 증가 OBB를 활용한 충돌 FMOD를 활용한 사운드 출력 및 제어 SVN을 사용해 팀원들간 소스 관리 U Model Viewer를 사용해 Object 추출

Technique Shader Skinning을 사용해 프레임 확보 및 애니메이션 구현 Render Target을 사용해 깊이 버퍼 그림자 및 잔상 구현 HLSL을 활용한 Water 구현 Pixel Shader 연산을 통해 Object 밝기 값 조절 HDR 기술을 사용해 더욱 실감있는 조명 구현

Code Explanation

Static 변수는 언제 초기화 될 지 모르기 때문에 메소드의 안에 둠으로써 초기화 지점을 설정해 두었고 상속을 위해 접근지정자 protected와 virtual 소멸자를 사용하였습니다. Singleton 클래스를 Template과 접목시켜 소스코드의 중복성을 줄이고, 옆의 클래스를 상속받아 단일 객체화와 동시에 어디서든 사용할 수 있도록 하였습니다

클래스의 상속을 활용하여 계층구조로 설계 하였고, 상위 클래스는 최소한의 멤버 변수나 멤버 함수를 정의하고, 하위 클래스에서 세부적인 속성을 정의하였습니다. 상위 클래스에서 가상함수를 정의한 후 Runtime 시간에 하위 클래스에 Overriding 된 멤버 함수를 동적 바인딩 하여 호출 합니다. 소멸자에 virtual 키워드를 붙여주어서 자식 클래스의 소멸자도 호출 될 수 있도록 설계하였습니다.

상속받는 하위 클래스에서만 접근이 가능하도록 하였고, 실제 구현 클래스는 private 을 사용하여 상위 클래스의 멤버변수를 Protected로 두어 상속받는 하위 클래스에서만 접근이 가능하도록 하였고, 실제 구현 클래스는 private 을 사용하여 외부에서의 직접적인 접근을 막았습니다. Get, Set 접근자를 지정하여 멤버변수에 직접 접근하지 못하고 간접 적으로 접근 할 수 있도록 하였습니다.

#define 을 사용하면 컴파일 전 전처리기 지시자가 먼저 처리하여 변수가 컴파일러의 기호 테이블에 들어가지 않아 디버깅 할 수 없습니다. 따라서 #define 대신 const 키워드를 사용하여 값을 확인 할 수 있게 하였습니다.

Screen Shot & Explanation

Pong Shading 기술에 High Dynamic Range Lighting 기술을 더해 더욱 실제감 있고 화려하게 만들었습니다.

깊이맵을 이용한 Soft Particle 기술로 자연스러운 불을 구현하여 마을의 화덕과 마지막 보스인 용의 브레스 스킬에 적용시켰습니다. 소프트 파티클 구현 동영상 링크.

몬스터가 죽게되면 알파 블렌딩을 사용하여 자연스럽게 사라지도록 하였습니다.

상점에서 아이템을 구매/판매를 할 수 있고 아이템 및 인벤토리/상점 창을 이동시킬 수 있습니다.

무기를 오른쪽 클릭하면 아이템 위에 E라는 장착 표시가 생기고 무기 교체가 가능하도록 하였습니다.

OBB 충돌 기술로 타격판정 을 하였고 애니메이션 메 시의 본행렬을 OBB박스의 부모행렬로 받아와 계속 따라붙도록 만들었습니다. 충돌시에 타격 Effect와 데미지박스가 생성됩니다.

Render Target으로 무기를 여러번 출력후 한곳에 합쳐서 출력하여 잔상효과를 구현하였습니다. 잔상 구현 동영상 링크.

렌즈플레어를 구현하여 실감있는 조명효과를 내었습니다.

스플렉팅. 알파채널로 여러 텍스쳐를 섞어 지형을 자연스럽게 만들었습니다.

Render Target을 사용하여 반사와 굴절로 물을 구현하고 카메라 각도에 따라 반사량을 조절하여 더욱 실감있게 하였습니다.

Other Project

Direct 2.5D 팀 프로젝트(3인) 소실점을 사용해 3D 처럼 보이게 만들었습니다. 2.5D 팀 프로젝트 동영상 링크입니다.

API 기반의 2D 게임 API 기반의 2D 프로젝트 동영상 링크입니다.

Thank you 조병욱 cho982@naver.com 010-2060-4676 3D Team Project 동영상 링크