jobGuid 꽃미남 프로그래머 "Pope Kim"님의 이론이나 수학에 치우치지 않고 실무에 곧바로 쓸 수 있는 실용적인 셰이더 프로그래밍 입문서 #겁나친절 jobGuid "1판의내용"에 "새로바뀐북미게임업계분위기"와 "비자관련정보", "1판을 기반으로 북미취업에 성공하신 분들의 생생한 경험담"을 담았습니다. 3ds Max를 사용해서 게임용 3D 캐릭터를 셋업하는 방법
이를 위해 오랜 실무를 경험해 온 저자의 고급 노하우들이 공개
위 내용은 GameDevForever의 저자분들의 홍보를 위하여 운영진 자체적으로 올린 광고이며 일체의 수익이 없습니다.(밥좀사줘요~)
Posted by 김포프

요즘들어 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#으로 작성되어 있습니다. (에디터에서 리플렉션을 자동으로 지원해주는것도 이때문일듯...)
  • 유니티를 사랑합니다.. (응?)



참조:


TAG , ,

댓글을 달아 주세요

  1. 익티크 2012.06.17 20:18 신고  댓글주소  수정/삭제  댓글쓰기

    유니티 소스 라이센스 사면 C++로 작성되어있는 코드를 확인할수있습니다.
    제가 알기로는 우리나라에서는 삼국지품다 팀에서 산걸로 알고있습니다.

  2. Favicon of http://cafe.naver.com/jcga 도플광어 2012.06.17 21:24 신고  댓글주소  수정/삭제  댓글쓰기

    일리히트엔진도 C#버전이있었는데 irrNet.DLL이라는 형태로 배포가 되었습니다.
    근데 이놈은 다시 c++용 DLL인 irrlicht.dll 내용을 C#에서 접근하도록 도와주는 놈이였죠.
    irrNet.DLL이 왜 맥이나 리눅스 안드로이드 아이폰에서는 왜안돼죠 이런 질문이 많이올라왔었죠.
    결론은 아이폰이나 안드로이드에서 하고싶으면 해당 플랫폼전용 irrlicht.dll을 만들어주어야했었죠 ㅡ.ㅡ;;
    근데 문제는 비졀슈튜디오로만든 irrNet.DLL 과 호환되는 맥이나 리눅스 용 irrlicht.dll 을 만들 방법이 없었죠. 왜냐면 맥용 리눅스용 닷넷은 이세상에 없으니깐요 ㅜ.ㅜ;

    모노이야기가 나왔는데 바로 매장당하는 모습이 ㅡ.ㅡ;;; 암튼 결론은 결국 나지는 않았었죠 ㅜ.ㅜ;
    관련내용...
    http://irrlicht.sourceforge.net/forum/viewtopic.php?f=3&t=44725

    결론은...
    머 어쩼든 암튼 일단은 저도 사랑해요 유니티~

  3. Favicon of http://Junios.net Junios 2012.07.10 09:53 신고  댓글주소  수정/삭제  댓글쓰기

    저두 유니티 사랑해요 -_- 안되는게 있어서 짜증은 나지만 ㄷㄷ

  4. Favicon of http://teraphonia.tistory.com Teraphonia 2013.04.22 14:03 신고  댓글주소  수정/삭제  댓글쓰기

    우와.... 좋은 정보 감사합니다.
    담아갈게요



티스토리 툴바