본문 바로가기

연구하기84

3DSMax : Reset XForm - 해당 모델의 Transform 정보 초기화 필요성 모델을 편집하면서 특정 오브젝트에 대해 회전 및 스케일링을 수행하게 되는데, 이후 편집을 용이하게 하기 위해서 이러한 회전 및 스케일링 정보는 한번 작업한다고 사라지는 것이 아니라 계속 존재하게 된다. 정확히는, 어떤 오브젝트 하나에는 해당 오브젝트의 원점좌표를 기준으로 하는 회전 상태 및 스케일링 정보가 들어가 존재해서 사용자가 이들 작업을 수행할 때 이들 값을 변경만 하는 형태가 된다. 문제는 이런 값들이 항상 유지되고 있으므로, Mirror 와 같이 오브젝트의 기준축이 가진 정보를 활용하는 기능이라든가, 나중에 게임 엔진에서 해당 오브젝트의 Transform 을 적용시킬 때 비정상적인 결과값을 내준다는 데에 있다. Mirror 같은 경우 회전된 정보를 기준축으로 미러링을 하므로 피봇의 관점과.. 2009. 6. 25.
XNA 를 한 달 정도 써보고... 학교에서 게임제작방법론이라는 수업을 들으며 XNA 3.0 을 약 한 달 정도 사용해 봤습니다. 확실히 기존 다른 환경에 비해서는 굉장히 편한 것은 사실입니다. 아무래도 C# 이라는 언어 자체가 C 나 C++ 에 비하면 설계 관점에서 훨씬 이해하기 쉽고 명쾌하다는 장점이 있고, 리플렉션과 같은 동적 타입에 대한 훨씬 유연성 있는 접근이 가능하기 때문입니다. 다만 이건 프로그래밍 언어 관점에서이고, 실질적으로 코딩을 하려면 여전히 많은 작업들이 필요한 것이 사실이라 (물론 기존에 비해 훨씬 손이 덜 갑니다만) 바로 뚝딱뚝딱 뭔가 괜찮은 물건이 나온다든가 하는 것은 어렵습니다. 기본적으로 여러 가지 미디어 파일 포맷들에 대한 임포팅 기능을 지원하는 것은 정말 편합니다만, 사실 이런 부분은 어지간한 게임 엔진에.. 2009. 6. 22.
3DS Max 팁 – 원활한 모델링을 위한 디스플레이 설정(1) 3DS Max 팁 - 원활한 모델링을 위한 디스플레이 설정(1) 2009.05.16 강현신 - 이 문서는 3DS Max 9 을 기준으로 작성되었습니다. 모델링 시에 디스플레이 설정을 어떻게 하느냐는 매우 중요합니다. 기본적으로 뷰포트 설정에서 Smooth & Highlights 에 Edged Faces, Wireframe 등 여러가지를 제공합니다만 이것만으로 모든 것을 다 커버하기는 어렵습니다. 화면 우측에 존재하는 툴박스의 Display 에서는 이러한 부분에 대해 추가적인 기능을 제공합니다. (사진 1) 툴박스의 탭에서 왼쪽부터 다섯 번째에 있는, 모니터에 원통과 삼각뿔이 그려진 아이콘이 바로 Display 탭입니다. 전체적으로 몇 가지 기능이 있는데 이번에는 Display Properties 의 몇 .. 2009. 5. 16.
이터널 드림 카드 설정 - Molia Deathlight 이터널 드림 Part 4 - 전쟁 에디션에서 추가된 카드입니다. 하나의 캐릭터를 성격 및 시즌 별로 여러 개의 캐릭터를 만드는 시도는 Part 3 - 창조 에디션 중반부터 고려에 넣고 있었고, 이 카드는 그 결과물 중 가장 최초라 할 수 있겠습니다. 이후 Part 6 - 현실 에디션에서 몰리아 홀리워터의 카드가 하나 더 추가될 예정이었고, Part 5 에서 구 클로즈 베타버전까지 복원시킬 예정이었지만 이터널 드림의 서비스가 종료되어 모두 물건너가 버렸죠. 처음 이 카드의 외주를 주었던 분이 기간과 비용 내에서 충분히 소화해 내지 못해 (아마도 기간과 비용이 충분했다면 예상대로의 퀄리티를 내주셨으리라 생각합니다만, 아쉽게도 저희에겐 그런 여유가 없었습니다), Kira 님께 재차 외주를 드렸고 그것이 현재의.. 2009. 3. 12.
내가 사형제를 반대하는 이유 어느 연쇄살인범이 있었다. 그는 100명의 사람을 살해한 후 결국 경찰에 붙잡혔고, 사형을 언도받았다. 그가 사형되고 난 후 인류가 멸종될 만한 바이러스가 돌기 시작했다. 미래에서 온 인간이 그 바이러스를 치료할 수 있는 유전자를 가진 자가 있었는데, 그게 사형당한 연쇄살인범이었다고 한다. 결국 백신은 만들어지지 못했고 인류는 멸망했다. 2009. 2. 23.
흠 왜 많은 형상관리도구들이... 로컬 카피를 만들 때 원본 파일의 변경일자를 유지시키지 않는지 잘 모르겠다. 아니 사실 그 이유를 모르는 것은 아닌데 (로컬 카피의 업데이트 상태를 확인하기에 유용하므로) 적어도 유지 옵션 정도는 주지 않았으면 좋지 않았을까 하는 생각. 개인 작업물을 관리할 때 Subversion 이라든가 기타 여러 관리도구들을 써보려고 했는데, 이런 점들이 발목을 잡아서 쓸 수가 없다. 그나마 몇몇 파일들은 작업 일자가 파일 내에 별도 포맷으로 저장되므로 (예를들어 JPEG 파일은 EXIF 안에 사진 촬영 일자가 포함되어 있다) 커버가 가능하지만, 적지 않은 수가 그렇지 않은 파일들이므로 문제. 뭐 기본적으로 이런 도구들은 공동 작업을 위한 것이며, 처음부터 프로젝트를 진행하기 위한 도구로 상정된 것이므로 어쩔 수 없.. 2009. 2. 14.
Interrupt 와 Exception Interrupt 로우 레벨 시스템에서, 현재 진행중인 프로그램의 실행 흐름을 잠시 중지시키고 다른 것을 수행하게 하는 것 일반적으로 현재 흐름이 suspend 되고, 인터럽트 부분에 기술된 주소로 점프하여 그 부분의 코드를 실행시킨다. 인터럽트는 2가지 용도로 쓴다 역방향 처리 흐름 컴퓨터의 주변장치로부터 데이터를 읽고 쓰기 위해서 CPU 가 매번마다 일일이 주변 장치의 상태를 점검할 수는 없다. 예를 들어 인터럽트 없이 키보드 입력을 처리하려 한다면 CPU 는 매 주기마다 일일이 키보드의 버튼 눌림 상태를 감지해야만 한다 따라서 이럴 떄에는 CPU 가 상태를 점검하는 것이 아니라, 주변기기 쪽에서 어떤 상태가 발생했을 때 그것을 알리는 방식으로 가는 쪽이 여러모로 훨씬 유리하다 이런 방식은 실행 흐름.. 2008. 11. 29.
mmogchart.com 을 통해서 본 2008년 4월 MMOG 시장 점유율 * 제가 정보를 잘못 확인하여 착각한 탓에 수정된 내용이 존재하며 덕분에 내용에 중대한 변화가 생겼습니다. 변경된 부분은 이런 표시를 해 두었습니다. 2008년 4월 MMOG 시장 점유율 mmogchart.com 이라는 사이트에서는 현존하는 MMOG 게임들에 대한 사용자의 각종 통계자료를 수집하여, 이를 바탕으로 매 기간마다 시장 점유율을 분석하고 있다. mmogchart 의 분석 방식에 대한 논의는 다른 포스트에서 하기로 하고 - 사실 이 부분을 잘 고려해야 이 통계가 가지는 의의를 잘 분석할 수 있다 - 간략하게 이 차트의 시장 점유율에 포함되기 위해 필요한 조건은 다음과 같이 요약할 수 있다. (정확한 내용은 사이트의 FAQ 란을 직접 참조하기 바란다. 본인의 영어 해석 실력은 썩 좋은 편이 아니기.. 2008. 4. 16.
Ubuntu 에서 gcc 컴파일 환경 설정하기. Ubuntu 07.10 에는 기본적으로 gcc 컴파일러는 존재하나, 헤더 파일이 존재하지 않기 때문에 일반적인 C 코드 컴파일 환경으로 구동하는 것은 무리가 있다. (불가능한 것은 아니지만) 따라서 관련 라이브러리를 설치하는 과정이 필요하다. 시냅틱 패키지 관리자에서 Development 카테고리에 build-essencials 항목에 마크해 두고 업데이트 하면 관련 패키지들을 다운로드받아 설치하게 된다. 이 때 우분투 설치 시디를 요구하므로 주의할 것. 컴파일 환경을 별도로 설치하게 만든 이유는, 우분투가 다른 리눅스들과는 달리 일반적인 개인 사용자들이 사용하기 위해 만들어진 목적 때문이 아닌가 한다. root 계정을 폐쇄하는 정책도 마찬가지지만, OS 내에 무작정 컴파일되는 환경이 갖추어진다면 해킹하.. 2008. 3. 30.
반응형