logo
이철성's Blog
이과장의 프로그래밍이야기




아.. 별것도 아닌데 좀 헤매서

공유하려고 올립니다.

요즘 메모리를 많이들 끼우시고 해서

사실 64비트 시스템으로 작업하시는 경우가 많은데요.

실버라이트 물리엔진 Farseer 를 이용하기 위해서 Physics Helper 를 이용하는 경우가 많습니다.

( 아무래도 블랜드에서 많은 작업이 가능하므로... 디자이너를 위해서라도... )

문제는 64비트 시스템에서 프로그램을 설치하여도

Behaviors 에 내용이 나오지 않는다는 것인데요.


그 이유는 설치 프로그램에 어셈블리에 대한 카피 경로가

32비트에만 맞게 되어있기 때문입니다.

64비트 시스템의 경우 Program Files 폴더와 Program Files(x86) 폴더 두개로 나뉘어져있고

블랜드는 Program Files(x86) 에 설치 되기 때문에

즉 엄한곳에 어셈블리가 설치되게 됩니다.


즉 저것들을 메모장에서 리플레이스해서 설치해주면 문제는 간단히 해결됩니다.


혹시나 설치 파일 필요한 분들이 있을까 싶어 올려놓습니다.

Physics Helper 프로그램 받으셔서 install.bat 파일을 엎어쓰시면 됩니다.



저작자 표시 비영리 변경 금지
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License

TRACKBACK :: http://www.feelmind.com/trackback/184 관련글 쓰기

댓글을 달아 주세요


전편에서(http://www.feelmind.com/134) 이어집니다.



1. 지겨워 죽겠군요 블랜드 빨리 진행해보시죠 ?

많이 지루하셨군요.

이제 막판입니다. ^^;

곧 있으면 물리엔진을 편하게 이용하실 수 있게 되실겁니다.

우선 블랜드에서 펜툴을 이용하여 간단한 지형을 만듭니다.

이 녀석은 땅의 역할을 해줍니다.




이 지형의 이름을 ground 로 이름 짓습니다(물리엔진이 적용되는 모든 객체에는 이름이 반드시 있어야 합니다.)



2. 이건 아주 쉽군요. 애들 장난입니다.

네 이제 땅을 땅(?) 으로 인식하게 할 수 있도록 에셋 라이브러리에서 PhysicsStaticHolder 를 추가해보세요.



그리고 Properties 란을 가보면 제일 하단에 Physics 라는 항목이 있는데

body 란에 아까 주었던 지형의 이름 즉 ground 를 줍니다.

아주 쉽죠?


3. 아주 쉽군요. 이름을 직접 쳐야 한다는게 귀찮긴 하지만 다음 단계는 뭡니까?

이제 객체를 만들고 이것이 물리 엔진에 적용되도록 할겁니다.

우선 원을 하나 만들고 StrokeThickness 를 3이상으로 주도록 하세요.

이름은 Head 로 짓습니다.




이제 다시 asset 라이브러리를 선택하여 PhysicsController 를 추가합니다.



PhysicsController 를 선택한 상태에서 우측 하단에 보면 Physics 탭이 있고

여러가지를 조절할 수 있습니다.

본 예제에서는 모든 옵션을 그대로 두고 MousePickEnabled 만 체크합니다.

이를 체크함으로써 객체를 마우스로 선택하여 움직일 수 있게 됩니다.


이대로 실행시켜보면 물리엔진이 적용됨을 알 수 있습니다.

우리는 여기서 한가지 더 해보겠습니다.

그것은 바로 객체와 객체를 연결시켜주는 연결점(?) 을 만드는 것입니다.

사람으로 치면 관절 같은거라 생각하면 되겠습니다.

head 를 만들때와 마찬가지로 사각형을 하나 그려서 body 라고 이름 짓습니다.


이제 Asset Library 에서 PhysicsJoint 를 추가합니다.


이때 PhysicsJoint 의 위치는 매우 중요합니다.

객체간의 거리가 얼마나 떨어질지 결정지어주는 요인이기 때문입니다.

본 예제에서는 딱 연결지점에 갖다 놓도록 합니다.


PhysicsJoint 의 속성창에 가서 두 객체의 이름을 적어줍니다.



이제 끝났습니다. 고생하셨습니다.^^;


4. 뭡니까! 결과물을 보여주셔야지요.

다음편에서 올리겠습니다.

이번편은 너무 길었습니다.

글 두개로 쳐주시지요 -_-;;

저작자 표시 비영리 변경 금지
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License

TRACKBACK :: http://www.feelmind.com/trackback/135 관련글 쓰기

댓글을 달아 주세요


전편에서(http://www.feelmind.com/133) 이어집니다.


1. 자 이제 까는 법을 알려줘 보시죠 ?


farseer 엔진과 helper 를 이용하기 위해서는 기본적인 실버라이트 개발환경이 갖추어져 있어야 합니다.


2. 이미 깔아놨으니 잔소리좀 그만하고 빨리 깔아 주십시오. 컴퓨터 켜놨습니다.


성질도 급하시군요.

farseer 엔진은 다음의 링크에서 받으시면 되고요

http://farseerphysics.codeplex.com/


헬퍼는 다음의 링크에서 받으시면 되겠습니다.

http://physicshelper.codeplex.com/


만일 소스코드레벨에서 참조하실게 아니라면 그냥 PhysicsHelper 만 받으시면

그 안에 두가지 dll 이 들어있으니 헬퍼만 받으십시요.


본 강좌에서는 dll 만 가지고 설명합니다.



3. 날 가지고 노시는군요. 이미 두개다 받았단 말입니다. 장난합니까 ?

혹시나 엔진을 수정할 일이 있을지도 모르므로 두개다 받아놓으시는게 낫긴 할겁니다.



4. 그럴일 없으니 빨리 진행합시다. 나 바쁜 사람입니다!

PhysicsHelperForFarseer.1.0.0.4.zip 파일을 받아서 우선 압축을 푸십시오.

압축을 풀고 나면 다음과 같은 폴더들이 생길것입니다.

이때 우측의 2개의 DLL 이 엔진과 헬퍼입니다.



이 파일을 적절한 곳에다 복사해 놓으십시요.

자 이제 Visual Studio 2008 을 엽니다.

실버라이트 응용프로그램을 만듭니다.

본인은 PhysicsDemo 라고 이름 지었습니다.



asp.net 관련 내용이 나오면 나오는 대로 놔두고 확인을 누릅니다.



솔루션이 생성되면 실버라이트 프로젝트 참조란에서 참조 추가를 합니다.



그리고 찾아보기를 눌러서 두개의 dll 을 선택한후 확인을 누르십시오.


이제 참조란에 두개의 dll 이 추가된걸 보실 수 있게 됩니다.




5. 굉장히 복잡하군요. 자꾸 이런식으로 하면 그만 할거요!

지루한 과정은 이제 다 끝났습니다. 이제부터는 Expression Blend 에서 작업하시면 됩니다.

page.xaml 에서 마우스 오른쪽 클릭한 뒤 Expression Blend 에서 열기를 선택하십시오.

저장하겠냐는 메세지가 나오면 저장하시는것도 잊지 말고요.



이제 기본적인 세팅은 끝난 셈입니다.

블랜드에서 확인해 보시면 물리엔진과 관련된 4가지 커스텀 컨트롤이 추가된것을 확인하실 수 있습니다.



다음 편에서는 구체적으로 사용하는 법을 알아보도록 하겠습니다.




저작자 표시 비영리 변경 금지
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License

TRACKBACK :: http://www.feelmind.com/trackback/134 관련글 쓰기

댓글을 달아 주세요




이젠 실버라이트 3 얘기도 나오고

미뤄놨던 글들을 정리하지 않으면 영원히 못할것 같다는 압박감이 엄습해옵니다.



1. Farseer 엔진은 무엇인가요 ?

farseer 엔진이란 코드플렉스에서 진행중인 실버라이트 2d 물리엔진입니다.

정확히는 xna 용으로 만들어졌는데 나중에 실버라이트 용으로 이식되었습니다.






2. 물리엔진 어렵진 않나요 ?

아무래도 물리엔진이라는 것이 수학과 물리에 기초를 두고 있어서 그리 간단치는 않습니다만

잘만 사용하면 꽤나 멋진 결과물을 얻을 수 있습니다.




3. 생각만해도 끔찍하군요. 어려운 거라면 당장 집어 치우시죠 ?

네 그래서 나온것이 Physics Helper for Silverlight, Blend and Farseer 이라는 프로그램입니다.

이것을 이용하면 블랜드만으로도 간단히 멋진 결과물을 만들어낼 수 있습니다.




4. 오호 그거 괜찮군요. 사실 저는 실버라이트 왕초보라 코드는 하나도 모르는데 쓸 수 있나요 ?

코드는 한줄도 들어가지 않고 간단히 사용할 수 있습니다.

물론 복잡한 프로그램을 작성하려면 개발자의 도움이 있어야 겠지만

재미있는 완구를 만드는데는 충분할 겁니다.





5. 그럼 이제 설치부터 자세하게 풀어놔 보시죠?? 쉽지 않으면 두고 보십시오.

저도 먹고 살아야 하기에 방송 분량이 나와야 합니다. -_-;;;

이번회는 farseer 엔진이 무엇인지 helper 가 무엇인지 대충 알았으니 다음편에 합시다.

저작자 표시 비영리 변경 금지
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License

TRACKBACK :: http://www.feelmind.com/trackback/133 관련글 쓰기

  1. Subject: 리거니의 생각

    Tracked from dykin's me2DAY  삭제

    와 물리엔진 게임 만들어야지… 실버라이트 물리엔진 쉽게 쉽게 써봅시다.(1편)

    2009/03/16 15:39

댓글을 달아 주세요

  1. BlogIcon 중스  댓글주소  수정/삭제  댓글쓰기

    관심있는 사람들이 많을 것 같아요. 좋은 강좌 감사합니다~ :)

    2009/03/13 17:40
  2. 지에고  댓글주소  수정/삭제  댓글쓰기

    좋은 강좌 감사합니다 기대기대 + _ +

    2009/03/16 15:50
  3. BlogIcon hong!  댓글주소  수정/삭제  댓글쓰기

    옷.. 기대되네요!

    2009/03/16 17:05


사용자 삽입 이미지

옛날에 이런거 비슷한 예제가 있었는데 똥그란 공이 위에서 떨어지는거죠.. 이것도 거의 비슷한건데.. 차이점은 공이 젤리처럼 찌그러지네요 ㅋ

이 예제는 JelloPhysics 라는 라이브러리를 이용한데요.

이 라이브러리는 원래 xna game studio 에서 사용하는 라이브러리인가바요.

근데 어떻게 실버라이트에서 사용할 수 있었는지 궁금하네요.

소스가 정리되는 대로 소스를 올린다하니 한 몇일 기다려보는것도 좋을듯해요

데모는 아래의 링크를 클릭해서 확인하세요.

Move Platforms 를 누르면 막대기가 변하고요

Drop balloon 을 누르면 떨어져요 공이...

http://www.chriscavanagh.com/Chris/Silverlight/CJC.Silverlight.JelloPhysics/CJC.Silverlight.JelloPhysicsDemoTestPage.html

이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License

TRACKBACK :: http://www.feelmind.com/trackback/57 관련글 쓰기

댓글을 달아 주세요

1 

카테고리

분류 전체보기 (188)
JAVA 프로그래밍 (0)
.NET 프로그래밍 (126)
상식 (5)
생활 (30)
Silverlight 강좌 (20)
재미로보는 동영상 (2)
유용한 프로그램 (3)
경영학 (2)

달력

«   2010/03   »
  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