글

라벨이 Unity인 게시물 표시

[유니티] 애드몹(Admob) 정보

구글 모바일 광고(GoogleMobileAds) 애드몹(admob) 유니티  구글 애드몹 회원가입(https://www.google.co.kr/admob/)  어플별 광고 ID를 생성하고 광고 종류(베너, 전면, 비디오)에 따라 추가적인 ID를 생성한다. ID생성 절차 없이 광고 테스트만 해보고 싶다면 테스트 광고 ID (https://developers.google.com/admob/unity/test-ads)를 참고 한다. 유니티 애드몹 개발 참고(https://developers.google.com/admob/unity/start) 유니티 애드몹 플러그인 다운(https://github.com/googleads/googleads-mobile-unity/releases/tag/v3.11.1) 유니티 애드몹 샘플(https://github.com/googleads/googleads-mobile-unity)

[유니티] 구글 지도 출력 샘플

이미지
유니티에서 구글 지도 출력 // Google Maps API // https://developers.google.com/maps/documentation/static-maps/intro public RawImage kRawImg ; public string strBaseURL = " https://maps.googleapis.com/maps/api/staticmap?center= " ; public double dLatitude = 37.4014171 ; // 위도(판교) public double dLongitude = 127.1102274 ; // 경도(판교) public int iMapZoom = 14 ; public int iMapWidth = 640 ; // 무료 지원 최대 해상도 public int iMapHeight = 640 ; // 무료 지원 최대 해상도 public string strPath = " weight:3%7Ccolor:blue%7Cenc:{coaHnetiVjM??_SkM??~R " ; public string strGoogleAPIKey = " " ; // 본인이 발급 받은 API 키 입력(없어도 됨) IEnumerator map ( ) { string url = strBaseURL + dLatitude + " , " + dLongitude + " &zoom= " + iMapZoom . ToString ( ) + " &size= " + iMapWidth . ToString ( ) + " x " + iMapHeight . ToS...

[유니티] 동적리소스 관리(Memory Pool, ResourceManager)

using UnityEngine ; using System . Collections . Generic ; // GameObject vaPlayerObj = ResourceManager.CreateInstance("Player"); // OtherObj vaOtherObj = ResourceManager.CreateInstance("Other"); // ResourceManager.Get.Release(); public sealed class ResourceManager : MonoBehaviour { private static ResourceManager ms_Instance ; public static ResourceManager Get { get { if ( ms_Instance = = null ) ms_Instance = new ResourceManager ( ) ; return ms_Instance ; } } private Dictionary < string , CACHED_OBJECT > m_hCachedObjTable = new Dictionary < string , CACHED_OBJECT > ( ) ; public struct CACHED_OBJECT { public enum eLinkType { RESOURCE , BUNDLE } public UnityEngine . Object obj ; public eLinkType type ; public AssetBundle bundle ; } public T CreateInstance < T > ( strin...

[유니티] NGUI 참고

이미지
링크 모음 NGUI: Next-Gen UI kit  3.7.2 UIToggleExecute(토글 강제 실행) [ SerializeField ] private List < UIToggle > toggles ; private void UIButtonExecute ( UIButton btn ) { for ( int i = 0 ; i < toggles . Count ; i + + ) { UIButton button = toggles [ i ] . GetComponent < UIButton > ( ) ; if ( button . GetInstanceID ( ) = = btn . GetInstanceID ( ) ) { EventDelegate . Execute ( button . onClick ) ; // 버튼 강제 실행 toggles [ i ] . value = true ; // 토글 그룹에 변경 적용 break ; } } } TweenScale Up/Down(커졌다 작아지는 효과) // ScaleUp/Down 애니 public void UIBounceScale ( GameObject kObj ) { float fDurationSec = 0.5 f ; // 애니메이션 시간 Vector3 vToFrom = new Vector3 ( 0.8 f , 0.8 f , 0.8 f ) ; // 시작 스케일 Vector3 vToScale = new Vector3 ( 1.0 f , 1.0 f , 1.0 f ) ; // 최종 스케일 float fDurati...

[수학] 회전, 이동 관련 코드

한 축으로 타겟(targetAngle) 지점까지 회전 object . transform . eulerAngles = new Vector3 ( 0 , 0 , Mathf . LerpAngle ( object . transform . eulerAngles . z , targetAngle , Time . deltaTime * fSpeed ) ) ; 타겟을 방향으로 이동 public Transform m_kTargetTrans ; private Transform m_kCachedTrans ; private const float m_fMoveSpeed = 1.0 f ; void Start ( ) { m_kCachedTrans = gameObject . GetComponent < Transform > ( ) ; } private void UpdatePosition ( ) { Vector3 kDir = m_kTargetTrans . position - m_kCachedTrans . position ; kDir . Normalize ( ) ; // 정규화 하면 정속 주행 안하면 감속 주행(값으 크기 차로 인해) kDir * = m_fMoveSpeed * Time . deltaTime ; m_kCachedTrans . position - = kDir ; } 진행 방향으로 회전 2D private void FixedUpdate ( ) { Vector2 kTargetVel = GetComponent < Rigidbody2D > ( ) . velocity ; // 속도(방향과 속력) Vector2 kDir = kTargetVel . normalized ; ...

[유니티] 참고 링크

C# 연산자( MSDN ) C++ 개발자를 위한 C# C++와 C# 비교 C#, 유니티 클래스 참고(devkorea) Mathf    // 유니티 수학관련 클래스 시간 마다 호출 (Invoke, Coroutine{WaitForSeconds(delayTime)}) 리소스 에셋번들(AssetsBundle) 최적화 최적화 모음

[유니티] 관련 코드 모음

코르틴(Corotine) StartCoroutine ( Do ( ) ) ; protected IEnumerator Do ( ) { yield return null ; // 다음 프레임까지 대기 yield return new WaitForSeconds ( float seconds ) ; // 지정된 초 만큼 대기 yield return new WaitForFixedUpdate ( ) ; // 다음 물리프레임까지 대기 yield return new WaitForEndOfFrame ( ) ; // 모든 렌더링작업이 끝날 때까지 대기 yield return StartCoroutine ( IEnumerator routine ) ; // 다른 코르틴이 끝날 때까지 대기 yield return new WWW ( string url ) ; // 웹 통신 작업이 끝날 때까지 대기 yield return new AsyncOperation ; // 비동기 작업이 끝날 때까지 대기(씬로딩) do { yield return null ; // 무한 루프 방지 } while ( false ) ; } Mathf   // 유니티 수학관련 클래스 // 입력 된 value 값이 최소 값(_minRadius), 최대 값(_maxRadius)을 범위로 제한 public float _radius , _minRadius , _maxRadius ; public float redius { get { return _radius ; } private s...

[사례] 유니티 오류 "Resource re-package failed!"

오류(유니티 빌드 도중) Failed to re-package resources - solution 원인 Game Play Games Services 패키지 삭제 후 다시 임포트 한 후 발생 GooglePlayGamesPlugin-0.9.36 해결 임포트 후 "AndroidManifest.xml" 파일을 갱신 안해서 생긴 문제 <Unity Menu>Windows>Google Play Games>Setup>Android Setup 에서 다시 Setup 해줌 참고

[사례] 유니티오류 "... Main manifest has but library uses minSdkVersion='14'"

이미지
[사례] 유니티오류 "... Main manifest has <uses-sdk android:minSdkVersion='9'> but library uses minSdkVersion='14'" 오류 Android Studio 2.3버전 설치 후 안드로이드 빌드 과정에서 오류 발생 CommandInvokationFailure: Unable to merge android manifests. See the Console for more details. C:/Program Files/Java/jdk1.8.0_111\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="C:/Android/sdk\tools" -Dfile.encoding=UTF8 -jar "C:\Program Files\Unity_5_5\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar" - stderr[ Error: [Temp\StagingArea\AndroidManifest-main.xml:12, C:\Users\Yong Ja\Desktop\GPGSTest\Temp\StagingArea\android-libraries\play-services-auth-10.2.1\AndroidManifest.xml:2] Main manifest has <uses-sdk android:minSdkVersion='9'> but library uses minSdkVersion='14' ...  원인 최소 minSdkVersion='14' 버전은 써야 한다. 설치된 Android SDK 최소 사용 버전 이하로 빌드 하였다. 해결 unity 빌드 셋팅에서 Android API 최소 사용 버전을 수정 PlayerSetting...

[사례] 유니티오류 " Unable to list target platforms ... \Tools\sdktools.jar"

이미지
[사례] 유니티오류 " Unable to list target platforms ... \Tools\sdktools.jar" 오류 상황 Android Studio 2.3버전으로 새로 설치 후 유니티에서 안드로이드 빌드 빌드 중단, 아래와 같은 오류 메시지 출력  Error building Player: CommandInvokationFailure: Unable to list target platforms. Please make sure the android sdk path is correct. See the Console for more details. C:/Program Files/Java/jdk1.8.0_111\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="C:/Android/sdk\tools" -Dfile.encoding=UTF8 -jar "C:\Program Files\Unity_5_5\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar" - stderr[ Error:Invalid command android ] stdout[ ] exit code: 64 원인, Android/Java SDK 호환성 오류로 보임 해결 이동  Mac: https://dl.google.com/android/repository/tools_r25.2.3-macosx.zip?hl=id Windows: https://dl.google.com/android/repository/tools_r25.2.3-windows.zip?hl=id 다운 " tools_r25.2.3-windows.zip " 압출 풀면 "tools"디렉토리 생성 복사 "C:\Android\sdk\tools" 해당 경로에 기존 폴더 ...

[사례] 유니티 오류 "애플리케이션이 예상치 않게 중지되었습니다. 다시 시도해 주세요", "E/GamesNativeSDK /android/gms/games/NativeSdkCallback"

이미지
[사례] Google Play Games Service 연동 오류 Google Play Games Service(이하 GPGS) 오류 오류 정리 휴대폰 상에서 "000애플리케이션(com... 프로세스)이 예상치 않게 중지되었습니다. 다시 시도해 주세요" logCat에서 03-28 16:44:40.729 5705-5731/? E/GamesNativeSDK: Exception in dalvik/system/DexClassLoader.loadClass: java.lang.IncompatibleClassChangeError: com/google/android/gms/games/NativeSdkCallbacks. 03-28 16:44:40.729 5705-5731/? E/dalvikvm: ERROR: couldn't find native method 03-28 16:44:40.729 5705-5731/? A/libc: Fatal signal 11 (SIGSEGV) at 0x00000018 (code=1), thread 5731 (main) 03-28 16:44:41.079 1465-1977/? E/BatteryObserver: usb Uevent not necessary. 03-28 16:44:41.639 1250-1427/? E/InputDispatcher: channel '429345d0 com.ee.SocialSDK/com.unity3d.player.UnityPlayerActivity (server)' ~ Channel is unrecoverably broken and will be disposed! 03-28 16:44:42.049 1465-1977/? E/BatteryObserver: usb Uevent not necessary. 03-28 16:44:43.819 8029-8040/? E/LGEmail: Email Not Started (at LGEmailContentProvider.jav...