2012년 6월 21일 목요일

KGC 2011 베스트 스피커 상을 받았습니다.


2011년에 KGC에서 "스페이스마린의 렌더링 기법" 발표를 했는데 말 잘했다고 상이 날라왔습니다. 정성스럽게 포장해서 캐나다까지 보내주신 KGC 관계자 분들께 감사의 말씀을 드립니다. ^_^

ㄱㄱㅑ~ 오랜만에 상탔다!



2012년 6월 16일 토요일

Unity는 C#으로 작성했다?

요즘들어 Unity가 인기를 많이 끌고 있고, 저도 어쩌다 유니티를 주무르는 동안에 발견한 내용들을 짧게짧게 블로그에 올려볼 생각입니다. 유니티를 체계적으로 배우시고 싶다면 아마 게임개발포에버에서 도플광어님이 연재하시는 글을 보시는게 젤 좋을겁니다.

자, 그렇다면 오늘의 짧은 정보는... 과연 Unity는 어떤 언어로 작성되었나? 입니다. Unity가 Mono를 이용해서 .NET 프레임워크를 자체적으로 지원하고, 저희가 유니티에서 사용할 수 있는 스크립트 언어도 C# 이다보니

'유니티가 C#으로 작성 되었구나. 그럼 이 엔진이 속도가 너무 느리지 않을까?'

라는 걱정을 하는 분들이 계실겁니다. (저도 그랬다는..)

그래서 그에 대한 답을 좀 찾아보니 영문 질답란에 이미 유니티 개발자가 답을 해놨더군요.


이걸 대충 번역하면...

"유니티는 C++로 작성되었으나 다음과 같은 예외가 있습니다.


.NET API를 노출시켜서 여러분들이 C++로 게임을 짤 필요를 없게 만든 것 뿐이지요. 자바스크립트나 C# 또는 Boo를 이용해서 코딩을 할 수 있는 이유가 바로 .NET API 덕분입니다.


에디터 프로그램의 UI는 C#으로 작성했습니다. 유니티를 사용하시는 게임 개발자들에게 공개된 API와 거의 동일한 API를 쓰지요. (아직 공개되지 않는 API를 조금 쓰기도 합니다만 그리 많진 않습니다.)


이것이 바로 "UnityEngine.dll 파일을 다른 C# 프로젝트에서 사용할 수 있나요?"라는 질문에 대한 답이 언제나 "아니요"인 이유입니다. UnityEngine.dll에는 거의 아무 기능도 들어있지 않습니다. 이건 그저 C#/자바스크립트 호출들을 C++ 엔진에 연결해줄 뿐입니다. C++ 엔진이 없이는 그냥 속빈강정이랄까요?"



한마디로 대충 정리하면:

  • 유니티 내부는 C++이여서 C#보단 성능이 빠릅니다. 단, C#/C++ 컨텍스트 스위치 되는 부분에서 약간의 성능저하는 있을수 있습니다만 언리얼엔진에 비해 크게 문제는 안될거 같습니다.
  • 유니티 에디터는 C#으로 작성되어 있습니다. (에디터에서 리플렉션을 자동으로 지원해주는것도 이때문일듯...)
  • 유니티를 사랑합니다.. (응?)


참조:


2012년 6월 14일 목요일

차세대 엔젠개발에 대해 예전만큼 꼴리지 않는 이유는?


차세대 콘솔용 그래픽엔진 개발하자고 러브콜이 종종 오는데... 여기에 한 번에 혹~ 끌리지 않는건 이미 몇 번 해먹어서인듯 하다. 최근에 PC, PS3, Xbox 360 용으로 멀티 플랫폼 엔진을 처음부터 끝까지 만들어서 스페이스마린을 출시한 것도 있지만 그보다 더 자랑스러운 업적은 사실 그전에 이뤘었음.

캡콤 밴쿠버(내가 일할 때 이름은 블루캐슬게임스 이었음)에서 일 할 때 PS3, Xbox 360, Wii, PSP, PS2, PC 6개 플랫폼에서 동시에 도는 엔진을 개발했으니까.... (PC용은 내부용이었기에 PC를 제외한 5개 플랫폼으로 동시에 The Bigs를 출시했었음. 평점도 80점.)

아마 게임개발 역사상 한 스튜디오에서 50~60명 인력가지고 5개 플랫폼으로 동시에 게임을 출시한 적이 없었을껄...? 하는 생각을 하다보니 새로운 차세대 엔진 만드는 게 예전에 했던 것보다 더 대단한 일이 아닌거 같단 생각이 들어서 완전히 꼴리는 일이 없음 -_- 그냥...

'응, 하면 재미는 있겠지... 근데 뭐 좀 더 커다란 성취감을 주는 일이 없을까?'

하는 생각이 더 강함 -_-; 아니면 그냥 좀더 쉬면 다시 꼴릴지도...... 아니면 민근님 따라 우즈벡에 가서 게임회사라도 차려야할까....

2012년 6월 12일 화요일

시그래프 발표일정이 잡혔습니다 훗훗훗훗...


시그래프 2012에서 스크린 스페이스 데칼 기법을 발표하게 되었습니다. 월요일날 발표한다고 나왔네요... 후후후후..... 이 링크에서 젤 밑을 보시면 제 이름이 보입니다. 후후후후.. 네 본명이 포프입니다 -_-+



신나긴 하는데.. 지금 어디에 몸을 담고 있지 않아서 모든 비용을 제가 내야한다는게.. 엄하군요... 끄응 -_-;



2012년 6월 11일 월요일

Unity, 널 사랑하지만 너의 UV만은 용납할 수 없다


요즘, 사랑에 빠졌습니다. 이름도 깔삼한 Unity입니다. 처음으로 '아~ 이것보다 뛰어난 놈은 못만들겠구나'라고 생각이 든 엔진이라죠. 물론 이유는 에디터가 너무 좋아서입니다. 그 전에 섹시한 언리얼 양을 볼때도 '뭐, 이정도 쯤이야 나도 언제나 만들 수 있지' 하고 생각했었는데 유니티양 앞에선 무릎을 꿇었답니다.

근데 며칠전에 은근 짜증나는 면을 발견했죠.. 바로 유니티의 UV좌표계.

보통 전(그리고 다른 그래픽 프로그래머들도 아마..?) 텍스쳐에 UV 좌표계를 다음과 같이 입힙니다. 왼쪽위(0,0), 오른쪽아래(1,1)로요.

(0,0)        (1,0)                 
  +-----+-----+
  |     |     |
  |     |     |
  +-----+-----+
  |     |     |
  |     |     |
  +-----+-----+
(0,1)        (1,1)

이렇게 좌표계를 대입하면 UV 좌표계가 텍스처 메모리 레이아웃과 일치한다는 장점이 있지요. 따라서 UV좌표를 기반으로 텍스처 조작(texture manipulation)을 하면 매우 직관적이고 쉽습니다. UV좌표를 써서 텍스처의 일부를 복사해내는 게 그 좋은 예겠죠.

근데, 유니티 양은 뭔 이유에선가 UV좌표를 좀 다르게 매핑합니다. 왼쪽아래(0,0) 오른쪽위(1,1)로요.. 즉 위아래가 뒤집힌 현상.. -_-


(0,1)        (1,1)                 
  +-----+-----+
  |     |     |
  |     |     |
  +-----+-----+
  |     |     |
  |     |     |
  +-----+-----+
(0,0)        (1,0)


무엇이라!? 왜 이따위로 사는거야!? 철썩~ -_-;;; 이 따위로 UV좌표를 매핑해놓은 수학책이 분명 있습니다. 하지만 이렇게 해서 얻는 실용적인 이익을 도무지 떠올릴 수가 없네요. 때로는 저희 렌더링 프로그래머들이 그냥 특정한 표기법에 익숙하다는 이유로 잘못된 결정을 내리는 경우가 있습니다. 이것도 그런 경우라고 생각합니다.

만약 제가 간과한 장점이 있다면 제발 알려주세요. 제가 사랑하는 유니티 양을 매도하고 싶진 않습니다. 하지만... "전통적으로 그래왔으니 이 방법이 맞아." 따위의 논의는 삼가해주시기 바랍니다.

2012년 6월 10일 일요일

북미취업 가이드북, 분야 1위를 달리고 있습니다.

지금 막 인터파크에 들어가보니.... 순위가 멋지군요.


  • 자기계발서 순위: 1 위
  • 이북 전체 순위: 2 위
  • 인터파크 전체순위: 62 위




2012년 6월 9일 토요일

게임개발자 랩소디 3화에 출현했습니다. 훗~

민근님이 진행하시는 게임개발자 랩소디 3화에 출현했습니다. 라디오 방송이라 잘생긴 얼굴이 나올 순 없지만.... 그래도 시작부터 낯간지럽게 잘했습니다.. -_- 훗훗훗....

들으시려면 여기를 눌러주세요.


사진은 민근님의 팟캐스트 대표사진입니다. 절대 제가 그린게 아닙니다. -_-

2012년 6월 5일 화요일

위대한 게임의 탄생 2 에 제 인터뷰가 실렸습니다.

방금 이 책의 편저자이신 박일님이 보내주신 책을 받았습니다.


197페이지엔 제 인터뷰도 실려있습니다.... ^_^/




저는 공짜로 얻었으니.... 여러분들은 사서 보세요.. 훗훗 -_-;

2012년 6월 4일 월요일

7월 10~20일날 쉐이더 책 나옵니다.

원래 한빛 미디어에 5월 출간예정으로 올라와서 기대하고 있었는데 안나와서 확인해보니 일이 많아서 좀 연기되었답니다. 이번엔 7월 10일에 반드시 출판할거라고 하시니 기대해봅시다.

계속 책 출판이 늦어져서 죄송합니다. 생각보다 많이 늦어졌네요. 좀 일찍 나왔으면 다음학기 교재가 될 가능성도 있었을텐데 저도 개인적으로 좀 아쉽습니다.

그래도 더 좋은 책이 나오기 위해 이러는 거라고 생각하고 긍정적으로 기다려주시기 바랍니다. ^_^

업데이트(2012-06-12):
출판사에서 온 이멜을 다시 읽어보니 7/10일 출간.. 7/11일~20일 인쇄배본.. 이라고 하는데.. 이게 무슨 차이인지 헷갈 -_-;