원소스멀티유즈 닷넷 물리엔진 2부
DESCRIPTION
원소스멀티유즈 닷넷 물리엔진 2부공인석/훈스닷넷언제부터인가 웹에서 물체의 물리적인 성질을 이용한 캐쥬얼 게임이 나오기 시작했습니다. 특히 스마트폰이 터치 센서와 기울기 센서를 사용하기 시작하면서 물리적인 효과를 더욱 실감나게 활용한 재미있는 애플리케이션이 많아졌습니다. 본 동영상에서는 아주 간단한 물리법칙의 기초와 XNA와 실버라이트로 구현된 물리엔진을 소개하고 한번 작성한 코드를 여러 플랫폼에서 재활용하는 방법을 알아봅니다. 지난 6월 26일 데브멘토와 국내 대표 닷넷 커뮤니티인 훈스닷넷과 함께 하는 재미있는 커뮤니티 세미나 “Advanced Rich Experience”스마트폰 전성시대인 요즘 아이폰, 안드로이드가 아닌 닷넷과 실버라이트를 이용한 증강현실 및 3D 등 모바일 UX 구현 사례 및 동향에 대한 강연입니다.TRANSCRIPT
Farseer 물리엔진을 이용한 원소스 멀티유즈!
.NET PHYSICS
@gongdo
유령회사 공도소프트
간단한 물리 시뮬레이션
고3 수학이 필요핚 것
• 회전 운동– 삼각함수는 필수
• Forward Kinematics 전짂 운동– 어느정도 구속이 있는 기계적인 움직임을 표현
• Inverse Kinematics 역방향 운동– 좀더 자연스럽고 그럴듯핚 움직임을 표현
회전 운동
레이스의 머리가 향하는 각도목표지점 클릭
Θ
a
-b
Θ = Math.Atan2(a, -b)
c
c =Math.Sqrt(Math.Pow(a, 2) + Math.Pow(b, 2))
FORWARD KINEMATICS
INVERSE KINEMATICS
02FARSEER PHYSICS
잘 정리된 .NET 오픈소스 물리 엔짂
http://farseerphysics.codeplex.com/
2D
Simplicity
Useful
Fun
Simulator
The World
Body
GeometryCOLLISION!
가장 갂단핚 루틴
1. “Body” 오브젝트 생성
2. 시뮬레이터에 “Body” 추가
3. 게임 루프 시작
1. “Body”에 힘이나 회전력 적용
2. 시뮬레이터 업데이트
4. 게임 루프 끝
FARSEER PHYSICS
#1
Joint
Spring
FARSEER PHYSICS
#2
03MULTI-TARGETING
이제 핚 플랫폼만 개발하면 되는 시대는 지났다!
솔루션 셋업
• 모든 프로젝트에서 공통으로 사용핛 프로젝트는가장 일반적인 Windows Library 형식으로 작성
• Assembly(프로젝트)의 이름은 {Project Name}.{Platform}의 형식• Default namespace의 이름은 모든 서브 프로젝트가 동일하도록 설정
공통 프로젝트 파일 추가
파일을 추가핛 때Add As Link로 추가하면하나의 파일을 공유핛 수 있음
XAML FAMILY
WPF | Silverlight | Silverlight for Windows Phone
XNA FAMILY
Windows | XBOX | ZUNE | XNA for Windows Phone
.NET Framework
XAML 계열
• WPF – Windows
• Silverlight – Web
• SL Windows Phone
XNA 계열
• XNA – Windows
• XNA – XBOX
• XNA – ZUNE HD
• XNA – Windows Phone
TIP
NOT MAGIC BUT TRICK
Thanks!
References• http://farseerphysics.codeplex.com/
• http://physicshelper.codeplex.com/
• http://physicsgames.net/
• http://www.farseergames.com/tirestorm
• http://cglink.kr/terms/1210
• http://www.silverlightbuzz.com/2009/08/19/additional-physics-based-behaviors-for-blend-and-silverlight/
Images• http://ko.wikipedia.org/wiki/파일:Two_women_operating_ENIAC.gif
• http://en.wikipedia.org/wiki/File:MuseeMarine-canon-1880-p1000439.jpg
• http://en.wikipedia.org/wiki/File:M855_drop_during_25-meter_zeroing_trajectory_M16A2_M4.jpg
• http://en.wikipedia.org/wiki/File:Solvay_conference_1927.jpg
• http://en.wikipedia.org/wiki/History_of_physics
• http://www.science-vessel.com/
• http://www.flickr.com/photos/lumaxart
• http://www.flickr.com/photos/roblz/2445993119
• http://www.flickr.com/photos/38183815@N06/3785404417
• http://phet.colorado.edu