블로그 이미지
1인 개발자 (므쮸 컴퍼니) 개인 블로그 입니다. MMZZUU

카테고리

므쮸 컴퍼니 (22)
▣ Game (3)
▣ Unity 게임 만들기 (14)
▣ 정보공유 (5)
Total
Today
Yesterday

 환경 

  • 작성일 2016/12/02
  • OS X El Capitan 10.11.6
  • Unity 5.3.6f1


 이슈내용 

게임 개발중 갑자기 오류가 뜨고 비정상 종료가 됐는디~ 

다시 프로젝트를 열었더니 하얀화면만 뜨고 내 맥북이 죽을 듯이 돌기만 할 뿐...

열리지도 에러메시지가 뜨지도 않고 더 이상 진행되는 것 없이 뻗어있다!!!


 해결방법 

Library (라이브러리) 폴더를 삭제하고 다시 열기를 합니다.


그리고 프로젝트를 다시 열면~

뭔가 다시 임포트해야 한다고 뜨는데~ 과감히  [Continue]를 클릭~!


삭제된 에셋들을 마구 불러오기 시작합니다.


그리고 조금만 기다리면~?

만들어둔 프로젝트가 아주 잘열립니다.

빈 씬이지만~ 아주 잘 열립니다.

저장해 둔 씬을 로드해보면 아무 이상없이 열리고

플레이어 세팅도~ 저장이 잘 되어 있습니다.


감사합니다 이번 이슈도~ 극뽁~!

Posted by MMZZUU
, |

유니티에서 UI객체를 클릭 혹은 터치를 했을 때 게임 중 입력 이벤트를 처리하는 부분과 같이 처리되는 문제가 발생하는 경우가 많은데요~


이런경우엔,




using UnityEngine.EventSystems;


...


if (EventSystem.current.IsPointerOverGameObject(pointId)return;




EventSystem.current.IsPointerOverGameObject(pointId)


함수는 포인터가 중간에 UI객체를 만나면 true 를 뱉어내는 함수입니다.


pointId : 터치 또는 마우스 ID 입니다


요걸로 게임중 입력이벤트 이전에 컷트해버리는 식으로 처리하면 됩니다.




예제코딩


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void Update () {
    if (Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.IPhonePlayer) {
        if (Input.touchCount > 0)
        {
            for (int i = 0; i < Input.touchCount; i++) {
                if (EventSystem.current.IsPointerOverGameObject(i))
                    return;
            }
        }
        print ("터치!!!");
    } else {
        if (Input.GetMouseButtonDown (0)) {
            if (EventSystem.current.IsPointerOverGameObject())
                return;
            print ("클릭!!!");
        }
    }
}
cs


위 코딩으로 테스트 해보시면 모바일 터치환경과 에디터환경에서 테스트 차이를 확인가능합니다.

Posted by MMZZUU
, |

모바일 플렛폼 작업 시 유의사항

  1. 메쉬 정점 수 ( 최대한 소프트 엣지로 제작 )
  2. 단순 셰이더 ( 퍼픽셀 연산은 자제 )
  3. 알파블렌딩 피하기 ( 이펙트 및 GUI 제작시 신경쓰기 )
  4. 기기별 최적의 텍스쳐 포맷 사용
  5. Reference Type 사용 자제 ( 최대한 Value Type, struct사용 )
  6. Conroutine 사용
  7. Update보다 FixedUpdate사용
  8. 자주 연산이 불필요한 루틴은 InvokeRepeating 사용
  9. Light Map Bake 반드시 필수
  10. Application.targetFrameRate 옵션 필수 ( iOS )
  11. VSync Off 옵션 필수
  12. 자주사용하는 지역변수는 전역변수 선언 사용
  13. Object Pool은 선택이 아닌 필수
  14. Drawcall 체크(100 이하 권장)


Posted by MMZZUU
, |


 환경 

  • 작성일 2016/10/12
  • OS X El Capitan 10.11.6
  • Unity 5.3.6f1


 이슈내용 


유니티에서 비정상 종료된 후 다시 프로젝트를 열었을 때


특정 스프라이트가 깨져서 분홍분홍 하게 나옴



1 번이 제대로 나오는 스프라이트

2번이 깨진 스프라이트


물론 스프라이트 지정도 제대로 되어있으나 분홍분홍이로 나옴



 해결방법 


두 오브젝트의 차이점을 찾아보던 중...


아래 두 그림처럼 2번째 분홍이들의 Material이 날아감(None)을 확인했다.






2번 오브젝트도 MaterialSprites-Default로 세팅 해 줬더니 해결됨~




잘 알아보지도 않고 매번 몇개 안된다고 새로 만들곤 했었는데... 이렇게 간단한 거였다니 ;;;


역시 꼼꼼해야 한다...


어쨋든...


극뽁~!

Posted by MMZZUU
, |



 환경 

  • 작성일 2016/10/07
  • OS X El Capitan 10.11.6
  • Unity 5.3.6f1


 이슈내용 


유니티에서 AdMob을 넣고 빌드한 Xcode 프로젝트를 플레이 하려는데 


Xcode에서 아래의 에러를 뱉어냄... 퉷~

Module 'GoogleMobileAds' not found

GoogleDevelopers에 써있는대로 Add Files to "Unity-iPhone"... 으로 


GoogleMobileAds.framework 를 추가를 했는데도 위 에러가 나는게 아닌가?





 해결방법 


Add Files to "Unity-iPhone"... 으로 GoogleMobileAds.framework 를 추가할때


SDK선택창에서 Option을 눌러 Copy item if needed 를 체크하면 됩니다



극뽁~!

Posted by MMZZUU
, |

1. 애드몹 모바일용 유니티 플러그인(Google Mobile Ads Unity Plug-in)을 다운로드



다운로드 링크https://github.com/googleads/googleads-mobile-unity/releases/tag/v2.2.1


사용이 편리한 유니티 패키지로 다운로드



2. 패키지를 Import   스크립트를 생성

패키지를 실행하여 Import 한 뒤에 빈 오브젝트를 만들고 

AdmobManager.cs 스크립트를 생성해 오브젝트에 붙여줍니다


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using UnityEngine;
using System.Collections;
using UnityEngine.Advertisements;
using GoogleMobileAds.Api;
 
public class AdmobManager : MonoBehaviour {
    public static AdmobManager instance { get; set; }
 
    public string admobAndroidUnitId;
    public string admobIosUnitId;
    public AdPosition adPosition;
 
    private BannerView admobBanner;
    private AdRequest admobRequest;
 
    void Start () {
        if (Application.platform == RuntimePlatform.Android) {
            // Android
            admobBanner = new BannerView(admobAndroidUnitId, AdSize.Banner, adPosition);
        } else if (Application.platform == RuntimePlatform.IPhonePlayer) {
            // iOS
            admobBanner = new BannerView(admobIosUnitId, AdSize.Banner, adPosition);
        }
 
        if (admobBanner != null) {
            admobRequest = new AdRequest.Builder().Build();
            admobBanner.LoadAd(admobRequest);
            admobBanner.Show();
        }
    }
}
cs


admobAndroidUnitId : 애드몹 Android 유닛 아이디

admobIosUnitId : 애드몹 iOS 유닛 아이디

adPosition : 배너 위치



3. 모바일로 테스트

에디터나 PC테스트로는 확인 할 수가 없으므로 모바일로 빌드하여 테스트 합니다.



Posted by MMZZUU
, |

1. 구글 가입하기

  • 애드몹을 사용하기 위해선 우선 구글계정이 필요합니다. 구글에 가입하세요


2. 구글 애드몹 가입하기

  • 에드몹 홈페이지에서 가입하기를 누르시고 구글계정으로 로그인 해주세요

  • [ + 새로운 앱에서 수익 창출 ] 을 누르고 광고를 생성합니다

  • ( 1 ) 앱 선택     >     앱 직접 추가

  • 앱 이름을 적고 플랫폼을 선택합니다 (Android, iOS)    >     [ 앱 추가 ] 클릭

  • ( 2 ) 광고 형식 선택 및 광고 단위 이름 지정     >     원하는 광고형태를 선택 (저는 '배너'를 선택하였습니다)

  • '광고 유형'은 텍스트, 이미지 두가지 모두를 선택하고 자동새로고침 빈도만 '120'초로 수정 했습니다 

  • 새로고침 될때 게임에 랙이 발생할 수 있어서 최대한 새로고침 시간을 길게 했습니다

  • '광고 단위 이름'은 자신이 알아보기 쉽게 적습니다 (저는 "텍스트/이미지 배너 120" 이라고 지었습니다)

  • ( 3 ) Firebase 애널리틱스 설정(선택사항) : 건너뛰기 합니다. 이부분은 선택사항인데 좀 더 세밀한 통계등을 확인 할 수 있다고 하는데 추가 작업이 필요한것 같아 선택하지 않습니다

  • ( 4 ) [ 확인 ] 하여 광고 생성을 완료합니다


3. Android SDK설치 및 경로설정

  • 자신의 OS에 맞는 안드로이드 SDK를 설치 하고 경로 설정을 해주어야 합니다

  • Unity   >   Preferences   >   External Tools   >   SDK   >   Android SDK 에 경로를 지정해주시면 됩니다


Posted by MMZZUU
, |

우선 성질급한분들을 위한 링크부터 투척!!!

http://www.sonniss.com/gameaudiogdc2016



음향 효과 전문 판매사이트인 SONNISS.COM에서 

2015년에 이어 또 한번 무료 고퀄음향효과를 무료로 배포하는

고마운 일을 저질러 주네요~!!!


지난 3월 14~18일 미국에서 개최됐던 'GDC(게임 개발자 컨퍼런스) 2016'을 기념해서

사이트에서 보유하고 있던 음향효과 일부를 무료로 공개했다고 합니다.





역시 통큰 엉아들~ ( +ㅂ+)乃




직접 다운로드받아서 다 들어봤지말입니다.




게임이나 영상만들때 사용하면 더할나위 없이 좋은 퀄리티입니다.




일단 투척한 링크로 들어가 보시면

http://www.sonniss.com/gameaudiogdc2016



여러 다운로드 방법이 있지만 직접링크로 다운로드 받으시는 걸 권장합니다.

용량이 11.9기가 정도되니 ㅎㅎ 어마어마하군요 ㅇ,.ㅇ;

다운로드속도는 쭉쭉 잘나와줍니다~ ( +ㅂ+)乃



 


효과음이 너무 많아서 일일이 다 적을 순 없지만

효과음만 총 653개정도가 됩니다.

폴더별로 구분도 잘 되어 있고~ (물론영어지만...)

라이센스관련 문서도 들어있습니다.



대충 구글번역기를 돌려보고 내용을 확인했을 땐


해당 효과음 파일들에 대해 로열티가 없고 무제한으로 사용해도 좋다고 되어있습니다.


다만, 이 사운드파일들을 원본그대로 재판매한다거나 하는 것만 아니면

게임이나 영상 등등~ 자신의 콘텐츠에 넣어서 

상업적 사용이 가능하다는군요~!!!


아래는 각 사운드별 폴더가 정리된 상태입니다.

보시고 필요하신 사운드가 있는지 확인해보세요 ^^



SonnissGDC2016AudioBundlePart1of6



SonnissGDC2016AudioBundlePart2of6



SonnissGDC2016AudioBundlePart3of6



SonnissGDC2016AudioBundlePart4of6



SonnissGDC2016AudioBundlePart5of6



SonnissGDC2016AudioBundlePart6of6




잘사용하시길 바래요~


Posted by MMZZUU
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함