[WinApi] 사운드 FMOD 라이브러리 사용 준비

라멘커비·2024년 2월 20일
0

WinApi

목록 보기
16/32

winapi에 사운드 기능 있지만 다른거 사용할거임

라이브러리란 코드가 완전히 빌드되었지만 실행 용도로 사용하지 않는 코드들을 의미한다. 기계어화 되어서 실행이 가능한 프로그램은 exe파일이다. exe가 되려면 코드 내부에 진입점(main)이 필수이다.
실행을 위한 코드 외에 도움을 주기위한 코드들이 있다. 이 코드들을 다른 프로젝트에서 사용하려면 vs프로젝트파일을 주면 되나? -> XXX
실행파일처럼 빌드된 결과물을 준다. -> lib파일

라이브러리를 사용할 수 있는 것도 기술임. 다이렉트도 기술이다.
여태는 참조 기능 이용해서 쉽게 사용했음. lib파일 받아서 사용하는 정석적인 방법해보장.

왜 그 라이브러리를 사용했나?
=> 기본적인 사용법, 장단점을 기억하고 설명할 수 있으면 좋다.

FMOD

  • FMOD 라이브러리
    게임 사운드 라이브러리
    선택 이유 : 무료임, 언리얼엔진 4, 크라이엔진 등 유수한 세계적인 엔진에서 사용했다.
    사용하면서 장단점 느껴보기

FMOD 사용 준비

  • FMOD 가입, 다운로드.
    (SDK : 소프트웨어 개발 키트, 소프트웨어 만들 때 도움되는 코드 및 라이브러리 모음)

  • lib는 bin 폴더 내부에 넣는 게 국룰
    .h는 inc나 include 폴더에 넣는 게 국룰

프로젝트파일에 정리해서 넣고, vs에도 복사

  • lib파일 지금 git에서 이그노어 상태인데, FMOD lib << 얘네는 올려야 함.
    dll, lib 파일 선택해서 소스제어에 무시된 파일 추가하면 올려짐.

  • 이상태로 빌드하면 에러남 -> 빌드에서 제외 설정해줘야 함

FMOD 사용

나눠서 해줘야 함.

// Debug 일 때
#pragma comment(lib, "ThirdParty\\FMOD\\Debug\\fmodL_vc.lib")
// Release 일 때
#pragma comment(lib, "ThirdParty\\FMOD\\Debug\\fmod_vc.lib")
  • 프로젝트에서 dll 못찾을 때
    라이브러리 디렉터리 설정해줘야 함. 지금 프로젝트 설정상 bin에 출력하므로 bin에 dll이랑 lib을 실행파일과 같이 놔줘야 함? (출력 경로에 FMOD 파일 복사).
    라이브러리 디렉터리에 출력디렉터리 경로를 넣어준다.
    그럼 이렇게만 써도 찾을 수 있음
// Debug 일 때
#pragma comment(lib, "fmodL_vc.lib")
// Release 일 때
#pragma comment(lib, "fmod_vc.lib")

근데 수동 복사해줬기 때문에 bin을 삭제하면 또 안 된다. 이걸 자동복사되게 만들 수 있다. (그래서 굳이 lib, dll파일을 비쥬얼 스튜디오에 추가했던 것)


커비 낙서

  • 더블클릭 엔진에 추가 -> 쾌-적

  • 점프, 달리기 정상작동됨

  • 점프 내려왔을 때 이전 State로 다시 돌려주면 좋겠다. -> 완료

  • 몬스터 만들어보기
    -> 띄우고, 잔디 블록 주변을 회전하게 만듦.

profile
일단 시작해보자

0개의 댓글