안녕하세요 철사마 입니다.

Unity 오브젝트를 쓰다보면 안보이게 하기, 보이게 하는 기능을 쓸데가 종종 있습니다.

그리고 이 오브젝트가 보이게 설정되어 있는지, 안보이게 설정되어 있는지도 확인할 필요가 종종 있을 것입니다.


해보면 정말 간단하지만 찾아보기 전까지는 헷갈리는 API라서 공유합니다. :)


첫 번째,

오브젝트를 보이게, 안보이게 하는 API입니다.


GameObject.SetActive() (공식 레퍼런스 확인)


using UnityEngine;

using System.Collections;


public class ExampleClass : MonoBehaviour {

    void Example() {

        gameObject.SetActive(false);

    }

}


이 함수는 bool 형의 인자값을 명시하여 Object를 제어할 수 있습니다.

옵션으로 False는 안보이기, True는 보이게 할 수 있습니다. 





두 번째 

Object가 현재 어떤 보이기 설정으로 되어 있는지 확인하는 API입니다.


GameObject.activeSelf (공식 레퍼런스 확인)


이 API는 읽기 전용으로 값의 여부만 확인할 수 있습니다.

간단한 예제를 보면 이렇게 쉽게 구성할 수 있습니다.


if(gameObject.activeSelf == true)  

    // 오브젝트가 보이게 설정되어 있는 경우

}

else if(gameObject.activeSelf == false)

    // 오브젝트가 안보이게 설정되어 있는 경우


오브젝트를 제어할 때 중복되게 실행하지 않고, 오브젝트의 현재 설정에 따라 설정을 별도로 줄 수 있어 편합니다. ^^


짧은 포스팅이었습니다.

작게나마 도움이 되시길~~~!!



직접 해보고 추천하는 게임한당 펜페이지, 좋아요 하시고 간단 리뷰 스크랩하세요 ^-^



먹는 사진 다 올리는 먹는 즐거움, 먹방 펜페이지에 놀러오세요 ^-^



(출처 : 구글 이미지 검색)


안녕하세요 철사마 입니다.

이번 시간에는 Unity5의 버튼 클릭 이벤트에 대해서 정리해 보았습니다.


처음에 버튼 별로 스크립트를 짜고 오브젝트에 매번 붙여주는게 코드가 복잡해질 것 같아서 한번에 깔끔하게 할 순 없을까 하여 찾아보기 시작했습니다. 그런데 나름 답을 찾고 나니 버튼별로 기능이 천차만별이라 파일 하나로 뭉쳐서 하는게 과연 깔끔한 코드인가라는 생각이 들더군요. 정답은 없는 것 같습니다. 개발자의 취향에 맞게 하면 되겠죠. 기능별로 구분을 하는것이 오히려 코드를 깔끔하게 할 수 있지 않을까 생각이 들기도 합니다. ^^


우선 클릭에 관련된 이벤트에 대해서 알아보고, 스프라이트의 TAG를 활용하여 같은 클릭 이벤트에서 스프라이트 별로 다른 명령을 내릴 수 있어 일괄적으로 관리되는 느낌이 나도록 구성해 보았습니다.


버튼 클릭 이벤트르 만드는 방법은 다양합니다. 전 두가지만 설명하겠습니다. 다 설명하려니 너무 길어서요... ^~^


첫 번째 : 위젯에 Box Collider를 붙이고 스크립트에서 이벤트를 처리하는 방법

프로젝트 뷰에서 적당한 C# Script를 생성합니다. 그리고 아래와 같은 코드를 작성합니다.


using UnityEngine;

using System.Collections;


public class Onbutton : MonoBehaviour {


    UISprite m_Strite; // UISprite UI관련 컴퍼넌트를 선언합니다.


    void Awake()

    {

        m_Strite = GetComponent<UISprite>(); // 위젯에 연결된 스프라이트를 변수에 매칭합니다.

    }


    void OnClick() // 클릭이벤트가 발생했을때 이 함수를 호출합니다.

    {

        Debug.Log("Onclick");

    }

}



해당되는 오브젝트에 Add Component 를 눌러 Box Collider를 선택하여 클릭에 반응할 수 있도록 합니다.

Box Collider버튼 뿐만 아니라 각종 충돌체크에 사용되는 컴퍼넌트입니다.


추가로 위에 작성한 코드를 포함시켜 줍니다.


그렇게 하면 쉽게 클릭시 OnClick() 함수가 호출되게 됩니다.

여기서 참고할 사항은 Unity에서 자동으로 OnClick() 함수를 클릭시 자동으로 호출되는 함수로 인식한다는 것입니다.

이런 클릭관련 내장함수는 아래와 같이 몇가지가 있습니다.(중요한것만 추렸습니다.)


    void OnClick()

    {

        // 클릭시 반응

    }

    

    void OnDrag(Vector2 delta)

    {

        // 클릭 후 드래스시 반응

        // 아래 코드를 넣으면 대상 오브젝트가 드래그시 옮겨지는 것을 확인할 수 있습니다.

        m_Strite.transform.localPosition += (Vector3)delta;

    }


    void OnHover(bool isOver)

    {

        // 마우스 오버

  // 아래 코드르 넣으면 대상 오브젝트가 마우스 오버시 커지는 것을 확인할 수 있습니다. 

  // (모바일 디바이스에서는 당연하겠지만 확인이 불가능합니다.)

        m_Strite.cachedTransform.localScale = (isOver) ? Vector3.one * 1.2f : Vector3.one;

    }



두 번째 : 위젯에 Box Collider를 붙이고 UIButton 컴포넌트를 추가하고 스크립트에서 함수를 연결하여 오브젝트에 묶어 특정 함수만 처리하는 방법

우선 중간까지는 첫 번째 방식과 비슷합니다.

코드를 짜고, 오브젝트에 Box Collider를 추가합니다.

그리고 Add Component로 Button을 추가합니다. 

(UI Button으로 검색하면 안나올 수 있습니다. Button으로 검색해 주세요)


기본적으로 이 Component는 기본, 마우스 클릭, 오버 등 다양한 기능에 대하여 설정을 할 수 있습니다. 

(자세한것은 Inspector에서 이것저것 테스트 해보면 쉽게 알 수 있을 것입니다.)


Component 추가를 하면 기본으로 On Click이라는 메뉴가 생기게 됩니다.

여기에 함수를 추가한 Script를 연결하면, 함수리스트가 보여지며, 설정할 수 있게 됩니다.

주의해야 할 사항은 Script를 빈 오브젝트에 넣어서 오브젝트를 연결하는 것입니다.(주의!)

 - 그냥 스크립트를 끌어다 놓으면 연결이 되지 않습니다.

 - 오브젝트에 연결된 다양한 스크립트에 한번에 접근할 수 있다는 것입니다.(매우 유용해 보입니다.)

저는 GameMansger라는 빈 오브젝트를 만들어서 GameManager라는 C# 스크립트를 생성하여 OnClick()이라는 함수를 만들었습니다.

주의해야할 점은, 외부에 연결되는 함수이기 때문에 Public으로 설정하셔야 한다는 것입니다.

    public void OnClick()

    {

        Debug.Log("m_Start");

    }

이런 식으로 Public하게 함수를 구성해 주시면 됩니다.


추가로 첫 번째 처럼 다양한 이벤트에 대하여 설정을 연동하고자 한다면 Event Trigger Component를 추가하면 됩니다.





저는 개인적으로 첫 번째 방법이 구성하기에 용이해서 마음에 들었습니다.

그런데 다양한 버튼 이벤트에 대하여 버튼별로 액션을 구분할 방법이 있을까 해서 방법을 고민해 보았습니다.

바로  Tag를 활용하는 것이죠!


세 번째 : 첫 번째 방법에 코드에 Tag를 추가하여 버튼별로 한 코드로 통일해보기

첫 번째와 방법을 모두 동일합니다.

여기서 위젯인 스프라이트에 Tag라는 것을 추가해 보겠습니다.

Tag는 Inspector 메뉴의 상단에 위치해 있습니다. 기본적인 Tag가 있으며 Add Tag를 누르면 임의의 태그를 생성할 수 있습니다. 

전 편의를 위해 임의의 Tag를 생성했습니다.

그 후에 생성한 Tag를 위젯별로 Tag로 설정합니다.


그 후에 코드를 아래와 같이 추가합니다.


    void OnClick()

    {

        // Sprice에 태그를 해서 클릭했을 때 해당 태그의 값을 입력받음

        if (m_Strite.tag == "m_Start") 

        {

            Debug.Log("m_Start");

        }

        else if (m_Strite.tag == "m_Manual")

        {

            Debug.Log("m_Manual");

        }

        else if (m_Strite.tag == "m_Score")

        {

            Debug.Log("m_Score");

        }

        else if (m_Strite.tag == "m_Setting")

        {

            Debug.Log("m_Setting");

        }

        else if (m_Strite.tag == "m_Exit")

        {

            Debug.Log("m_Exit");

        }

        else

        {

            Debug.Log("이런 태그없어 : " + m_Strite.tag);

        }

    }


이렇게 하면 한 개의 소스파일로 여러가지 버튼의 클릭 이벤트를 구분하여 처리할 수 있습니다.

간단한 메뉴의 경우는 한개의 소스코드로 쉽게 구성을 할 수 있습니다.

물론 복잡한 구성일 경우는 별도로 소스를 구성하는 것이 훨씬 가독성이 좋아질 것 같습니다.


개인적으로 궁금했건 코딩방식이라 정리 차원에서 블로그에 적어놨습니다.

생각보다 쉬운 코드인데, 모르면 불편하더라구요 ^^


그럼 도움이 되었으면 좋겠습니다.

감사합니다.



직접 해보고 추천하는 게임한당 펜페이지, 좋아요 하시고 간단 리뷰 스크랩하세요 ^-^



먹는 사진 다 올리는 먹는 즐거움, 먹방 펜페이지에 놀러오세요 ^-^



(출처 : 구글 이미지 검색)


안녕하세요 철사마입니다.

오늘은 오랜만에 Unity 개발에 대해서 유용한 팁을 소개해 드리려고 합니다.

모바일 게임을 만들면 광고가 아주 중요하다는 것을 아실 것입니다. 

무료 게임으로 유저에게 부담을 덜어주는 대신 개발자에게 수익을 얻을 수 있는 방법이라 유저와 개발자가 서로 윈윈할 수 있는것이 바로 광고 모델인 것 같습니다.


수많은 광고 플랫폼이 있지만 그중에 Admob 광고는 실제 수익적인 면에서 상당히 매력적인 플랫폼입니다.

게다가 Google거라서 신뢰가 좀 되기도 합니다. ^~^;

(출처 : 구글 이미지 검색)


홈페이지(https://www.google.co.kr/admob/) 입니다.

혹시 계정이 없으면 새로 하나 만들어보세요. 

가입도 무료, 광고 ID 생성방법 또한 매우 쉽습니다.


광고 형태는 총 3가지로 구분할 수 있습니다.

1. 일반배너 : 항상 하단이나 상단에 배치되는 띠배너를 의미합니다.

2. 전면배너 : 가끔 팝업으로 뜨는 전면 배너입니다.

3. 동영상 : 새로 추가된 건데 동영상 광고입니다.(이건 미디에이션이라고 해서 타 플랫폼 계정을 추가할 수 있습니다.)


메인 페이지 > 수익창출 탭에서 3가지 광고 형태를 생성할 수 있습니다.

이미 출시했거나, 아직 출시하지 않은 앱에 대해서 등록이 가능합니다.(안드로이드, iOS 모두 가능)


그리고 추가한 앱에 대하여 자유롭게 광고 형식을 추가할 수 있습니다.


그럼 애드몹에 광고 형식 추가 방법은 여기까지 하겠습니다.(이부분은 쉬우니 금방 하실 수 있을 거에요)


이제부터 중요한 Unity에서 어떻게 추가하는지 설명을 하려고 합니다. :)



우선 설명드리고 싶은 부분은...

Admob 공식 사이트에서는 Unity 기반에서 설정하는 방법이 좀 난해하게 되어 있습니다. 네이티브 기반으로 설명이 되어 있어서요

아마 안드로이드 스튜디오를 기반으로 설명을 해서 그런건 아닐까 합니다. Unity에 대한 배려가 좀 부족합니다.


그러나!!!

Unity에서 설정을 매우 쉽게 하는 방법이 있습니다.

커스텀패키지를 설치하면 바로 적용이 될 수 있도록 착한분(?)들이 만들어 주셨어요 ^^

자료는 여기 링크를 참고하시면 됩니다.

https://github.com/googleads/googleads-mobile-unity/releases/tag/v3.0.4

다운로드 합니다.(GoogleMobileAds.unitypackage)

GoogleMobileAds.unitypackage



다운로드를 받으셨으면 이제 Unity를 구동합니다.


해당 패키지를 Unity > Assets > Import Package > Custom Package 메뉴를 선택하여 설치합니다.


그럼 아래와 같이 Import 정보가 나옵니다. 모두 Import 합니다. (저는 이미 설치를 해서 new가 안나오는데 처음 깔면 new가 뜹니다.)


이제 준비가 모두 끝났습니다.

간단한 코딩을 통하여 구동을 해보도록 하겠습니다.






새로운 C# 파일을 생성합니다.


아래는 구동을 위한 소스코드입니다.

일반 배너, 전면 배너 두가지 입니다.(동영상은 어떻게 하는지 아직 모르겠네요;;)


<전면배너>

using GoogleMobileAds.Api; // Admob API를 쓰기 위해 설정해 둡니다.



    InterstitialAd mInterstitialAd = null; // 전면광고 변수


    public string mInterstitialAd_Key; // 전면배너 Key (이렇게 전역변수로 해 놓으면 Unity에서 값을 쉽게 넣을 수 있어서 편합니다. )


    string SEE_YOUR_LOGCAT_TO_GET_YOUR_DEVICE_ID = "디바이스 ID";



void Awake() // 제일 먼저 호출되는 함수입니다.( Start 보다 빠릅니다 )

{

    // 전면 광고 id 등록

    mInterstitialAd interstitial = new InterstitialAd(mInterstitialAd_Key); // 광고 ID로 API를 세팅합니다.

 

    // 애드몹 리퀘스트 초기화

    AdRequest request = new AdRequest.Builder()

        .AddTestDevice( AdRequest.TestDeviceSimulator )       // Simulator.

        .AddTestDevice( SEE_YOUR_LOGCAT_TO_GET_YOUR_DEVICE_ID)  // My test device.

        .Build();

    // 테스트 할 때는 테스트 디바이스로 등록을 해야한다고 합니다. 테스트를 상용으로 하면 광고가 안나올 수 도 있다고 하더군요.

    // AdRequest request = builder.Build(); <-- 실제 빌드시에는 이렇게 바꿔줍니다.

 

    // 애드몹 전면 광고를 로드합니다.

    mInterstitialAd.LoadAd( request );

 }


void Start()

{

    // 밑에 부분은 앱 실행 부분에 두면 광고가 안나온다. 실행 후 약간 얼마 뒤로 미루는게 좋다고 합니다

    // 로드 되어 있다면 광고 보여줌

    if ( mInterstitialAd.IsLoaded() )

    {

        mInterstitialAd.Show();

    }

}



<일반배너>

using GoogleMobileAds.Api; // Admob API를 쓰기 위해 설정해 둡니다.


    BannerView mBannerView = null; // 배너 출력


    public string mBannerView_Key; // 배너 Key


    string SEE_YOUR_LOGCAT_TO_GET_YOUR_DEVICE_ID = "디바이스 ID";



void Awake() // 제일 먼저 호출되는 함수입니다.( Start 보다 빠릅니다 )

{

    // BannerView(애드몹 사이트에 등록된 아이디, 크기, 위치) / AdSize.SmartBanner : 화면 해상도에 맞게 늘임, AdPosition.Bottom : 화면 바닥에 붙음

        mBannerView = new BannerView(mBannerView_Key, AdSize.SmartBanner, AdPosition.Bottom);

 

    // 애드몹 리퀘스트 초기화

    AdRequest request = new AdRequest.Builder()

        .AddTestDevice( AdRequest.TestDeviceSimulator )       // Simulator.

        .AddTestDevice( SEE_YOUR_LOGCAT_TO_GET_YOUR_DEVICE_ID)  // My test device.

        .Build();

    // 테스트 할 때는 테스트 디바이스로 등록을 해야한다고 합니다. 테스트를 상용으로 하면 광고가 안나올 수 도 있다고 하더군요.

    // AdRequest request = builder.Build(); <-- 실제 빌드시에는 이렇게 바꿔줍니다.

 

    // 애드몹 배너 광고를 로드합니다.

   mBannerView.LoadAd(request); //배너 광고 요청

 }


void Start()

{

    mBannerView.Show();  // 배너 광고 출력

}


처음에 Unity에 Admob을 설정할 때 가이드가 없어서 매우 난감했는데요, 커스텀 패키지를 활용하니까 매우 작업이 쉬워졌습니다. ^^

소스로 보여드린건 샘플에 불과하지만, 이 샘플을 실제 게임에 어떻게 붙여서 자연스럽게 구성할지는 다시 고민을 해야겠지요?


참고로!! 

잘 되다가 안되는 경우가 종종 있습니다.

아마도 광고 물량이 100% 수신되는게 아닌 것 같아요.

오류인줄 알고 한참을 봐도... 소스는 이상이 없는데 ^^;;;; 

제 개발력의 한계로 여기까지 파악이 됩니다.. (전 아직 로그를 출력해서 볼 실력이 안됩니다. 버그 나면 엄청 당황스러움...)


그럼 다음에 또 재미있는 팁으로 다시 올려드릴게요!!

감사합니다.



먹는 사진 다 올리는 먹는 즐거움, 먹방 펜페이지에 놀러오세요 ^-^



직접 해보고 추천하는 게임한당 펜페이지, 좋아요 하시고 간단 리뷰 스크랩하세요 ^-^





안녕하세요 철사마 입니다.

Unity는 계속 더 좋은 버전으로 업데이트를 제공하고 있는데요..


저는 최신 버전이 나오면 바로 업데이트를 해주는 편입니다.(반대하시는 분들이 많지만요, 업데이트는 항상 조심하라는 개발자 선배들의 조언)


그런데 아무생각없이 5.3.2로 업데이트 했더니 안드로이드 빌드가 안되는 것입니다.?!?!!?!

(뭔가 큰 실수를 한 것 같은 느낌적인 느낌!?)


(그런데 말입니다.)


몇 일동안 고생을 했는데 문제에 대한 해결 방법은 생각보다 쉬웠습니다.


설명을 하자면...

Unity5.3 이상 버전부터 설치시에 빌드옵션을 추가로 설정하게 되어 있습니다.

설정을 하면 Unity 툴에서 자동으로 모든 관련 설정을 지원해 줍니다.

처음 개발할 때는 설정이 제일 어려운데 이제 편하게 되었다고 할 수 있습니다.


그러나 모르고 설치하면 아주 황당한 경험을 하게 됩니다.(빌드가 안되는 상황-빌드 환경 자체가 사라져있음)


사실 굉장히 쉬운 건데, 모르면 정말 알 수가 없는 설치시 유의사항 공유합니다.


우선 이 포스팅은 유니티 5.3 이상 버전으로 설치할 때 유의사항입니다.(이전 버전은 해당 사항 없음)

유니티 다운로드(http://unity3d.com/kr/get-unity) <-- 친절한 다운로드 링크 배려 :)


Unity 5.3.2버전을 설치합니다.(2016년 2월 18일자 최신버전)


약관에 동의를 하고 Next를 누릅니다.

아래의 화면이 처음에 나오는 기본 옵션 화면입니다.


일반적으로 보던 리스트입니다.

여기서 체크박스리스트가 엄청 생겼는데요, 여기를 주의깊게 보세요!

아래 Android Build Support의 체크박스를 꼭 체크 해주세요!

그리고 그 아래엔 iOS Build Support 체크박스가 있는데 필요하면 체크해 주세요!


참고로 Support를 누르면 용량이 급격하게 증가합니다.

아래 확인해 보면 총 6.9GB나옵니다.(하드 용량이 부족한 분은 이전버전 다운로드를 추천합니다.)



Next를 누르면 설치 경로가 나옵니다.

필요에 따라 조정하고 기본으로 하려면 바로 Next!


설치가 잘 되고 있습니다.

용량이 커서 시간이 오래 걸립니다. 계속 기다려 주세요



설치가 완료 되었습니다. 그럼 Unity를 구동해 봅니다.


다른건 필요없고 File > Build Settings.. 메뉴를 클릭합니다.

그럼 아래와 같이 안드로이드 빌드가 가능한 것을 확인할 수 있습니다.(이제 빌드 가능!!)







Unity는 계속 개선되어지고 좋아지고 있는 것을 느낍니다.

최신 버전을 통해 쾌적한 unity를 경험해 보시기 바랍니다.


끝~ 너무 간단했나요? ㅎㅎ



안녕하세요 철사마 입니다.

오랜만에 게임 개발 관련 블로깅입니다! 짝짝짝!

저는 게임 개발 관련하여 사용하는 툴이긴 하지만, 음악을 듣는 분이라면 필요한 프로그램이지 않을까 싶은! 음향 관련 프로그램 소개합니다.


바로 Mp3Gain





이 프로그램이 Unity로 게임 만들때 필요한 이유를 굳이 설명하자면.....


어느 개발 툴 프로그램이라면 당연한 기능이겠지만 Unity에도 사운드 관련 API가 있습니다

AudioSource 라는 API 입니다.

유용한 사운드 관련 기능인 만큼 엄청나게 많은 API가 있습니다. [AudioSource API 정보 확인하기]


그중에서 PlayClipAtPoint를 설명하려고 합니다.


[ScriptReference 소개]

public static void PlayClipAtPoint(AudioClip clipVector3 position, float volume = 1.0F);
public static void PlayClipAtPoint(AudioClip clipVector3 position, float volume = 1.0F);

Parameters

clipAudio data to play.
positionPosition in world space from which sound originates.
volumePlayback volume.

Description

Plays an AudioClip at a given position in world space.

This function creates an audio source but automatically disposes of it once the clip has finished playing.

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(AudioSource))] public class ExampleClass : MonoBehaviour { public AudioClip clip; void Start() { AudioSource.PlayClipAtPoint(clip, new Vector3(5, 1, 2)); } }

출처 : http://docs.unity3d.com/ScriptReference/AudioSource.PlayClipAtPoint.html



위에 있는 설명과 같이 함수의 인자갑 volume을 숫자로 넣으면 셋팅 끝이 됩니다.(참 쉽죠)

public static void PlayClipAtPoint(AudioClip clip, Vector3 position, float volume = 1.0F);

그런데 중요한 것이 vloume 최대값이 1.0인데요. 

중요한 점은 음향파일이 갖고 있는 볼륨보다 크게 해주는게 아니라 1.0이 기본 음향값 입니다. (쉽게 말해 볼륨을 줄일 수만 있는 것이죠)


그래서 기본 볼륨을 높이려면 원본 음향 파일의 볼륨 설정을 임의로 조절할 필요가 있습니다.







서론이 길었네요. 그래서 이 프로그램이 유용합니다.( -_-)b


Mp3Gain라는 프로그램은 기본 음향파일의 볼륨을 일괄적으로 높이거나 줄여서 변환해주는 프로그램 입니다.

제작자 홈페이지 : http://mp3gain.sourceforge.net/index.php


사용방법은 아주 쉽습니다. 철사마 스타일로 스크린샷으로 설명할테니 한번 쭈욱 확인하시기 바랍니다.


우선 각자의 OS환경에 맞는 프로그램을 다운로드 합니다.(http://mp3gain.sourceforge.net/download.php)


귀찮으신 분은 바로 다운로드를 아래에서 받으시면 됩니다.(2016년 2월 17일 다운로드 받은 1.2.5 버전-윈도우버전)

 mp3gain-win-1_2_5.exe

참고로 설치버전, 무설치 버전이 있습니다.


다운로드 받은 Mp3Gain프로그램을 설치합니다.


설치할 때 아래와 같이 옵션 박스가 나옵니다. Language file의 + 버튼을 눌러주세요


리스트의 아래 부분에 Korean을 눌러주세요. 그래야 한글 버전으로 설치가 됩니다.


그 후에 설치할 파일 경로를 확인해 주시고


설치가 완료 되면 실행해 보겠습니다.


프로그램은 아주 깔끔하게 구성되어 있습니다.

파일추가, 폴더추가


파일을 하나 추가해 보았습니다. 이 프로그램에서 보는 기준 볼륨은 89입니다. 참고만 해주세요


등록한 파일이 기준 볼륨과 얼마나 차이나는지 확인하기 위해 [트랙분석] 버튼을 눌렀습니다.


분석을 통해 이 파일은 97.1로 나왔습니다. 

저는 테스트를 위하여 목표 볼륨을 105로 했습니다.


그리고 변환을 위해 [트랙게인] 버튼을 누릅니다.

그럼 끝입니다. 매우 쉽죠?

목표 볼륨을 105로 한다고 정확히 105로 되지는 않는다고 합니다. 유사하겐 맞춰지는 것 같습니다.



그리고 이 프로그램은 100% 프리 라이선스 프로그램입니다.

기업이나 개인이나 편하게 사용하면 됩니다. :)


혹시 너무 좋아서 제작자에게 기부를 하고 싶다면 기부 버튼을 눌러주세요

페이팔로 기부를 할 수 있습니다. :)

너무 쉽고, 100% 프리웨어인 Mp3Gain를 활용해서 

음향 파일의 볼륨을 쉽게 조정해 보시기 바랍니다. :)


+ Recent posts