이창희(cagetu79@gmail.com) Animation 이창희(cagetu79@gmail.com) copyright cagetu(cagetu79@gmail.com)

Slides:



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

2D 게임 프로그래밍 1 차 프로젝트 배태민. 목 차목 차 ◎ 게임컨셉 ◎ 게임플레이 ◎ 개발범위 ◎ 개발일정.
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
Big Data & Hadoop. 1. Data Type by Sectors Expected Value using Big Data.
게임엔진 Term Project 학번 : 이름 : 오민형 2D 게임 프로그래밍 Project.
1차 발표: Control Artist 학번: 이름: 서민성.
컴퓨터와 인터넷.
Chapter09 CSS3 애니메이션 HTML5 Programming.
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
최윤정 Java 프로그래밍 클래스 상속 최윤정
3D Project Cloud Warcraft 박 종 선.
Revenge of the Zombie:2차 발표
2d 게임 프로그래밍 기말 프로젝트 1차 발표 김대현.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
연결리스트(linked list).
수치해석 6장 예제문제 환경공학과 천대길.
사원수 (Quaternion)
뇌를 자극하는 Windows Server 2012 R2
20장. Hyper-V 설치와 운영(64bit 전용)
Open Graphics Library 팀 명 : Spes 송정웅 김정환
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
8장. 원격지 시스템 관리하기.
COLLADA 1.5 Specification
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
Error Detection and Correction
멀티미디어 시스템 (아날로그 이미지,신호를 디지털로 변환 방법) 이름 : 김대진 학번 :
23장. 구조체와 사용자 정의 자료형 2.
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
초음파를 이용한 거리 측정과 음성구현 1 조 한 형 래 김 요 섭 안 정 민.
20장. Hyper-V 설치와 운영(64bit 전용)
3차원 객체 모델링.
애니메이션 기법과 장면그래프 HyoungSeok Kim
10장 컴퓨터 기반 데이터 획득 응용 프로그램 LabVIEW 사용법
자바 5.0 프로그래밍.
디지털회로설계 (15주차) 17. 시프트 레지스터와 카운터 18. 멀티바이브레이터 * RAM & ROM.
소마큐브로 3*3*3(정육면체)만드는 방법 탐구하기
Unity로 만드는 안드로이드 앱 유니티 프로젝트의 구성 Made by Karoid.
CHAP 5. 레이아웃.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
Samsung Software Membership 3D MIM 신진수
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
Nessus 4 설치 정보보호응용 조용준.
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
2D Game Programming Project 1
COMPUTER ANIMATION (Key Frame Animation)
인체 대 탐험 3D GAME ENGINE 게임 공학과 이성진.
2D 게임 프로그래밍 BUBBLE BOBBLE 제민경.
Tween Animation 천승현.
2D 게임프로그래밍 프로젝트 스틱 파이터 Stick Fighter 박하은.
2D게임 프로그래밍 프로젝트 총은 사기입니다(가제) 박상윤.
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
Real time Interaction HyoungSeok Kim
13차시_스마트 애플리케이션 기획 스마트 미디어의 사용환경과 사용자의 특성.
게임공학과 장민석.
1차 발표: 프로젝트 발표 안내 및 형식 학번: 이름: 김경우.
늑대인간 황 보 선.
3D 프린팅 프로그래밍 03 – 도형 회전 (손잡이컵 만들기) 강사: 김영준 목원대학교 겸임교수.
중복 멤버의 처리 조 병 규 한 국 교 통 대 학 교 SQ Lab..
2D 게임프로그래밍 프로젝트 발 록 런 김대호.
애니메이션 제작 기법 2D 애니메이션 3D 애니메이션 임희영.
Animating Pictures with Stochastic Motion Textures
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
2D 게임 프로그래밍 프로젝트 박태언.
2D 게임 프로그래밍 제안서 김보명.
2D 게임프로그래밍 프로젝트 - Air Clear 심석용.
2D Game Programming 1차 발표 배강산.
CHAP 15. 데이터 스토리지.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
7 생성자 함수.
Presentation transcript:

이창희(cagetu79@gmail.com) Animation 이창희(cagetu79@gmail.com) copyright cagetu(cagetu79@gmail.com)

copyright cagetu(cagetu79@gmail.com) Animation 정점 애니메이션 (Vertex Animation or Vertex Morphing) 계층적 애니메이션 뼈대 애니메이션 스키닝(Skinning) copyright cagetu(cagetu79@gmail.com)

copyright cagetu(cagetu79@gmail.com) Vertex Animation Quake 시리즈에서 많이 사용(MD2, MD3) Morphing 에 일종 각 정점의 애니메이션된 위치를 매 프레임마다 저장하고 있다가 이것을 선형 보간, 또는 그 외의 보간에 의해서 출력하는 것으로 원리와 구성 자체가 간단하며, 자동으로 스키닝이 된다는 장점이 있음. 데이터량이 많고, 하드웨어 가속을 받기가 어려움. 모핑 기법으로 구현되기 때문에, 키 프레임 방식으로 표현하기 어려운 것들이 가능 Facial 애니메이션 or 모델의 모습이 변화 V world = (1-a)*V 1+ a*V v (단, 0<= 0 <= 1) copyright cagetu(cagetu79@gmail.com)

copyright cagetu(cagetu79@gmail.com) 계층구조 애니메이션 캐릭터를 여러 개의 메쉬로 나눠서 각 메쉬를 부모-자식 관곌 상속시키고, 메쉬마다 이동, 축소, 회전을 포함한 매트릭스를 매 프레임 또는 변화되는 프레임마다 저장하여 사용. M transform= M local * M animation* M parent V world= V local * M transform copyright cagetu(cagetu79@gmail.com)

copyright cagetu(cagetu79@gmail.com) 뼈대 애니메이션 계층구조 애니메이션 인간의 몸 속에 뼈대가 있듯이 3차원적으로 구성된 뼈대를 만들고, 이 뼈대에 메쉬를 자식으로 붙이는 방식 뼈대는 메쉬가 아니기 때문에, 화면에 랜더링 되지 않는다. M bone_transform= M local * M bone_animation* M bone_parent V world= V local * M mesh_local * M bone_transform 관절과 관절 사이의 봉합을 하지 못함 동일한 뼈대 구조를 가진 오브젝트는 메쉬를 바꿔치기 하는 것으로 똑같은 애니메이션이 가능하기 때문에 메모리의 절약과 응용가능. copyright cagetu(cagetu79@gmail.com)

copyright cagetu(cagetu79@gmail.com) 뼈대 애니메이션의 계층 copyright cagetu(cagetu79@gmail.com)

copyright cagetu(cagetu79@gmail.com) 계층구조 만들기 부모의 이름을 이용해서, 계층구조를 만든다. 부모는 하나이지만, 자식을 여러 개를 가질 수 있음. copyright cagetu(cagetu79@gmail.com)

copyright cagetu(cagetu79@gmail.com) 애니메이션 정보 M mesh_local 을 구한다. 나와 있는 정보는 worldTM 이므로, 역행렬을 구해서, localTM을 구해야 한다. M local = M world * M inverse 구한 M inverse 을 이용해서, V local 을 구한다. V local = V world * M inverse copyright cagetu(cagetu79@gmail.com)

copyright cagetu(cagetu79@gmail.com) NODE_NAME: 부모 본의 이름 CONTROL_POS_TRACK: 위치 애니메이션 정보 위치 정보의 경우는 선형 보간을 이용해서, 애니메이션 정보를 생성한다. CONTROL_ROT_TRACK: 회전 애니메이션 정보 위에서 보는 것과 같이, 읽은 정보로 quaternion을 생성한다. Quaternion 보간을 이용해서, 애니메이션을 계산한다. CONTROL_SCL_TRACK: 스케일 애니메이션 정보 Track 키 정보는 Scene 정보에 있는 TickPerFrame 값으로 나누면, frame 값이 나온다. copyright cagetu(cagetu79@gmail.com)

copyright cagetu(cagetu79@gmail.com) 애니메이션 만들기 각 노드는 자신의 노드에 대한 애니메이션 정보(pos, rot, scale)를 가지고 있다. 따라서, 이 정보를 가지고, 현재 frame에 맞는 자신의 노드의 애니메이션 matrix를 구한다. 만일, 애니메이션 데이터가 저장되지 않은 frame의 정보는 보간(선형 보간, 구형 선형 보간)을 이용해서, 구한다. 구한 애니메이션 matrix들을 계층구조 계산에 따라, 최종 애니메이션 matrix를 구한다. copyright cagetu(cagetu79@gmail.com)

copyright cagetu(cagetu79@gmail.com) 스키닝 관절과 관절 사이의 벌어짐을 방지하기 위한 방법 메쉬를 구성하는 각각의 정점이 뼈대로부터 얼마만큼의 힘을 받는가 하는 가중치 값을 포함하고 있는 것. V world= V local*M0*W0 + V local*M1*W1 + V local*M2*W2 + V local*M3*W3 + … + n (단, Wn= 1.0-(W0+W1+W2+…+W(n-1))이며, V local은 정점의 지역 좌표, M[index(n)]은 정점에 영향을 미치는 뼈대의 애니메이션 행렬, n은 일반적으로 0~3까지 4개의 링크가 사용된다.) 정점 당 매 프레임마다 계산을 해야 하기 때문에, 계산량이 많으나, 하드웨어 가속의 지원을 받을 수 있기 때문에, 요즘에 일반적으로 사용되고 있다. 매트릭스 팔레트, Skinned Mesh copyright cagetu(cagetu79@gmail.com)

copyright cagetu(cagetu79@gmail.com) Inverse Kinematics 일반적으로 우리가 사용하는 계층구조 방식은 Forward Kinematics 임. 역기구학은 넝마 인형(rag doll)등을 사용한 자연스러운 캐릭터 애니메이션 표현을 위해서 물리학에서 사용되는 이론을 채용. PS2 의 ICO copyright cagetu(cagetu79@gmail.com)

copyright cagetu(cagetu79@gmail.com) 참고자료 3D 게임 프로그래밍 – 김용준 8장 캐릭터 애니메이션 게임 개발 테크닉 김병철_ASE화일을 이용한 본 에니메이션 copyright cagetu(cagetu79@gmail.com)

copyright cagetu(cagetu79@gmail.com) Q & A copyright cagetu(cagetu79@gmail.com)