GAME(53)
-
작곡 프로그램 개발 일지 14
이제 작곡에는 문제가 없는 것 같다. 그래서 Track을 늘리려고 클래스를 많이 변경시켰다. MidiFile -> Header & Track -> Chunk - > Ctype Length Data 이런식으로 분할하면서 클래스를 수정함! 그래서 다중트랙이 작동하는것을 확인하였으나, 뭔가 문제 발생 현재 칸마다 정규화(?)가 되있는것이 아니라 단지 박자만 가지고 하니까 따로따로 놀음 칸마다 일정하게 들어가야 하는데? 다르다.. 일단 이 문제를 해결하기 위해서는 칸마다의 박자를 정의해줘야 할것같다. 어케하냐? 일단 생각점여....
2023.10.27 -
작곡 프로그램 개발 일지 13
일단 수정 사항에 대해서 생각 해 보자면, 현재 음을 조정할때 모든 음을 열거해서 처리를 하고 있다. 그리고 Switch 문으로 열거형을 Int 형으로 변환하는 과정을 거쳐서 음에 대한 처리를 하고있다.. 하지만 나는 이 과정이 맘에 안든다. 왜냐하면 음을 추가할때 일일히 내가 열거해줘야 하고 변환해야 하기 때문이다. 수정을 하기 위해서 Midi Note Number를 보았는데, 11씩 증가하는 형태이기 때문에 Page 형식으로 처리하는것도 나쁘지 않아 보인다. 물론 배열에 127까지의 요소들을 채워두고 Index 형태로 가는 방법도 있지만, 그것 또한 마음에 들지 않는다. 규칙을 살펴보자. 열이 증가할수록 순서대로 12씩 증가하고 있다. 즉 12을 나눈 몫이 열의 번호이고 나머지가 행의 위치이다. 이제..
2023.10.26 -
작곡 프로그램 개발 일지 12
유니티 내에서 재생이 안되었던 문제를 해결하고자 다시 실험을 해 보았는데 내가 만든 파일만 만되는것을 확인할 수 있었다. 디버깅을 통해 오류를 추적해보니 Array Length... Exception이 발생했다. 생각을 해 보니 내가 만든 midi 파일은 헤더 청크,트랙 청크를 다른 파일에서 복붙을 해서 온것이라서 길이에 문제가 있을것으로 예상된다. 그것부터 수정을 해야겠다. 그리고 재생기에서 음이 이상하게 한 음이 높게 들리는 문제가 생겼다. 조율을 해서 대충 Pitch를 0.45로 맞춰준다. (이랬더니 소리가 느려짐 다른 방법을 찾아야겠다) 이제 트랙 청크의 길이를 맞추어 줘야 하는데.. 지금은 일단 기본 데이터를 넣어두고, Data를 추가해서 청크의 Lengh를 조정하는 방식으로 파일을 작성하고 대..
2023.10.25 -
작곡 프로그램 개발일지 11
자 이제 이 드래그 시스템을 이용해서 모두 적용을 시켜보면 이런 에디터 상태를 저장해두고.. 상태에 따라서 드래그 했을 때 Pitch / Volume / Beat를 변경시켜주면 된다.새로운 방법을 시도해보았는데 열거형을 받아서 Plus 해주는 함수를 만들었다.이것을 적용시킨다면 이렇게 할 수 있다. 를 한번 찍어봄. 만들어진 midi파일을 읽어서 재생하면??굿.. 자 이제 이 보드가 여러개 생성해야 한다. 먼저 버튼을 가볍게 만들자..버튼을 누르면 1..2..3..4 증가하는 페이지가 생성된다. 거기에 25개의 공간을 할당하거나 삭제한다(저장할 노트 정보) 일단 급조하게 생각한 방식은 하나의 Note 정보를 담는 NoteInfo라는 Class를 만든다. 왜 Structure을 안쓰고 클래스를 쓰냐면 노드..
2023.10.24 -
작곡 프로그램 개발일지 10
오늘은 작업을 시작하기 전에, 모바일 환경을 타깃으로 하고있어 모바일 빌드 테스트를 진행해야 한다. 안드로이드 빌드를 하고 정상적으로 작동하는것을 확인! 이제 만들어진 midi를 Unity 에서 재생을 해야하는데 내가 그것까지 만들기에는 시간이 한정되어있어서 재생은 라이브러리를 통해 하기로 했다. 미리 알아본 라이브러리가 있는데.. DryWetMidi이다. 재생이 끝내주게 잘 되지만 모바일 환경은 지원하지 않는다고 함..ㅠ 더 알아본 결과 https://m.blog.naver.com/cosmicmosmic/221176299005 피아노 리듬게임 제작! (MIDI 재생) 2 삽질만하다가 새해를 보내고 오늘 좀 더 찾아봤다. ==============================================..
2023.10.23 -
작곡 프로그램 개발 일지 9
자 이제 Unity 쪽에서 개발을 진행해야 하는데.. 지금 시스템처럼 박자를 일일히 다 키보드로 입력하는 과정은 너무나 번거롭다. ㅠ 이것을 좀 변경해야한다. 일단 레퍼런스 한 게임은 컴투스의 댄스빌이라는 게임이다. (재밌었지만 서비스 종료 되어서 아쉬었던 기억이 있다.) 댄스빌의 작곡 시스템은 클릭과 드래그로 간편한 조작이 가능하다. 하지만 문제점은 한 박자에 8분음표 두개를 채운다던지 이런거는 못하는거로 알고있다. 일단 개선 사항에 생각해둬야 할 목록 추가.. 쨋든 일단 만들어 보자면 그리드로 칸을 생성 한 후, 칸을 클릭하면 노트가 생기게 설정.. IPointerDownHandler를 상속받아서 클릭했는지 체크함!! (유니티 인벤토리 UI 강의 영상 찾아보면 많이 나옴) 이제 드래그를 해서 음,소리..
2023.10.22