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

카테고리

분류 전체보기 (2851)
Unity3D (894)
Programming (479)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (189)
협업 (64)
3DS Max (3)
Game (12)
Utility (142)
Etc (99)
Link (34)
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
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://tiplog.co.kr/1360

 

DPC WATCHDOG VIOLATION 블루 스크린 에러 - 해결 과정들 정리

 사실 컴퓨터에서 블루스크린을 발생시킬만한 에러들은 그 에러명을 검색해보면 대부분 알 수 있습니다. 모든 에러의 원인이 단 한 가지만 존재하는 경우보다 그렇지 않은 경우가 적긴 하지만

tiplog.co.kr

 

반응형
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
, |

[링크] Rainbow Brackets

Utility / 2022. 4. 27. 18:09

[VS용 링크] https://marketplace.visualstudio.com/items?itemName=2gua.rainbow-brackets 

 

Rainbow Brackets - Visual Studio Marketplace

Extension for Visual Studio Code - A rainbow brackets extension for VS Code.

marketplace.visualstudio.com

 

[링크] https://plugins.jetbrains.com/plugin/10080-rainbow-brackets

 

Rainbow Brackets - IntelliJ IDEs Plugin | Marketplace

🌈Rainbow Brackets for IntelliJ based IDEs/Android Studio/HUAWEI DevEco Studio.

plugins.jetbrains.com

 

반응형
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
, |

[문제]

캐릭터가 카메라에 가까이 있어서 캐릭터의 일부만 보일 때, 손 등 일부가 렌더링이 되지 않음.

 

[원인]

캐릭터의 일부(손) 기본 자세 Bound가 카메라 밖에 있어서 카메라 안쪽에 없다 판단하고 렌더링을 하지 않고 있음

 

[해결]

Mesh Renderer의 Update When Offscreen 옵션을 true(체크)로 변경

 

 

[참조] https://docs.unity3d.com/kr/2018.4/Manual/class-SkinnedMeshRenderer.html

 

스킨드 메시 렌더러 - Unity 매뉴얼

Unity는 메시의 모양이 미리 정의된 애니메이션 시퀀스에 따라 변형되는 Bone 애니메이션의 렌더링을 위해 Skinned Mesh Renderer 컴포넌트를 사용합니다. 캐릭터 뿐만 아니라 (조인트가 힌지처럼 기능

docs.unity3d.com

오프스크린일 때 업데이트(Update When Offscreen)

기본적으로 어떤 카메라에도 보이지 않는 스킨드 메시는 업데이트 되지 않습니다. 메시가 스크린에 다시 나타날 때까지 스키닝은 업데이트 되지 않습니다. 이는 시스템을 절약하기 위해서입니다.

오브젝트의 가시성은 메시의 Bounds 에서 결정됩니다(전체 바운딩 영역은 모든 활성화된 카메라의 뷰 밖에 있어야 합니다). 하지만 애니메이션 메시의 트루 바운딩 영역은 애니메이션이 재생되면서 변경될 수 있습니다(예를 들어 캐릭터가 공중으로 손을 들어 올리면 영역은 커집니다). Unity는 최대 바운딩 영역을 계산할 때 첨부된 모든 애니메이션을 고려하지만 일어날 만한 모든 경우를 예측하기 위해 바운드를 계산할 수 없는 경우도 존재합니다.

다음의 각 예제 상황은 뼈대나 버텍스를 미리 계산된 바운딩 영역 밖으로 밀어낼 때 문제가 됩니다.

  • 런타임에 애니메이션이 추가된 경우
  • 추가 애니메이션
  • 스크립트에서 뼈대의 포지션을 순서대로 바꿀 때
  • 버텍스를 미리 계산된 바운드 바깥으로 밀어내는 버텍스 셰이더를 사용할 때
  • 래그돌을 사용하는 경우

이런 문제에는 두 가지 해결책이 있습니다.

  1. 바운드를 수정해 메시의 잠재적 바운딩 영역을 일치시키기
  2. Update When Offscreen 을 활성화해 스킨드 메시를 항상 스킨 및 렌더링합니다.

일반적으로 퍼포먼스가 더 나은 첫 번째 옵션을 사용해야 합니다. 하지만 퍼포먼스가 주요 관심사가 아니거나 (래그돌을 사용할 때처럼)바운딩 영역의 크기를 예측할 수 없는 경우에 두 번째 옵션을 추천합니다.

스킨드 메시가 래그돌과 더 잘 작동하기 위해 Unity는 임포트할 때 스킨드 메시 렌더러를 루트 뼈대에 자동으로 리맵합니다. 하지만 이는 모델 파일에 스킨드 메시 렌더러가 하나일 때만 해당됩니다. 이는 스킨드 메시 렌더러 전체를 루트 뼈대이나 자식에 첨부하지 못하고 래그돌을 사용하면 이 최적화를 해제해야 함을 뜻합니다.

반응형
Posted by blueasa
, |

[링크] https://blog.naver.com/blueport_blog/222147592992

 

Visual Assist 제거하기

Visual Assist는 PC가 아닌 개발자별로 라이선스가 부여됩니다. 라이선스 키가 사용자 계정으로 등록되...

blog.naver.com

 

반응형
Posted by blueasa
, |

[링크] https://opchacha.tistory.com/7

 

구글스토어 aab (150Mb이상)파일 업로드방법

구글스토어 150MB 이상 AAB올리는방법 1. google-play-plugins-1.5.0.unitypackage 다운 및 설치https://github.com/google/play-unity-plugins/releases" target="_blank" rel="noopener" data-mce-href=" https:..

opchacha.tistory.com

 

반응형
Posted by blueasa
, |

[링크] https://docs.unity3d.com/Packages/com.unity.localization@1.2/manual/index.html

 

About Localization | Localization | 1.2.1

About Localization Use the Localization package to configure localization settings for your application. Add support for multiple languages and regional variants, including: String localization: Set different strings to display based on locale. Use the Sma

docs.unity3d.com

 

반응형
Posted by blueasa
, |