728x90

분류 전체보기 64

[미완성] Drum N Bass 작곡 연습 - #1

https://www.youtube.com/watch?v=E732OMZLMYk 본래 Unity 팀 프로젝트로 진행 중인 게임에 쓰일 목적을 가지고 해당 곡을 쓰기 시작한 터라, Drum N Bass 장르는 전혀 염두해두지 않고 Chiptune 음악을 만드려고 했었다. (프로젝트 이름도 Chiptune_Practice_1 이다.) 그러나 샘플과 프리셋을 쓰며 BPM이 183이나 되는 빠른 곡을 쓰다 보니... 1 3 박에 Kick이 오는 정직한 드럼 비트보다는 DnB 브레이크 비트가 어울릴 것 같아서 바꿔서... 결국은 DnB가 되어버렸다...

Unity 팀 프로젝트 : Invoke의 사용법, BPM 계산 - TIL#26

어려웠던 점 & 문제 상황 1. BPM 계산이 조금씩 계속 어긋나는 현상 문제 상황 BPM(Beats Per Minute, 분당 비트 수)에 맞춰 플레이어 hp UI가 작아졌다 커지도록 하려고 했지만 무슨 이유에서 인지 계산 식은 정확하나 계속 애니메이션과 박자가 맞질 않는 것이었다. 원인 추정 박자 하나가 가지는 길이는 60초 / BPM 이다. 가령 BPM이 120이라면 4분박 하나 당 0.5초의 길이를 가진다. 그래서 내가 작성했던 코드는 일종의 반복문을 만들고 박자 하나 만큼의 길이를 넘는 조건을 만족하면 시간이 0으로 초기화 되는 방식이었다. private void CheckBPM(int bpm) { chunk = 60f / bpm; timer += Time.deltaTime; if (timer ..

Unity 팀 프로젝트 : 카메라 줌 인/아웃, 플레이어 HP UI 만들기 - TIL#25

오늘의 개발 상황 요약 영상에서 확인 가능하듯이 카메라의 줌 인/ 줌 아웃을 값으로 조절할 수 있게 했고, 플레이어의 HP 값에 해당하는 방사형 게이지 UI를 중앙에 추가했다. Player.cs에서 값을 가져와서 현재 플레이어의 HP를 나타내는 UI다. 줌 인/아웃의 원리는 어제 계산했던 3차원 좌표의 확장이다. 여기서 할당된 상수인 '10' 이라는 값은 기울기가 0일 때 최초의 카메라 위치의 z축 절대값이었다. 그래서 이 상수만 변수로 바꾸어 조절할 수 있게 하면, 자연스레 카메라의 줌 인/아웃이 구현되는 것이다. 추가로 구현을 맡은 Ranking이다. 원본 게임에서도 랭킹을 통해 자신과 다른 사람의 기록을 겨룰 수 있다. RankingScene을 만들어 RankingManager를 통해 복사 가능한 ..

Unity 팀 프로젝트 : 카메라 회전과 기울임 기능 추가하기 - TIL#24

오늘의 개발 상황 요약 오늘은 카메라 기능(회전, 기울임 등) 구현에 중점을 두고 개발에 착수했다. 위 사진은 게임 시작 전 탑 다운 뷰로 수직으로 정육각형을 수직으로 바라보는 모습이다. 게임 시작을 하는 동시에 카메라가 처음에 설정한 40도로 기울어지며 기울어진 평면을 따라 일정하게 육각형 주위를 돌아 마치 육각형이 도는 듯한 연출을 보여준다. 영상을 보면 기울어진 각도, 회전 속도, 회전 방향 등을 구현해놓은 것을 볼 수 있다. private 변수 직렬화 '[SerializeField]'를 이용해 Inspector 내에서 자유롭게 수정하며 테스트 할 수 있게 했다. Tilt Angle은 기울어짐 정도, 단위는 degree이고 범위는 1에서 90이다. Rotation Speed는 회전 속도이고, 범위는..

Unity 팀 프로젝트 : 개발 방향 결정, 임무 분담 - TIL#23

오늘의 개발 상황 요약 새로운 팀 프로젝트를 진행하는데 있어서, 우리 팀은 투표로 고전 게임 중 '똥피하기'와 맥락 상 비슷한 게임을 찾아 재해석하기로 했다. 그 중 'Super Hexagon'이라는 추억의 게임을 재해석하기로 했다. Git Commit 규칙을 정하고 역할 분담을 했다. 내가 맡은 역할은 UI, UX(디자인), 카메라, GameManager이다. 게임 플레이 시 플레이어에게 보여지는 UI인 'InGameUI' 게임오버 시 플레이어에게 보여지는 UI인 'GameOverUI' 그리고 테스트 용으로 만든 'GameOverButton'을 만들었다. InGameUI 좌측 상단엔 게임 진행 시간, 현재 레벨과 레벨명이 보여진다. 우측 상단엔 최고 기록을 보여주는데, 아직 구현 전이다. GameOve..

개인과제 : Unity로 메타버스 환경 카피하기 - TIL#22

(오늘의 완성된 개인 과제. 제목은 사나이 클럽이다.) 구현한 요구사항 필수요구사항 캐릭터 만들기 ✅ 캐릭터 이동 ✅ 방 만들기 ✅ 카메라 따라가기 ✅ 캐릭터 애니메이션 추가 ✅ 이름 입력 시스템 ✅ 캐릭터 선택 시스템 ✅ 선택요구사항 시간 표시 ✅ 인게임 이름 바꾸기 ❌ 참석 인원 UI ✅ 인게임 캐릭터 선택 ❌ NPC 대화 ❌ 어려웠던 점 & 오류 상황 1. Scene끼리 정보 전달하기 [오류 상황] InitScene에서 MainScene으로 넘어가는 과정에서 입력한 이름을 어떻게 전송을 하나 고민을 했다. 그래서 구글링 한 결과 DontDestroyOnLoad 라는 메서드를 알게 되었고 'SceneVar'라는 변수 저장용 EmptyObject를 만들어서 별도의 'SceneVariable'이라는 스크..

객체 지향 프로그래밍, Unity 개인 과제 - TIL#21

객체지향 프로그래밍 특강 절차지향 프로그래밍? 레벨, 체력, 공격력, 방어력 등의 동일한 속성의 변수들이 몬스터 같은 객체들이 추가될 때마다 비슷한 코드가 반복되고 길어지는 현상이 생김 이걸 배열로 반복 처리는 가능 문제1 - 데이터 구조 파악의 복잡함. 문제2 - 중간에 데이터 추가가 필요하다면?? 가독성 저하 -> 코드 이해가 어려움 -> 버그 발생이 빈번해짐 -> 유지 보수가 힘듦 객체지향 프로그래밍 동일한 목적이나 기능을 하는 변수와 함수들을 하나로 묶어서 관리한다 연관된 데이터 묶기 객체 사용으로 코드가 간결해짐 가독성 증가 -> 코드 파악이 쉽다 길어 질 수 있는 코드를 나눠서 관리, 코드 관리에 좋음 -> 코드 분석 쉬움, 협업에도 유리 목적에 맞게 기능도 포함가능 -> 함수 사용 1. 목적..

FL Studio 내장 플러그인 만으로 Trance 장르 만들기 강의

(2024년 1월 20일 공부했던 영상이다.) https://www.youtube.com/watch?v=8VsLW6QfgSM&t=132s 강의 메모 드럼: 킥 정4박 오픈햇 1: 길고, 패닝 살짝 왼쪽 오픈햇 2: 짧고, 패닝 살짝 오른쪽 클랩 2박 Ride 4박 -> 믹서에서 'Transient Processor' : Release 늘리기 베이스: Flex : BeLower -> SubBass용 Flex : Energia -> Greedy Bass 용 => 믹서에서 EQ로 저음부 제거 (클리핑 방지) => 레이어 쌓기 베이스 멜로디는 살짝 엇박으로 해야 흥미롭다! => 믹서에서 'Love Filter' : SideChain 구현하기 Uplifting 멜로디: Flex : FlexiPluck -> Rev..

[미완성] Synthwave 장르 작곡 연습 - #1

https://www.youtube.com/watch?v=kv8Nzk6rwAg 오랜만에 작곡 재활치료(?)겸 평소 좋아하던 장르인 Synthwave를 만들어봤다. FLEX라는 FL Studio 21 내장 가상악기가 Nexus 느낌도 나고 가상악기로서 퀄리티가 상당히 좋다고 느꼈다. 프로젝트에 쓰인 모든 신스들은 FLEX를 사용했다. 아직 두 번째 Verse를 어떻게 짜야할 지 고민 중이다... 조만간 완성할 듯 싶다.

728x90