https://github.com/Kimhyogyeom/ProjectA
GitHub - Kimhyogyeom/ProjectA: Unity-MOBA-Prototype
Unity-MOBA-Prototype. Contribute to Kimhyogyeom/ProjectA development by creating an account on GitHub.
github.com
안녕하세요.
작업을 하다 보니 코드가 길어지고, 코드에서 전과 무엇이 수정됐는지 등 알아보기가 어려워
git으로 관리를 하기 위해 리포지토리를 새로 만들어 주었고
README를 새로 작성해 주었습니다.
우선 작업은
main
dev - feature/...
전략으로 하려고 했는데요.
생각해 보니 협업으로 진행하는 것이 아니어서 충돌 문제가 없을 것으로 판단해
main에서만 깔끔하게 관리를 하기로 했습니다.
또한 로그인때 사용한 Firebase SDK와 같은 대용량 파일을 업로드하려 해서 오류가 발생하거나
Linux에서 와 다른 PowerShell 명령어,. gitignore 작성 등..
찾아보는데 시간이 많이 지체되었습니다.😂
그래도 이런저런 시도 끝에 파일 업로드 후 새로운 클론 파일이 유니티에서 동작되는 걸 보니
너무 기뻤습니다 ㅎㅎ
그리 하여~!
내일부터는 Git + Blog를 활용해 작성하도록 하겠습니다.
Git (Commit)
Blog (개발 일지)
추가로 ScriptableObject를 사용하여 Sound 재생을 해주려 했는데요
[CreateAssetMenu(fileName = "SoundDatabase", menuName = "Sound/SoundDatabase")]
public class SoundDatabase : ScriptableObject
{
public AudioClip playerWalkSound;
public AudioClip playerDieSound;
public AudioClip playerBasicAttackSound;
public AudioClip playerSkill01Sound;
public AudioClip playerSkill02Sound;
public AudioClip playerSkill03Sound;
public AudioClip playerSkill04Sound;
}
이 부분에 대해선 내일 작업을 더 이어가며 글을 작성하도록 하겠습니다.
주말이 너무 빨리 지나가네요😥
감사합니다.
추가로 업데이트된 SoundDatabase 입니다.
이름은 SoundDatabase로 짓고 에디터 메뉴에서의 경로는 Sound/SoundDatabase로 지어주었습니다.
using UnityEngine;
[CreateAssetMenu(fileName = "SoundDatabase", menuName = "Sound/SoundDatabase")]
public class SoundDatabase : ScriptableObject
{
[Header("SFX UI")]
// 시스템 메시지
public AudioClip systemMessage0Sec;
public AudioClip systemMessage30Sec;
public AudioClip systemMessage60Sec;
public AudioClip systemMessageVictory;
// 터렛
public AudioClip turretBreakClip;
// 넥서스
public AudioClip nexusBreakClip;
// 버튼
public AudioClip buttonClickClip;
// 골드
public AudioClip goldGetClip;
// 에너미
public AudioClip enemyDie;
// 아이템
public AudioClip itemDrop;
public AudioClip itemBuy;
public AudioClip itemSell;
public AudioClip itemError;
// 플레이어
public AudioClip playerLevelUp;
public AudioClip playerSkillLevelUp;
[Header("SFX")]
// 플레이어
public AudioClip playerWalkClip;
public AudioClip playerDieClip;
public AudioClip playerResurrectionClip;
public AudioClip playerBasicAttackClip;
public AudioClip playerSkill01Clip;
public AudioClip playerSkill02Clip;
public AudioClip playerSkill03Clip;
public AudioClip playerSkill04Clip;
}
사운드의 실행은 Sfx와 SfxUI 오디오 소스로 나누었습니다.
using UnityEngine;
public class SoundManager : MonoBehaviour
{
public static SoundManager Instance;
[Header("Audio Sources")]
public AudioSource sfxUISource;
public AudioSource sfxSource;
[Header("Database")]
public SoundDatabase soundDatabase;
private void Awake()
{
if (Instance == null) Instance = this;
else Destroy(gameObject);
DontDestroyOnLoad(gameObject);
}
// SFX UI
public void PlaySfxUI(AudioClip clip, float volume = 1f)
{
if (clip == null) return;
sfxUISource.PlayOneShot(clip, volume);
}
// SFX
public void PlaySfx(AudioClip clip, float volume = 1f)
{
if (clip == null) return;
sfxSource.PlayOneShot(clip, volume);
}
}
호출할 곳에서 사용하는 방식은 다음과 같습니다.😁
SoundManager.Instance.PlaySfxUI(SoundManager.Instance.soundDatabase.buttonClickClip);