금일은 특강으로 메모리 구조에 대해서 공부했었다.이전에도 배운적이 있어서 알고 있던 내용이었는데, 막상 보니까 했깔렸었다.그래서 한번 더 정리해볼 생각이다. Intro. Struct와 Class의 차이점?Struct와 Class는 메모리 구조의 차이가 가장 두드러지게 나타나는 요소들이다.일반적으로 차이점을 서술할 때에는 상속이 가능하느냐, Call by Value | Call by Referrence 등등 사용 상의 차이점이 나오겠지만, 오늘은 하술할 메모리 구조를 살펴본 뒤에, '최적화 측면'에서 살펴보도록 하자.[즉, 마지막에 마무리로 정리할 예정인 셈이다.] Heap? Stack?프로그램이 메모리를 사용할 때, 메모리의 영역은 다음 4개로 나뉜다.CODE: 프로그램의 소스코드가 할당되는 영역.DAT..
이번 프로젝트는 커뮤니티 게임의 기본 형태를 구성해 보는 것이었다.이전에는 그냥 프로젝트 만 올렸었으나, 이번 WIL 부터는 어떻게 제작하였는지도 함께 서술해 볼까 한다. [Git URL: https://github.com/lsu0503/ProjectSpartaTown.git] GitHub - lsu0503/ProjectSpartaTown: ProjectSpartaTownProjectSpartaTown. Contribute to lsu0503/ProjectSpartaTown development by creating an account on GitHub.github.com 구현한 내용 [주요한 요소만]전체적인 구성Input System을 이용한 플레이어 캐릭터 조작.Collider와 Event Actio..

이번에는 스크롤뷰를 다뤄볼까 한다. 다만, 간단하게 다루진 않고, 구성 요소끼리 뜯어볼 예정이다.때문에 사용법 보다는 구성 방식을 서술하는 방식으로 진행되리라고 생각한다.그런 의미에서 조금 깊게 들어가게 될 것 같다. 스크롤뷰의 구성 요소프로젝트 창에서 우측 마우스 버튼으로 생성 가능한 스크롤뷰는 기본적으로 Scroll Rect 컴포넌트와 Mask 컴포넌트의 조합으로 구성된다. 그리고 여기에 편의성을 위해서 Layout Group을 추가로 조합하기도 한다.이 때, Scroll Rect는 최상위 객체로, 그 하위로 Mask를 지닌 객체를 넣은 뒤, Mask를 지닌 객체의 하위로 Layout Group을 지닌 객체를 넣는 식으로 구성한다.그렇다면, '왜 그렇게 구성하는 가'를 살펴보기 위해서, 각 요소 별로..

유니티에서 애니메이션 작업은 기본적으로 일단 적용한 뒤, 자신이 원하는 대로 깎는 작업이다.다르게 말하면 품이 많이 드는 작업으로, 애니메이션 작업의 거의 대부분은 구상이나 개발 보다는 수작업에 가깝다.이런 상황에서 생각하게 된 것이 '방식이 동일하다면, 그냥 스프라이트만 바꿔 끼면 될텐데.'였다.마침 강의에서 간략하게나마 설명을 듣기도 해서, 일단 무작정 달려들어 보았다. Animator Override Controller?아마 Unity에 익숙하지 않다면 처음 듣는 단어일 것이다. 실제로 본인도 그러했다.Animator Override Controller를 간단하게 말하면, 그냥 이름 그대로다.[실제 작동이 아닌, 이해를 위한 글임을 양해 바란다.]Animator는 Animation의 흐름을 정리하는..
제목 뜻 풀이Loon[영어]: 물새의 일종. 울음소리의 특이함으로 인해 미치광이라는 뜻이 파생되었다.Lune[라틴어]: 달Rune[영어]: 유명한 그 '룬' 문자.Roon[영어]: 천의 조각 = 쪼가리.장르: Hack & SlashRef: PoE & 디아블로 + (구)트릭스터 [+ 블러드본?]시점: 2D 탑뷰 [저퀄리티] 특징체력과 스테미너를 제외한 전투자원은 2종. [스테미너도 뺄지 말지 고민 중...]Rune[카드]: 일정 주기로 카드를 드로우한다. 전투 상황이나 패시브 스킬 등으로 추가 드로우도 가능.카드는 다른 카드를 소비하여 발동된다. [Ref. 동방 비상천] 소비 카드는 무작위로 결정된다.짧은 주기로 1장씩 드로우 하는 것이 아닌, 긴 주기로 복수 장을 드로우한다.원할 때 만료 카드 더미를 덱..
대주제를 정하다 보니 스프라이트로 적게 됬으나, 이번 글에서는 다음 2가지에 대해서 작성할 예정이다.타일맵(Tilemap)룰타일스프라이트 모드싱글(Single)멀티플(Multiple)폴리곤(Polygon)스프라이트 에디터테두리(Border)슬라이스(Slice)스프라이트 아틀라스(Sprite Atlas)이 두 기능은 각각 필드와 캐릭터를 구성할 때, 작업 간소화와 최적화에 유용한 기능으로, 관련 작업을 할 경우에는 거의 필수로 사용되는 기능이다. 마침 금주의 프로젝트를 진행하면서 익힌 요소도 있으니, 한번 총체적으로 정리 해 보자. 타일 맵타일 맵은 2D 게임을 제작할 때, 배경을 작성하기 위해서 사용하는 기능으로,간단하게 말해서 '타일 맵이라는 별개 요소에 스프라이트를 모아놓은 뒤, 원하는 위치에 간편하..
Quaternion은 Unity로 작업을 진행하며 매우 자주 쓰게 되는 요소입니다.그런 만큼, 기존에도 알고 있었던 요소지만, 본 블로그에서 상세하게 다루지는 않았어서 한번 정리 해 보았습니다. Quaternion에 대하여Quaternion은 Unity에서 방향 계산 시에 사용하는 개념이다. 일반적인 좌표계념과는 다른 방식을 쓰기 때문에 다소 다루기 까다롭긴 하나, 방향 계산이라는 것이 워낙 많은 곳에서 사용되다 보니, 반드시 익숙해져야 할 요소이기도 하다. Quaternion의 함수는 다음 4종류가 있는데, 어지간하면 Quaternion.Euler 하나만으로도 처리 가능한 편이다.Quaternion.Euler(Vector3) - Vector3에 해당하는 오일러 각도를 Quaternion으로 변경한다.Q..
금주에는 이전에 진행했던 Text RPG 제작 프로젝트를 팀 단위로 진행하였습니다.정확하게는 목표 달성도는 앞전의 개인 프로젝트 보다 높게 구성된 과제였고, 이를 팀 단위로 분업하여 제작 해 보는 것이 목표였습니다. git 주소: https://github.com/lsu0503/TextRPG_TeamProject2nd.git[게임은 Game 폴더 안의 exe파일을 실행하면 됩니다.] GitHub - lsu0503/TextRPG_TeamProject2nd: TextRPG_TeamProject2ndTextRPG_TeamProject2nd. Contribute to lsu0503/TextRPG_TeamProject2nd development by creating an account on GitHub.githu..
이번에 팀 협업을 하면서 느낀 점, 그 중 파일 구성 설계에 대해서 서술하려고 한다.※ 마지막에 총 정리가 있습니다.파일 구성 설계를 하는 이유Git을 쓰던, svn을 쓰던 협업을 한다고 하면 결국 같은 프로젝트 내에 개발자가 복수 배치되는 게 일반적이다.비단 개발자가 아니더라도 기획자나 아트, 기타 구성원들도 프로젝트를 계속해서 수정하는 게 현대의 개발 환경이며, 이 개발 환경에 의해서 발생하는 문제가 현대의 개발 환경에 가장 큰 숙달 요소라고 보는 것도 가능하다.그렇다면 이렇게 '같은 요소를 동시에 작업하는 것'의 가장 큰 난점은 무엇일까. 프로그래밍을 배우다 보면 락(Lock) 내지는 세마포어(Semaphore)라는 개념을 익히게 된다.이러한 '잠그는' 기능을 사용하는 이유는 '같은 파일을 동시에 ..
json과 csv, xml은 모두 데이터를 저장하기 위해 사용하는 데이터 포맷이다.사실 그냥 개발자가 데이터의 구성요소를 구분할 수 있도록 특정한 규칙을 따라서 저장한다면 txt로 저장한다고 해도 충분히 잘 굴러간다. 그렇다면 이 3가지 포맷이 필요한 이유는 무엇일까.일단 1차적으로 규격화된 방식이라는 점이 있겠다. 규격화 되어있는 방식이기에 누가 읽어도 이 포맷에 대한 지식 만 있다면 같은 내용을 보게 될 것이고, 이 점을 통해서 작업 공유에 불필요한 과정을 넘겨버릴 수 있게 된다는 장점이 있다. 그리고 2번째로는 호환성이 있다. Excel의 경우 현재는 Excel파일을 작성하면 csv로 저장할 수 있는 기능이 있다.또한 검색을 해 보면 꽤나 간단하게 찾아낼 수 있는 것이 위 3가지 포맷으로의 직렬화 ..