C#/ C#의 메모리 구조

C#의 메모리는 3가지 영역으로 구분된다. 데이터 데이터를 보관하는 영역, static 등이 해당된다. static 으로 선언된 데이터는 프로그램이 시작될 때 메모리에 올라왔다가 프로그램이 종료될 때까지 메모리에서 해제되지 않는다. 스택 값형 변수들이 올라오는 영역. 메서드가 종료되면 스택 메모리는 해제된다. 메모리의 스택 영역은 컴파일시에 결정된다. 힙 참조형 변수들이 올라오는 영역. 엄밀히 말하면 참조형 변수들은 스택과 힙을 모두 사용하는데, […]

계속 읽기

Unity/ Web View

설치 Unity 용 Web View 플러그인을 만들어준 고마운 사람이 있으므로, 그 사람이 만든것을 사용한다. https://github.com/gree/unity-webview 사용 webView = transform.GetComponent<WebViewObject>(); webView.Init(); webView.SetMargins(left: 0, top: 150, right: 0, bottom: 0); webView.LoadURL(“https://www.google.co.kr”); webView.SetVisibility(true); 사용 방법은 대단히 간단하다. 유니티 5.3 버전부터 iOS에서 http는 보안 문제가 있으므로 주의.

계속 읽기

Unity/ SQLite Unity Kit

설치 아래의 링크에서 파일을 받을 수 있다. https://github.com/Busta117/SQLiteUnityKit 파일을 열면 readme 파일을 제외하고 3개의 파일이 있다 DataTable.cs SqliteDatabase.cs libsqlite3.so 3개의 파일 중에 DataTable.cs와 SqliteDatabase.cs 파일은 플러그인 폴더에 넣고 –플러그인 폴더에 SQLiteUnityKit 폴더를 만들어서 넣는다– libsqlite3.so 파일은 안드로이드 빌드용 파일이므로 plugin/android 폴더 아래에 넣는다. DB 파일 저장 위치 게임 내에서 사용할 DB 파일을 만들었다면 Assets/StreamingAssets 폴더 […]

계속 읽기

Unity/ Spine Skin

Attachment와 Skin Slot은 캐릭터 의상이 들어갈 부위를 의미한다. 머리, 몸통, 팔, 다리, 모자 등등 Attachment는 하나의 텍스쳐를 의미한다. Attachment는 각 Slot에 지정된다. Skin은 Attachment들의 모음이다. 캐릭터 의상 전체 Set를 의미한다. Attachment 바꾸기 skeletonAnimation = transform.GetComponent<SkeletonAnimation>(); skeletonAnimation.skeleton.SetAttachment(SlotName, AttachName); Attachment를 바꾸려면 Attachment의 이름과 Attachment가 들어갈 Slot의 이름이 필요하다. SkeletonAnimation 아래의 skeleton 아래에 SetAttachment()를 사용하면 된다. Skin 바꾸기 […]

계속 읽기

Unity/ NGUI

UI Camera UICamera가 Input을 처리하는 방식 직접 구현하면 번거로운 것을 대신해 줘서 대단히 편리한데 이를 처리하는 방식은 아래와 같다. 모든 Input 이벤트는 NGUI의 UICamera가 처리한다. 사실 이는 당연한 방식이다. 카메라는 항상 떠 있으니까 Input이 발생하면 UICamera는 그 Input의 성격을 파악해서 이게 어떤 이벤트인지 –클릭, 더블클릭, 드래그, 드롭 등등– 파악한다. 이는 UICamera.cs의 ProcessEvents 메소드에서 일어난다. Touch인지, […]

계속 읽기

셰이더 프로그래밍 입문

제목 그대로 셰이더 프로그래밍에 대한 기초적인 내용을 다루는 책. 오랜 실무 경험을 쌓은 저자가 학교에서 학생들을 가르치면서 쌓은 강의 경험도 함께 녹여내어 친절하면서도 실용적인 책. 비슷한 시기에 읽은 <유니티로 배우는 게임 수학> 보다 이해하는데 좀 더 좋았음. –물론 그 책은 순수 셰이더는 아니고 3D 개념이 중심이고 셰이더는 막판에 조금 다룬다. 제목에도 쓰여 있지만 '입문' 책이기 […]

계속 읽기

쉽게 배우는 알고리즘

프로그래밍을 배우면서 놀랐던 적이 2번 있는데, 한 번은 C#에서 LINQ와 Lambda 식을 섞어 사용하는 것을 봤을 때였고, 다른 한 번은 재귀 알고리즘을 봤을 때였다. 재귀 알고리즘에 대한 놀라움 덕분에 나는 프로그래머는 아니지만 –가끔 오해하는 사람들이 있는데, 나는 'Designer'다– 알고리즘을 좀 배워봐야겠다는 생각을 하게 되었고, <Introduction to Algorithms>의 번역자인 문병로 교수가 직접 쓴 책인데다 '쉽게 배우는'이라는 […]

계속 읽기

자연언어처리의 응용

자연언어처리를 응용한 분야에 대한 개괄.  제목의 '응용'이 난이도를 나타날 때 쓰이는 표현으로 생각하고 대단히 어려운 책이 아닐까 싶었는데, 내용상 자연언어처리 이용한 응용 분야의 개념에 가까워서 그렇게 어려운 책은 아니었다. –일본인 저자들의 특성대로 내용이 체계적으로 쓰여져서 그랬을 수도 있음–  책에서도 더 자세한 내용을 알고 싶으면 참고문헌에 달린 논문들 찾아보라고 나옴. 두께도 얇고 지금 내가 하려는 것과는 […]

계속 읽기

코드 컴플릿

뭐 딱히 설명이 필요 없는 책. 마이크로소프트 공식 지정 학습서인데 무슨 설명이 더 필요할까? '코드는 작성하는 시간 보다 읽히는 시간이 훨씬 길다'는 대전제하에 코드를 작성하는 법에서부터 테스트, 리팩토링, 개발 관리, 협업 등 프로그래밍 영역 전반에 대해 다루고 있는데, 다루는 범위가 워낙 넓어서 초심자에서부터 고급 프로그래머에 이르기까지 모두에게 도움이 될만하다. 특히 나 같은 초심자라면 더 나은 […]

계속 읽기