블로그 이미지
이냥저냥 살아가는 이야기. 이정도는 말해도 되잖아. saintdragon2

카테고리

분류 전체보기 (4)
공학수학 (0)
공학공부 (2)
생각과 느낌 (0)
음악 (0)
게임만들기 (2)
Total
Today
Yesterday

게임엔진 유니티로 할 수 있는 일들에 대해 계속 고민해보고 있다. 

3d max같은 툴들을 거의 써본적이 없어서 비교할 수 없어서 잘 모르겠지만 유니티 게임엔진의 지형 만드는 방법도 꽤나 편리하게 되어 있는것 같다. 

내 전공의 특성상 실제 지형을 유니티에서 구현해보고 싶다는 욕구를 많이 느껴서 몇가지 시도들을 해봤었다. 돈이 없으므로 공짜 프로그램만 이용해야 한다는게 포인트다. 내가 생각했던 기본적 아이디어는 이렇다. 

  1. 구글 어스의 지형을 구글 스케치업에서 불러온다. 
  2. 구글 스케치업에서 3d 모형 파일로 저장한다. 
  3. 그 3d 모형 파일을 유니티에서 import 한 뒤, terrain으로 변환한다. (terrain으로 변환하고 나면 유니티에서 제공하는 나무, 풀 등의 식물들을 심을 수 있고, 지형도 직접 수정할 수 있고 여러모로 편하니까.. )
  4. 불러온 지형을 사진을 보고 나무가 있어야 할 곳은 유니티에서 나무를 심고, 풀이 있어야 할 곳에는 풀을 심는다.
  5. 스케치업에서 건물을 만든뒤, 유니티로 불러온다음 적절한 곳에 위치시킨다. 

좋은 아이디어였고, 좋은 아이디어는 언제나 선구자들의 몫이다. 이미 수많은 선구자들이 이 길을 지나가셨다..그래서 나는 그런 사람들이 해봤던 방법들을 따라하면 되는거겠지. 

스케치업에서 구글 어스의 지형을 불러오는건 기본적으로 제공하는 기능이다. 하지만, 유니티와 스케치업 파일은 호환이 되지 않는다. 그래서 fbx파일로 변환을 해줘야 하는데, 그걸 하려면 구글 스케치업 프로버전을 사야한다. 돈이 없으므로 패스.

다음방법은 구글스케치업에서 dae파일로 익스포트하는 방법. 그러나 지형은 왠일인지 잘 받아지지 않는다. 결국 서핑에 서핑을 거듭하다가 매우매우 깔끔한 방법을 찾아냈다. 

PlayUp이라는 스케치업 플러그인과 유니티 플러그인을 사용하는 것.

자세한 내용은 플레이업 사이트에 있으므로 따라하면 무리없이 된다. 

아래는 위 방법을 사용해서 서울대학교 캠퍼스를 불러온 결과.



'게임만들기' 카테고리의 다른 글

Unity로 게임만들기  (4) 2013.04.17
Posted by saintdragon2
, |

링크를 누르면 내가 만들고 있는 게임을 브라우저 상에서 실행해볼 수 있다. 

별건 아니고, 아무 기능도 없고. 단지 wasd키로 방향 조정하고, 알트 누르면 뛰어가고, NPC들이 따라오는 기능을 만들었었다. 그외에는 아무것도 없다. 

중요한건 NPC들이 장애물을 만나면 피한다는 건데, 이런 유치하고 사소한 것도 나같은 초심자에게는 코딩할 때 고민을 꽤 해야한다는 게 재미있다. 

이러고 논다. 

같이 만들어보고 싶은 사람은 연락을. 
http://popnkorea.cafe24.com/saintdragon2/unityBuild/WebPlayerBuild.html

'게임만들기' 카테고리의 다른 글

Google Earth 지형 유니티로 불러오기  (11) 2013.05.01
Posted by saintdragon2
, |
어젯밤 꼬박 새서 숙제를 완성했다.

이 "유한요소해석입문"이란 FEM수업은 공대 이해성 교수의 수업이었다고 하는데 지금은 박원석이라는 강사가 가르치고 있다. 이해성 교수 수업을 들어본 것은 아니지만 난 오히려 지금 강사님 수업도 매우 마음에 든다. 명료하고 재미있게 가르친다. 물론 그렇다고 내 수업태도가 좋은건 아니다. 한시간에 다섯번정도씩 꾸벅꾸벅 존다. 미안해 죽겠다. 
그리고 중간고사는 거의 꼴지한 것 같다. 반타작했다. 
뭐 그래도 수업 자체에서 얻고 있는건 굉장히 많고 만족한다. 

어제 낮 네시쯤이면 코딩 다하고 레포트를 여섯시쯤까지 쓸 줄 알았더니 왠걸.... 여기저기 숨어있는 오류들이 어찌나 많은지..... 컴파일 하는 과정에서 코딩 잘못했다고 에러가 떠주면 좋으련만, 내가 만든 프로그램은 아무런 얘기도 없이 결과까지 띡 내놓는데 그 결과가 맞는 것 같으면서도 안 맞더라는....

시간에는 쫓기고 잠은 자고 싶고... 점점 코드는 걸레가 되어가고 코딩하기 싫은건 인터넷 여기저기서 긁어오고 난리도 아니었다. 

그래도 나름의 성과는 있었다고 생각하는게 조금은 포트란에 친숙해졌다는 느낌이 든다는 것이다. 
"hello world"도 찍을 줄 모르던 나에게 프로그램을 맨 처음으로 가르쳐준 xeraph선생께서는 OOP(객체지향프로그래밍)를 강조하며, "클래스는 붕어빵 틀, 인스턴스는 붕어빵", 그리고 "한 함수에서는 한가지 기능만 하게 만들라"는 명언을 남기셨다. 물론 내가 잘못 이해해서 왜곡해서 기억하고 있는지도 모른다. 
맨처음 배운게 C++이었고, 그 이후에는 JAVA로 갈아탔다. 나의 두번째 스승님인 연구실의 gonny가 java를 하고 있었기에... 이사람도 OOP 매니아. 시뮬레이션 연구하는 사람이다보니까 그렇겠지...
어쨌든 하고 싶은 이야기는 난 순차적인 프로그래밍을 해본적이 없다. 

어떤 게임프로그래밍 책에서는 어설프게 OOP따라하려고 애쓰지 말고 그냥 촌스러워도 순차적 프로그래밍하라고 그게 더 빨리 만든다고 조언되어 있는것까지 봤지만, 어디까지나 그건 순차적 프로그래밍으로 몇십년을 먹고 살았던 사람들 이야기. 난 오히려 그렇게 체계적으로 처음부터 쫘악 파악하고 쓰는 프로그래밍하기엔 머리가 너무 후달린단 말이다. 그러한 연유로 나한테 포트란은 정말 짜증나는 언어였다. 포트란 책을 봐도 갑갑하긴 마찬가지. 포트란이 손에 익은 사람들이라면 어쨌든 OOP이전 세대들일 테니까..

근데 구글링을 열심히 하다보니 포트란으로 클래스 만들고 어쩌고 하는 방법을 알게 되었다. 하여간 포트란에 대한 불평불만은 다음에 또 쓰기로 하자. 어차피 엄청 긴 포스팅이 될테니까.

숙제는 다음과 같다.



세가지 하중 조건에서 저 구조물이 어떻게 변형될까 풀어내는거다. 초록색일 때, 빨간색일때, 주황색일때. 
그리고 이걸 CST요소로  풀어내는거였다.

문제에 대해 자세히 알고 싶다면 이해성 교수님의 연구실 홈페이지에 가서 찾는게 좋겠지. 

몹시 창피한 레포트이지만 어쨌든 이렇게 정리 해놓지 않으면 굴러다니다가 결국 어디갔는지 모르게 될테니 이렇게 올린다. 포트란으로 작성한 코드 역시. 물론 내가 작성한 코드는 여기저기서 긁어온 코드들도 섞여있는 걸레같은 부끄러운 코드다. 게다가 시간에 쫓겨서 여기저기 테스트를 위한 코드들도 남아있다. 정리할 시간이 없었다. 프로그램을 완성한게 새벽 다섯시쯤이었고, 보고서 쓰고 어쩌고 하니 일곱시 반이었다.



포트란으로 작성한 코드는 다음과 같다.


결과는 이렇다. 이건 데이터 받아서 엑셀에 넣어서 그린거다. 어쩌다보니 이 그래프는 레포트에 첨부 못했네. 
CASE 2그림은 변위가 너무 작아서 30배 뻥튀기 해서 과장해서 그린거다. 



여기 안올려놓으면 보나마나 잃어버릴테니 PDF 파일도 여기에 걸어놓자.

'공학공부' 카테고리의 다른 글

공대 FEM 숙제 fortran을 이용한 근사식 구하기  (0) 2010.09.29
Posted by saintdragon2
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함