본문 바로가기

유니티

(50)
유니티 리듬게임 에디터 만들기 - 그리드 + 스냅 구현 시작하고 11월 내로는 대략 완성할 계획이었으나.. 너무 바빠서 사실상 거의 건드리질 못했다. 구체적으로 밝힌적은 없지만 취미도 많고 곧 끝이지만 학업도 진행해야 했고 출시한 앱의 유지보수도 진행해야 했으니 12월은 되어서야 건드려볼 수 있게 되었다. '그래서 무얼 했느냐?' 그 대답은 위 이미지로 모든 것을 표현할 수 있을 것 같다. 리듬게임 노트 에디팅을 위한 편의 기능인 그리드 + 스냅 기능의 구현이다. 그리드는 배치된 노트끼리의 간격을 육안으로 정확하게 확인하기 힘들기 때문에 존재하고 스냅은 사용자가 항상 대부분 원하는 값에 마우스를 정확히 움직일 수 없기 때문에 존재한다. 이미지를 잘 살펴보면 그리드 라인에 정확히 클릭하지 않아도 가장 가까운 라인을 찾아 노트를 배치해주는 것을 확인할 수 있다...
유니티 리듬게임 에디터 만들기 - 설계 해보면서 감잡기 예전부터 계획에 있었던 유니티엔진 리듬게임의 연장선인 에디터를 만들어보기로 하였다. 진짜 끈질기긴 한 것 같다. '유니티로 리듬게임을 한 번 만들어보자!' 하고 19년 3월 첫 시작. 조금 조금씩 해서 6월달즈음에 플레이가 가능한 상태의 구현을 했고 10월에 학교내 학술제에 출품하기 위해 다양한 곡 추가 그리고 상응하는 UI 작업등을 마쳤다. 그리고 잊혀지는게 아쉬워 (스스로 큰 발전을 가져와준 프로젝트여서 애정이 크다.), 누군가에게 도움이 되지 않을까 하고 Github에 소스코드를 전부 업로드 했었다. 그렇게 끝나는 줄 알았으나.. 올해 5월에 코드만으로 이해하기 어렵다는 요청이 들어와 그냥 프로젝트 전부 및 최대한 도움이 될 수 있게 문서를 작성하여 업로드 하였다. 코드가 좀 개판이긴 했다 ㅋㅋ 당..
MIDI 프로그램을 만들어보자 1 - 청크 구분 및 출력 생각보다 일찍 시작하게 되었습니다. 물론 다음도 빠르게 진행한단 이야기는 아니지만. 그리고 MIDI 글들의 카테고리가 유니티였던 이유는 유니티로 만들 계획이기 때문입니다. 이제까지 공부한 토대로 다른 분의 소스도 참고해가며 만들었습니다. 요근래 공식문서만 보고 만들었더니 분석력, 추측력 등 상승에 큰 도움이 되었지만, 현재로써 시간의 압박이 있기 때문입니다. 사실 남의 코드를 보는 것도 이해한다는 전제 하에 도움이 되기도 하고요. ehclub.co.kr/3358?category=762014 [미디 파일] 미디 파일 구조 분석 및 프로그래밍 1 - 청크 목록 [미디 파일] 미디 파일 구조 분석 및 프로그래밍 1 - 청크 목록 안녕하세요. 언제나 휴일, 언휴예요. 이번에는 미디 파일 구조를 간단히 알아보고 ..
MIDI 파일을 분석 해보자 3 - 트랙 청크 트랙 청크 구조 청크 타입(4바이트) / 길이(4바이트) / 이벤트(가변) * 이벤트(가변)는 델타 타임(1~4바이트), 이벤트 데이터로 구성되어 있음. 청크 타입 : 이 청크가 어떤 청크인지 알려주는 역할, 예) 헤더청크냐 트랙청크냐 길이 : 길이 뒤에 나열되는 데이터들의 길이를 나타낸다. - 이벤트 델타 타임 : 이벤트가 어느 시점에 실행될지 기록되어 있음. 가변이므로 다음 바이트가 델타 타임일 경우에는 첫 번째 비트가 1, 아니라면 0이다. 이벤트 데이터 : 메타, 시스템, 미디 이벤트가 있으며, 각 이벤트를 구분하는 방법은 첫 번째 바이트를 보면 알 수 있다. FF는 메타, F0~FE는 시스템, 00~EF는 미디 - 기타 러닝 스테이터스 : 80~EF 사이의 값과 동일한 메시지가 반복될 때, 이전..
MIDI 파일을 분석 해보자 2 - 헤더 청크 MIDI파일을 알아보기로한지 약 일주일만에 다시 알아보는 시간. 이번엔 무식하게 메모장을 열어 데이터의 변화를 알아보는 것이 아닌 hex에디터를 통하여 데이터를 좀 더 면밀하게 쳐다보기로 하였다. 에서 훨씬 분석하기 쉬워졌다. 분석하기전에 헤더청크의 구조를 살펴보면 아래와 같이 이루어져 있다. 청크타입 (4바이트) / 길이 (4바이트) / 형식(2바이트) / 트랙 수(2바이트) / 디비전(2바이트) 청크타입 : 이 청크가 어떤 청크인지 알려주는 역할, 예) 헤더청크냐 트랙청크냐 길이 : 길이 뒤에 나열되는 데이터들의 길이를 나타낸다. 헤더청크는 트랙청크처럼 가변길이가 아니기 때문에 항상 6이라고 기록된다. - 데이터들 형식 : 단일 트랙 0, 다중 트랙 1, 다중 트랙이지만 동시에 연주하지 않음 트랙 수..
MIDI 파일을 분석 해보자 - 프롤로그 미디 파일을 이용해 해보고 싶은 것이 생겨 분석해보는 시간. 미디 파일을 까보면 헤더,트랙 청크로 구성이 되어 있다. 각 청크들은 청크 타입, 길이, 데이터로 기록을 한다고 한다. 청크 타입 : 헤더인지 트랙인지 구분할 수 있는 부분 길이 : 헤더는 6으로 고정 / 트랙은 음악마다 길이가 다르므로 가변 데이터 : 헤더는 포맷, 트랙수, 시간분할 / 트랙은 실질적인 연주 데이터들 "그래서 어쩌라고.. 눈으로 직접 확인해야겠어" 진짜로 어떻게 생겼는지 궁금해서 직접 미디를 찍어서 메모장으로 열어보았다. 아무런 음표도 찍지 않은 큰 보표를 미디파일로 변환하여 메모장으로 오픈 MThd가 헤더가 되겠고, MTrk은 트랙이겠지.. 하지만 나머지 부분은 정상적으로 읽을 수 없다. 4분음표 가온도를 찍고 변환 차이점이..
로스트아크 마리상점 계산기 앱 (크리스탈 가격을 골드로 변환) play.google.com/store/apps/details?id=com.healp.MariCalc 로아 마리상점 계산기 - Google Play 앱 현재 로스트아크 마리의 비밀상점에서 판매하는 아이템을 골드 가격으로 확인하여 구매하는데 도움을 줍니다. - 사용법 화면 상단의 크리스탈 가격 입력칸에 현재 가격을 입력하면 그에 맞게 �� play.google.com 로스트아크 마리의 비밀상점에서 판매하는 아이템들의 가격을 골드로 계산하여 볼 수 있습니다.
유니티 애드몹 광고 안나오는 현상 그리고 앱 중지 현상에 대해 유니티와 애드몹 연동은 처음이 어렵게 느껴질 뿐 정말 간단하고 적용하기 쉽다. "플러그인 다운 및 임포트 - 리졸브 - 앱ID세팅 - 스크립트 작성" 게임으로 비유하자면 다운 및 설치 - 로그인 - 접속이라고 생각될 만큼 쉽다. 처음에는 테스트ID 및 광고단위를 사용하여 테스트를 진행하고, 보통 여기서 문제가 일어나는 경우는 잘 없지만.. 실제로 적용하기 위해 애드몹에서 직접 발급 받은 인증키를 적용하고 폰에 넣어 실행해보면 바로 앱이 중지되어버리거나 광고가 나오지 않는 경우가 발생할 수 있다. 경험이 많은 편은 아니지만 시행착오를 겪었던 일들을 작성하고 추후 이 외의 현상의 생긴다면 추가 할 예정이다. 실행하자마자 앱이 중지되는 경우 인증키가 제대로 설정되지 않았을 경우가 크다. 다시 한번 앱ID가 정..