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

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)

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


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


짧은 포스팅이었습니다.

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



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



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




WRITTEN BY
사마사마
IT, 게임 그리고 유익하고 재미있는 다양한 정보를 소개합니다.

트랙백  0 , 댓글  1개가 달렸습니다.
  1. unity초보 2017.01.03 18:59
    '사마사마' 사마 unity 생초보 인데 공부할려고 간단한 게임 개발 중입니다. 혹시 질문 좀 받아 주실 수 있나요?
secret

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


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


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

Unity에서 많이 쓰이는 NGUI에 대해서 팁을 공유하려고 합니다.

NGUI는 Next-Gen UI의 약자로 Unity에서 많이 쓰이는 UI, 그래픽 관련 컴포넌트입니다.

(https://www.assetstore.unity3d.com/kr/#!/content/2413)


Unity에 NGUI를 설치하고 스프라이트나 위젯을 설정하면 콘솔창에 이상한 오류문구가 뜨는 경우가 있습니다.

"Ignoring menu item NGUI because it is in no submenu!"



빌드할때 오류가 발생하는 것은 아니지만, 계속 오류 표시가 보여지니 신경이 쓰이기 마련입니다.(저는 매우 신경쓰이네요!)

하지만 이 부분은 NGUI 버그로서 코드를 약간만 수정하면 쉽게 고칠 수 있습니다.


NGUI 패키지를 설치하면 자동으로 인스톨되는 파일 중에 NGUIMenu.cs 파일을 수정하면 됩니다.

NGUIMenu.cs 파일의 위치는 "NGUI > Script > Editer > " 입니다. 위의 스크린샷을 참고해 주세요 :)




NGUIMenu.cs 파일의 715라인 부분을 수정하면 됩니다.


파일을 열어보면 715라인 부분에 이런식으로 코드가 작성되어 있습니다.


이 부분에서 Breaker 부분을 삭제하고, Help Priority의 라인을 10을 추가하여 22로 수정합니다.


그 후에 Unity를 종료하고 다시 프로젝트를 로딩하면 더 이상 오류메시지가 보이지 않습니다.

참 쉽죠? ^^


Unity가 새로운 버전이 업데이트 되면서 NGUI와 살짝 충돌나는 경우가 있는 것 같습니다.(아마도 Unity 5.4.1 이상)

수정을 하지 않아도 빌드가 잘 되기 때문에 수정하지 않아도 상관은 없지만, 뭔가 신경이 쓰인다면 수정해 보세요~!

참고로 이런 오류가 발생하는 이유는 저도 잘 모르겠습니다. ^-^;;;

(그리고 최신 NGUI 버전에서 이 부분은 자연스럽게 고쳐질 수 있습니다.)


그럼 간단한 팁을 마칩니다 :)



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



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




WRITTEN BY
사마사마
IT, 게임 그리고 유익하고 재미있는 다양한 정보를 소개합니다.

트랙백  0 , 댓글  0개가 달렸습니다.
secret

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


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

이번 시간에는 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);

        }

    }


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

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

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


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

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


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

감사합니다.



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



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




WRITTEN BY
사마사마
IT, 게임 그리고 유익하고 재미있는 다양한 정보를 소개합니다.

트랙백  0 , 댓글  0개가 달렸습니다.
secret

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


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

오늘은 오랜만에 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% 수신되는게 아닌 것 같아요.

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

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


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

감사합니다.



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



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




WRITTEN BY
사마사마
IT, 게임 그리고 유익하고 재미있는 다양한 정보를 소개합니다.

트랙백  0 , 댓글  1개가 달렸습니다.
  1. 에러좀 2016.12.28 18:27
    ArgumentException: Input Button Fire is not setup.
    해결좀해주세ㅕㅇ
secret

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

모바일 게임에서 구글플레이 연동하는 게임 많지요?

구글로 연동하는 앱이나 게임을 열심히 하다가 앱이나 게임을 삭제하고 내 계정 정보도 모두 삭제하고 싶을 때가 있습니다.

그럴 땐??


우선 구글 플레이 게정 연결 삭제 방법은 아래 게시글을 참고해 주세요~

2016/06/01 - [News, Infomation] - [이용팁] 구글 플레이 연결된 앱 정보 삭제하기[Google Play, TIP]


이번에는 구글플레이에 연동되어 있는 세이브데이터 지우는 방법입니다.

구글플레이 연동하는 게임 중에 세이브 데이터를 구글로 업로드 하고 나중에 내려받는 게임들이 있습니다.

그런 앱이 많이는 없는데 서버 연동이 아닌 클라이언트 연동을 하는 앱 중에서 구글에서 제공해주는 기능을 이용하여 데이터 백업을 하는 경우가 종종 있습니다.


앱을 지워도 그 세이브 데이터는 계속 남아있게 되는데.. 좀 찝찝하시다면 직접 지워보세요!!


우선 보유하고 있는 구글계정으로 구글드라이브에 로그인을 합니다.

홈페이지 주소 : https://drive.google.com


혹시 G메일을 쓰면서 구글드라이브에 연동을 했으면 첨부파일이 여기에 보여질 수 있습니다.

(난 업로드 한 적이 없는데 웬 파일들이? 그렇게 오해하지 마시고~)


우선 다른건 필요없고 오른쪽 상단의 톱니바퀴의 "설정메뉴 > 설정"을 클릭합니다.


설정 창이 뜨면 "설정 > 애플리케이션 관리"를 클릭합니다.


세이브 데이터로 업로드된 서비스와 설명들을 확인할 수 있습니다.


우측의 옵션을 클릭하여 데이터를 삭제할 수 있습니다.

"숨겨진 앱 데이터 삭제"를 누르면 저장된 세이브 데이터를 삭제할 수 있습니다.


또한 "드라이브에서 연결 해제"를 선택하면 앱 연결 자체를 깔끔하게 삭제할 수 있습니다.

전혀 쓰지 않거나 잘 안쓰거나 안쓰고 싶은 앱이 있다면 삭제해도 괜찮겠지요?


참고로 기본으로 깔려있는 데이터 앱은 삭제할 수 없습니다.






깔끔한 내 정보를 원한다면...

데이터  세이브 파일도 깔끔하게 정리해 보는 건 어떨까요? ^^

지금까지 쉽지만 찾으려면 어려운 구글플레이 데이터세이브 파일 삭제 방법이었습니다. :)





WRITTEN BY
사마사마
IT, 게임 그리고 유익하고 재미있는 다양한 정보를 소개합니다.

트랙백  0 , 댓글  2개가 달렸습니다.
  1. 비밀댓글입니다
    • 게임의 데이터는 핸드폰에 플레이게임이라고 앱이 있는데 거기서 지울 수 있습니다. 근데 게임별로 지울수 있는게 아닌 것 같아서 시도는 안해봤습니다. 앞으로 기능이 업데이트 되면 가능하지 않을까 싶네요 :)
secret


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

요즘 모바일게임에서 구글플레이 연동하는 게임이 상당히 많습니다.(페이스북도 엄청 많지만요)

구글로 연동하여 앱이나 게임을 열심히 하다가 앱이나 게임을 삭제하고 내 계정 정보도 모두 삭제하고 싶을 때가 있을거에요

그 때 어떻게 하는지 궁금하시죠? 지금 설명 들어갑니다~


우선 "구글 내 계정 정보"로 로그인 합니다.

홈페이지 주소 https://myaccount.google.com/


구글은 계정 정보에 대하여 한 곳에서 모든 관리를 할 수 있다고 합니다.

우선 왼쪽 중간의 빨강색으로 표시해 둔 "연결된 앱 및 사이트"를 클릭합니다.



클릭을 하면 "내 계정 > 로그인 및 보안 > 연결된 앱 및 사이트" 메뉴로 이동하게 됩니다.

구글플레이 계정으로 연결된 앱이 58개나 되네요 ㄷㄷ

그럼 빨강색으로 표시해둔 앱관리 버튼을 눌러서 상세 정보를 확인해 보겠습니다.


정말 많은 앱 리스트가 보입니다.


리스트를 클릭하면 상세 정보를 볼 수 있습니다.

전 그중에 뭔지 잘 모르겠는 이름을 클릭해 보았습니다. 

역시 상세 정보를 봐도 잘 모르겠네요..

승인 날짜가 2월 5일이라고 하니 벌써 몇개월이 지났습니다.






이 앱을 삭제하고 싶으면 상단의 선택취소 버튼을 클릭합니다.

액서스 권한 삭제를 하면 더이상 엑서스가 안된다고 경고를 하고 있습니다.

뭐 어짜피 쓰지도 않는거면 삭제해도 괜찮겠지요.. 확인 버튼을 클릭!


확인 버튼을 누르면 상단에 삭제가 완료 되었다고 알림이 뜹니다. 참 간단합니다






나중에 필요하면 다시 연결하면 됩니다. 그러니 너무 긴장안해도 될것 같네요!

하지만 경우에 따라서 앱에 대한 사용 정보가 사라져 다시 연결하면 초기화가 되는 경우가 있어요!

잘 안쓰는 앱은 지우고 자주 쓰는거라면 안지우는게 좋겠지요? ^^


그럼 쉽지만, 하려고 하면 잘 모르겠는 구글플레이 앱 삭제하기 팁을 마치겠습니다.

감사합니다.~ :)


WRITTEN BY
사마사마
IT, 게임 그리고 유익하고 재미있는 다양한 정보를 소개합니다.

트랙백  0 , 댓글  2개가 달렸습니다.
  1. ㅇㅅㅇ 2017.04.28 21:31
    다시 연결하려면 어떻게 해야 하나요?
  2. 궁금해요! 2017.05.14 06:35
    연결된 앱 지우고 다시 복구하고 싶을때는 어떻게 해야하죠??
secret



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

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를 경험해 보시기 바랍니다.


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


WRITTEN BY
사마사마
IT, 게임 그리고 유익하고 재미있는 다양한 정보를 소개합니다.

트랙백  0 , 댓글  5개가 달렸습니다.
  1. 비밀댓글입니다
    • 안녕하세요 이거 어드민에서 꾸미기 > 스킨에서 무료로 제공되는 스킨 첫번째걸 넣은건데. .이름이 #2 라고 되어 있네요 ^^ MIT License 라이센스라고 써있습니다. 무료 스킨인데 첫 페이지에 바로 나오는지는 모르겠지만.. 샘플 미리보기가 비슷하게 생겨서 오래 걸리지는 않을 것 같네요 :)
  2. 흐메.. 한참 찾았네요. 이미 설치한 사람은 저거 세팅 못 바꾸나요?? 다시 설치를 해야하나..
  3. Nadragon 2016.05.01 17:55
    ㅜㅜ저도 막 찾다가 다시 재설치 합니다..
secret



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

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

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


바로 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를 활용해서 

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



WRITTEN BY
사마사마
IT, 게임 그리고 유익하고 재미있는 다양한 정보를 소개합니다.

트랙백  0 , 댓글  0개가 달렸습니다.
secret


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


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

게임에 음원을 삽입할 때 용량이 커서 고민이 생길 때가 있습니다. 게임의 용량도 매우 커지거든요!

인터넷에 검색해보면 음악파일 용량 줄이는 프로그램이 많습니다. 그중에 하나를 소개하려고 합니다.

제가 최근에 쓰고 있는것이고 무료라서 추천합니다. :)


바로 Power MP3 WMA Free Converter 

홈페이지: http://www.cooolsoft.com/index.htm


유로버전도 있는 것 같습니다.(포스팅을 위해 좀 더 검색을 해보니 크랙버전이 돌아다니는 것 같더라구요. 그래도 전 크랙버전은 공유하지 않겠습니다. 무료로 써도 크게 문제 없을것 같습니다!)


우선 프로그램이 아주 심플해서 마음에 듭니다.

홈페이지에서 무료버전을 다운로드 할 수 있습니다.

(그 외 회사에서 제공하는 무료 버전이 많이 있습니다. 물론 공식 홈페이지 입니다.)

편의를 위해 Power MP3 WMA Free Converter 파일을 편의상 따로 업로드 해 놓았으니 다운로드 받으세요~

PowerConvertor.EXE


우선 다운로드를 하고 설치를 합니다. 


설치를 완료하고 실행을 하면 처음 뜨는게 아래 화면입니다.


파일추가와 폴더찾기 메뉴입니다. 를 활용해서 음원파일을 찾으면 됩니다.


무료 음원을 제공해주는 사이트에서 한개의 mp3파일을 찾아서 등록해 보았습니다.

현재 파일의 용량은 7.32MB 정도 됩니다.


등록을 하면 아래와 같이 mp3의 정보가 나옵니다.

여러가지 메뉴가 등장합니다.

첫번째는 변환하기로 가장 많이 쓰는 기능입니다.

두번째 부터 CD로 레코딩 하기, 음악듣기 메뉴가 있습니다. 잘 안쓸 것 같습니다.

그리고 결과물을 어떻게 변환할 것인가 하는 옵션 리스트가 나옵니다.

다양하게 있으니 취향에 맞게 선택하면 될 것 같습니다.

그리고 마지막엔 변환 후 저장하는 폴더를 지정하게 됩니다. 원하는 위치로 지정하면 되겠습니다.







변환하기 버튼()을 눌러 파일을 변환합니다.




한번의 클릭으로 쉽게 변환이 완료 되었습니다.


변환된 mp3파일과 기존의 파일의 용량을 비교해 보았습니다.

변환이 되어도 mp3파일명은 변하지 않지만 이해를 돕기 위해 파일명을 다르게 했습니다.

변환 전에는 7.32MB였는데 변환 후 2.93MB로 반이상 용량이 줄어든 것을 확인할 수 있습니다.


간단하게 음원의 용량을 줄이고 싶을 때 한번 써보세요~

그럼 오늘도 즐겜하세요~

감사합니다. :)









WRITTEN BY
사마사마
IT, 게임 그리고 유익하고 재미있는 다양한 정보를 소개합니다.

트랙백  0 , 댓글  1개가 달렸습니다.
  1. 프링글스 2016.08.03 00:04
    정말 감사합니다~^.^
    덕분에 변환도 간단하게 할수 있고 배워갑니다~
secret



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

Unity 에서 1인 개발을 하면 개발 이외에 필요한 작업들에 대한 부담이 매우 크게 느껴집니다.

디자인, 사운드 등등등 그런거 난 만들 줄 모름.. ㅠㅠ


엄청난 퀄리티를 원한다면 물론 비용을 들여서 제작하는 것이 맞겠지만.. 

그게 한두푼 하는게 아니라서 망설여집니다. 그렇다고 무단으로 넣게 되는데...

불법은 절대 안되요!! 절대 절대 절~~~대!! >_<)/


괜히 죄짓지 마세요~ 당당하게 살아야죠~

그리고 불법이 아니라 합법적으로 리소스를 제공해 주는 곳이 생각보다 많습니다.

리소스를 무료로 제공하는 사이트는 개발할 때 매우 유용합니다.

알아두면 매우x10 좋습니다. :)


지금부터 제가 유용하게 자료를 얻고 있는 사이트를 소개해 드릴게요. :)


[배경 음악을 찾을 때] 


유투브 오디오 라이브러리 제공 사이트 : https://www.youtube.com/audiolibrary/music


100% 무료로 이용 가능한 것도 있고, 출처를 밝혀야 사용할 수 있는 경우도 있습니다.

취지에 맞게 사용하면 되겠습니다.



[캐릭터 및 유용한 Unity 관련 에셋을 찾을 때]


유니티 에셋스토어: https://www.assetstore.unity3d.com

유니티 에셋스토어는 유니티 사용자끼리 서로 리소스를 구매하고 공유할 수 있도록 유니티에서 제공해주는 온라인 마켓입니다.

마켓이라고 유료만 있는것은 아닙니다. 잘 찾아보면 무료도 많아요 :)

물론 퀄리티 있는 자료는 유료가 많겠지요. 나중에 유니티가 익숙해 지면 유료 에셋에서 내가 만든 리소스를 판매해 보시기 바랍니다. :)







free 라고 검색하거나, 원하는 상품을 검색해서 무료를 찾으시면 되겠습니다.




[참고할만한 개발 소스를 찾을 때]


Github : https://github.com/


실제로 개발 관련 소스를 찾으려고 구글로 검색하다 보면 아주 높은 확률로 이 사이트에 오게 됩니다.

그래서 메인 첫 페이지는 바로 들어올 일이 별로 없습니다 그래서 그런가 홈 화면이 좀 썰렁하네요 ^^


상단 검색바에 puzzle로 검색해 보았습니다.


자료의 양도 방대하고, 어느정도 검증도 된 내용들이 많은 것 같습니다.

저도 여기서 많이 자료를 얻어갑니다. :)







1인 개발 어렵습니다.!

그렇지만 이런 무료 리소스를 활용한다면 조금 더 쉬워집니다.!


참고로 위에 소개한 사이트 말고 무료 리소스를 얻을 수 있는 사이트는 많습니다.

개인적으로 괜찮다고 생각하는 사이트를 위주로 소개한 것이니 개인 차는 있을 거에요 :)








WRITTEN BY
사마사마
IT, 게임 그리고 유익하고 재미있는 다양한 정보를 소개합니다.

트랙백  0 , 댓글  0개가 달렸습니다.
secret