블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2838)
Unity3D (886)
Programming (479)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (188)
협업 (64)
3DS Max (3)
Game (12)
Utility (140)
Etc (99)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (52)
Android (16)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (19)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

pod 를 업그레이드 후에 pod install 시에 다음과 같은 경고 문구를 만날 수 있다.

[!] Your project does not explicitly specify the CocoaPods master specs repo. Since CDN is now used as the default, you may safely remove it from your repos directory via `pod repo remove master`. To suppress this warning please add `warn_for_unused_master_specs_repo => false` to your Podfile.

 

이 이슈와 연관이 있다. git 기반의 MasterSource 대신 CDN 기반의 TrunkSource 로 변경되었기 때문. 하지만 BLM 과 관련 있는 듯.

이것도 Master 라는 용어를 사용하지 않기 위함?? github 에서 메인 소스 브랜치 이름이 master 에서 main 으로 변경된 것과 비슷한 이유인듯. 추정..

github.com/CocoaPods/CocoaPods/pull/8923

 

pod repo list 를 해보면 기존 git master ,  CDN trunk 두개가 존재하는 것을 볼 수 있다.

master
- Type: git (master)

- URL:  github.com/CocoaPods/Specs.git

- Path: /Users/thewavelet/.cocoapods/repos/master

trunk
- Type: CDN

- URL:  cdn.cocoapods.org/

- Path: /Users/thewavelet/.cocoapods/repos/trunk

 

경고 문구 대로

pod repo remove master

를 해서 master 는 지워주자.

 

 

[출처] https://thewavelet.tistory.com/49

 

cocoapods 업데이트 repo 변경사항. Git MasterSource 에서 CDN TrunkSource 로

pod 를 업그레이드 후에 pod install 시에 다음과 같은 경고 문구를 만날 수 있다. [!] Your project does not explicitly specify the CocoaPods master specs repo. Since CDN is now used as..

thewavelet.tistory.com

 

반응형
Posted by blueasa
, |

1. pod 삭제

pod deintegrate

2. pod 클린

pod cache clean --all

3. pod 설치

pod install

 

 

[출처] https://eloquence-developers.tistory.com/149

 

[React Native] iOS pod 삭제, 클린, 설치 명령어

1. pod 삭제 pod deintegrate 2. pod 클린 pod cache clean --all 3. pod 설치 pod install

eloquence-developers.tistory.com

 

반응형
Posted by blueasa
, |

[에러 내용]

  • 기기에서 앱을 실행하면 'dyld: Library not loaded: @rpath/FBAudienceNetwork.framework' 오류와 함께 바로 중단됩니다. 이 오류는 앱에 Audience Network SDK를 포함하지 않았다는 것을 의미합니다. 타겟 설정으로 이동하고 '일반' 탭에서 'FBAudienceNetwork.xcframework'에 '포함 및 서명'을 선택하세요.

 

[해결방법]

출처 링크의 내용에서는 Xcode에서 처리하는 방법을 써놨는데, 유니티 사용하는 상황에서 추가 작업을 Xcode에서 하면 귀찮아져서 Xcode PostProcessor에서 아래 소스 추가함.

[추가한 소스코드] pbxProject.AddFrameworkToProject(targetGuid, "FBAudienceNetwork.framework", true);

 

 

[출처] https://developers.facebook.com/docs/audience-network/setting-up/platform-setup/ios/add-sdk?locale=ko_KR

 

SDK 추가 - Audience Network - 문서 - Facebook for Developers

SDK 버전 6.9.0 이상에 대한 문제 해결 6.9.0부터는 iOS Audience Network SDK에서 Swift를 지원합니다. SDK 설치 및 Swift 상호운용성과 관련하여 가장 일반적으로 발생하는 문제를 해결하려면 아래의 내용을

developers.facebook.com

 

반응형
Posted by blueasa
, |

Firebase(or Google Analytics)에서 성별/연령이 나오다가 어느 시점에 안나오도록(수집 안되도록) 기본설정을 바꾼 것 같다.

 

예전에 셋팅을 해서 켰었는데 포스팅을 안하고 지나가서 가물가물 했는데 새로운 프로젝트 셋팅하면서 찾아서 활성화 시켜본다.

(이걸로 기억하는데 아닐수도 있음..;;)

 

 

Google Analytics - 관리(좌측하단) - 속성 - 데이터 설정 - 데이터 수집

 

설정할 곳은 Firebase가 아닌 Google Analytics쪽이다.

 

Google Analytics - 관리(좌측하단) - 속성 - 데이터 설정 - 데이터 수집 으로 가서 

Google 신호 데이터 수집, 사용자 데이터 수집 확인을 활성화 한다.

 

기본 설정이 비활성 상태기 때문에 활성화한 이후부터 데이터가 수집 되는 것 같다.

필요하다 생각되면 프로젝트 오픈전에 미리 활성화 해두자.

반응형
Posted by blueasa
, |

Unity 2018.4.36f1

Xcode 13.4.1

 

[Error Message]

[Attribution] updatePostbackConversionValue returned error: 작업을 완료할 수 없습니다.(SKANErrorDomain 오류 10.).

 

 

iOS 빌드하고 실행에 별다른 문제는 없지만 위와 같은 에러가 떠서 뭔가하고 찾아봤는데,

Apple 측 답변으로는 에러메시지는 뜨지만 정상 동작하고 있다는 것 같다.

무시..

 

[참조]

Got an answer from Apple:

There has been an issue identified starting iOS 15.3, where the view through APIs may return an "unknown error", in cases when no error has actually occurred. In 15.3 that error is ASDErrorDomain:500. In 15.4 that error is now defined in the public SDK as SKANErrorDomain:SKANErrorUnknown (value 10). However, in those cases no functional error has actually occurred. The impression was recorded by the system.

We recommend that you ignore all errors of type ASDErrorDomain:500 / SKANErrorDomain:SKANErrorUnknown (value 10), as they are not real errors. The impression is recorded on the device regardless of those errors.

 

[출처] https://developer.apple.com/forums/thread/699442

 

SKAdImpression unknown 500 error | Apple Developer Forums

In iOS 15.3 method SKAdNetwork.startImpression() returns an error in completionHandler: MyTestApp(StoreKit)[560] : SKAdNetwork: Error in remote proxy while starting view-through impression: Error Domain=ASDErrorDomain Code=500 "SKAdNetwork: Unknown error"

developer.apple.com

 

반응형
Posted by blueasa
, |

- ParticleSystem, Spine, TMP 등 Renderer를 가진 오브젝트들을 NGUI 위에 올리고 Depth를 맞추기 위한 소스

  (NGUI Widget의 Depth 제어 부분을 Renderer를 가진 오브젝트에서도 셋팅되도록 함)

- 출처에서는 ParticleSystem용으로 이름을 지어놨는데 어차피 Renderer를 가지고 있는 것들은 다 되는거라 이름 변경함

 

NGUIRendererWidget.cs
0.00MB

 

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;


[AddComponentMenu("NGUI/UI/NGUI Renderer Widget")]
public class NGUIRendererWidget : UIWidget
{
    protected Renderer m_Renderer;
    protected Material m_Mat;

    public override Material material
    {
        get
        {
            return m_Mat;
        }

        set
        {
            if (m_Mat != value)
            {
                RemoveFromPanel();
                m_Mat = value;
                MarkAsChanged();
            }
        }
    }

    protected override void OnEnable()
    {
        Init();
        base.OnEnable();
    }

    protected void Init()
    {
        if (null == m_Renderer)
        {
            m_Renderer = GetComponent<Renderer>();
        }

        if (null == m_Renderer)
        {
            return;
        }

        if (null == material)
        {
            if (false == Application.isPlaying)
            {
                material = m_Renderer.sharedMaterial;
                m_Renderer.sharedMaterial = material;
            }
            else
            {
                material = m_Renderer.material;
                m_Renderer.material = material;
            }
        }
    }

    private void OnWillRenderObject()
    {
        if (null != drawCall && drawCall.finalRenderQueue != material.renderQueue)
        {
            material.renderQueue = drawCall.finalRenderQueue;
        }

        if (Application.isPlaying == true && m_Renderer.material != material)
        {
            m_Renderer.material = material;
        }
    }

    public override void OnFill(List<Vector3> verts, List<Vector2> uvs, List<Color> cols)
    {
        for (int i = 0; i < 4; i++)
        {
            verts.Add(Vector3.zero);
            uvs.Add(Vector2.zero);
            cols.Add(color);
        }
    }
}

 

[출처] https://tenlie10.tistory.com/169

 

[Unity | 유니티] NGUI와 ParticleSystem간 Depth 조정

ParticleSystem에 해당 스크립트를 추가하고 타 NGUI 컴포넌트처럼 Depth값을 조정하면 된다. UIParticleWidget.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 32 33..

tenlie10.tistory.com

 

반응형
Posted by blueasa
, |
public class CoroutineHelper : MonoBehaviour
{
    private static MonoBehaviour monoInstance;
    
    [RuntimeInitializeOnLoadMethod]
    private static void Initializer()
    {
        monoInstance = new GameObject($"[{nameof(CoroutineHelper)}]").AddComponent<CoroutineHelper>();
        DontDestroyOnLoad(monoInstance.gameObject);
    }
    
    public new static Coroutine StartCoroutine(IEnumerator coroutine)
    {
        return monoInstance.StartCoroutine(coroutine);
    }

    public new static void StopCoroutine(Coroutine coroutine)
    {
        monoInstance.StopCoroutine(coroutine);
    }
}

 

 

사용법 :

CoroutineHelper.StartCoroutine(코루틴_함수());

CoroutineHelper.StopCoroutine(코루틴);

 

그냥 유니티 생명주기를 가진 한 싱글톤 객체에 코루틴 실행을 몰아주는 방식

가끔 MonoBehaviour 상속 안 받고 코루틴 실행하고 싶을 때가 있는데 그럴때 사용할 수 있을듯..

 

예전에 unirx(MainThreadDispatcher)한 번 사용해본적 있었는데 거기서 아이디어 얻음

 

[출처] https://gall.dcinside.com/mgallery/board/view/?id=game_dev&no=66595

 

유니티 MonoBehaviour 상속 안 받고 코루틴 사용하기 - 인디 게임 개발 마이너 갤러리

public class CoroutineHelper : MonoBehaviour{ private static MonoBehaviour monoInstance; [RuntimeInitializeOnLo

gall.dcinside.com

 

반응형
Posted by blueasa
, |

[링크] https://github.com/nhn/gpm.unity

 

GitHub - nhn/gpm.unity: A brand of NHN providing free services required for game development.

A brand of NHN providing free services required for game development. - GitHub - nhn/gpm.unity: A brand of NHN providing free services required for game development.

github.com

 

Game Package Manager for Unity

🌏 English

🚩 목차

개요

Game Package Manager는 NHN에서 게임 제작에 필요한 서비스들을 무료로 제공하는 브랜드입니다.
게임 제작에 필요한 서비스는 계속 추가 예정입니다.
서비스 개선 사항이나 궁금한 사항은 아래로 언제든지 연락 주시기 바랍니다.

Email : dl_gpm_help@nhn.com
GitHub Issue : https://github.com/nhn/gpm.unity/issues

서비스

서비스설명

Manager
Asset Store에서 다운로드
Manager에서 서비스 목록을 확인할 수 있고, 원하는 서비스를 설치, 제거, 업데이트할 수 있습니다.
WebView 게임에서 다양하게 사용할 수 있는 웹뷰를 제공합니다.
AssetManagement 유니티 에셋들을 손쉽게 관리할 수 있는 툴입니다.
UI Unity UI를 보다 효율적으로 사용할 수 있는 컴포넌트 제공.
LogViewer Unity Log와 디바이스 시스템 정보를 화면에서 확인할 수 있고, 개발자가 미리 등록한 API를 호출해 볼 수 있는 툴입니다.
Communicator Communicator는 하나의 공통화된 인터페이스를 제공해 Native와 Data를 쉽게 주고 받을 수 있는 프레임웍입니다.
Profiler 디바이스 성능과 시스템 정보를 화면에서 확인할 수 있어 최적화에 도움을 주는 툴입니다.
Adapter Adapter는 하나의 공통화된 인터페이스를 제공해 여러 IdP의 기능을 쉽게 적용할 수 있습니다.
DLST DLST는 중복되는 라이브러리들을 검색해서 지울 수 있는 툴입니다.

📜 License

This software is licensed under the MPL © NHN.

반응형

'Unity3D > Plugins' 카테고리의 다른 글

[펌] Playing Video in Unity  (0) 2022.11.25
[링크] [Unity] Canvas/UI에 영상 넣는 방법(Raw Image, Render Texture)  (0) 2022.11.25
[링크] Localization(AppName)  (0) 2022.04.05
[Package] Unity Quick Search  (0) 2022.02.18
[링크] UniTask  (0) 2022.01.11
Posted by blueasa
, |

[요약]

Scene View 껐다 다시 키자.

 

 

[링크] https://ssscool.tistory.com/498

 

유니티 씬뷰에서 UI, 오브젝트 모두 선택이 안될 때 ( Unity Can't select object in scene view )

유니티 씬뷰에서 UI, 오브젝트 등 모두 선택이 되지 않을 때 ( Unity Can't select object in scene view ) 유니티 에디터 버전을 2019.4 LTS 에서 2020.3 LTS로 버전업을 했다. 2019.4 버전대의 고질병인 JDK, SD..

ssscool.tistory.com

 

반응형
Posted by blueasa
, |

  [참고 사항]

- Scale 제거하면 AnimationClip(.anim) 파일 용량이 오히려 늘어남

   = 유니티 에디터의 Animation Editor에서 사용하는 정보값을 넣는다고 함(아래 링크 내용 참조)

   = 빌드 할 때는 에디터 관련 정보는 제거하고 들어감(빌드해서 확인함)

   = 애니메이션 파일을 에셋번들 빌드해도 관련 정보 제거하고 줄어드는 걸 볼 수 있음

 

- Unity Editor에서 '메모리 프로파일러' 등으로 보면 런타임 메모리도 오히려 늘어남

   = 위의 에디터용 정보가 들어간채로 로드 되는 듯 함(에디터의 프로파일러를 모두 신뢰하지 말라고 함(?) 아래 참조링크 참조)

   = 실제 런타임 메모리는 실제 사용할 디바이스(폰 등)에서 확인해야 함(폰 빌드하고 메모리 프로파일러로 런타임 메모리 줄어드는 것 확인 함)

 

 

[링크] https://mgun.tistory.com/2046

 

animation 최적화

케릭터에 붙어있는 애니메이션이 많을수록 케릭터 로딩이 느려진다. 한 스테이지에 케릭터가 10개가 나온다고 가정하고, 각 케릭터가 가져야 할 애니메이션 갯수가 영웅일 경우 20개, 적군일 경

mgun.tistory.com

 

[참조] https://forum.unity.com/threads/animationutility-seteditorcurve-makes-clip-file-size-bigger.410230/

 

AnimationUtility.SetEditorCurve makes clip file size bigger?

Hi, I jusy try to duplicate AnimationClip data from FBX file, and remove some unuse curve. Oh it's Generic Animation, not Humaroid. First, I use Ctrl...

forum.unity.com

 

반응형
Posted by blueasa
, |