종잇장
언제까지 유니티만 할거냐

전체 글

Unity Tips

C# Dictionary를 foreach로 탐색할 때 Values 프로퍼티를 사용하세요

안녕하세요Dictionary를 Linq로 호출하는 성능 테스트 중에 이상한 점을 발견하여 블로그로 적게 되었습니다.유니티 버전: 2022.3.44f1  foreach (var keypair in dictionary){ if (keypair.Value.GroupID == groupID) { // ... // }}데이터를 찾기 편하게 Dictionary를 사용하는 경우가 많은데, 개발하다 보면 Key가 아닌 값으로 찾아야 하는 경우가 종종 있습니다.이럴 때 위 코드처럼 foreach를 이용해서 찾게 됩니다.  https://learn.microsoft.com/ko-kr/dotnet/api/system.collections.generic.dictionary-2.values?view..

Unity Tips

UniTask 사용 후기

안녕하세요.진행하는 프로젝트에서 UniTask를 사용했는데, UniTask를 어느 상황에서 좋았는지 공유해 볼까 합니다.https://github.com/Cysharp/UniTask GitHub - Cysharp/UniTask: Provides an efficient allocation free async/await integration for Unity.Provides an efficient allocation free async/await integration for Unity. - Cysharp/UniTaskgithub.com  좋았던 경우 주로 네트워크 혹은 패치 다운로드와 관련된 싱글턴 객체, 데이터 혹은 리소스를 관리해주는 싱글턴에서 매우 유용하게 사용했습니다. C#의 Task를 통해 다른 스..

Unity VContainer

VContainer #2 - 의존성 주입 방법

의존성 주입 받는 방법기본적으로 VContainer 네임스페이스에 Inject Attribute를 사용하여 주입받을 맴버를 선언하도록 설정하고 있습니다. 프로퍼티, 필드class ClassA{ [Inject] IServiceA serviceA { get; set; } [Inject] IServiceB serviceB;}이전 글에서도 잠깐 다뤘던 프로퍼티나 필드에 주입하는 방법입니다. 생성자class ClassA{ readonly IServiceA serviceA; readonly IServiceB serviceB; readonly SomeUnityComponent component; public ClassA( IServiceA serviceA..

Unity VContainer

VContainer #1 - 설치 및 실행

VContainer 설치 Package Manager 좌측상단 [+] 버튼을 클릭해서 [Add package from git URL...] 메뉴를 클릭합니다. https://github.com/hadashiA/VContainer.git?path=VContainer/Assets/VContainer위 주소를 입력한 후 [Add] 버튼을 클릭하여 설치합니다. Unity Package Manager에 대해 자세한 방법은 매뉴얼 확인해보시면 됩니다.https://docs.unity3d.com/Manual/upm-ui.html Unity - Manual: Package Manager windowLoading SSH keys automatically on macOS Access the Package Manager w..

Unity VContainer

VContainer #0 - Unity에서 DI(Depencency Injection)를 사용하기

DI(Depencency Injection) 란? "하나의 객체가 다른 객체의 의존성을 제공하는 테크닉." "프로그램 디자인이 결합도를 느슨하게 되도록 하고 의존관계 역전 원칙과 단일 책임 원칙을 따르도록 클라이언트의 생성에 대한 의존성을 클라이언트의 행위로부터 분리하는 것"https://ko.wikipedia.org/wiki/%EC%9D%98%EC%A1%B4%EC%84%B1_%EC%A3%BC%EC%9E%85 의존성 주입 - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. 소프트웨어 엔지니어링에서 의존성 주입(dependency injection)은 하나의 객체가 다른 객체의 의존성을 제공하는 테크닉이다. "의존성"은 예를 들어 서비스로 사용할ko.wikipedia.org 유지보수에 용이..

Unity Tips

Unity 2020.2버전 이상에서 빌드 할 때 Spine Mesh 최적화로 느려지는 문제

개요 안녕하세요. 작업하는 프로젝트 빌드가 너무 오래 걸려 짬날 때마다 확인하다 Unity에서 Spine Runtime Package에서 원인을 찾아 포스팅으로 남겨봅니다. Unity: 2022.1.15f1 Spine Package: spine-unity 4.0 2022-09-26 (Last updated: UTC - 2022 Sep 26) 발생 문제 빌드를 시작하면 `Begin` 이나 `BuildPreProcess` 단계에서 장시간 머물러있는 상황이었습니다. Unloading 5 Unused Serialized files (Serialized files now loaded: 0) Unloading 1364 unused Assets / (33.2 MB). Loaded Objects now: 5279. M..

Unity Fungus

Unity Fungus #8 - Sound (Voice, SFX, BGM) 추가

1. Say Command에 Voice 추가 https://typecast.ai/ AI Voice Generator with Emotional Text to Speech The online AI voice generator that can turn your text into life-like speech. Over 400+ hyper-realistic voices. Create your content just the way you want it! typecast.ai 저는 블로깅을 위해 Typecast로 샘플을 만들었습니다. 이전에 만들었던 Say Command에 Voice Over Clip 프로퍼티에 만들어준 보이스를 추가했습니다. 일일이 추가해준 결과물입니다. 2. SFX 추가 (Play Sound..

Unity Fungus

Unity Fungus #7 - 배경 설정하기

샘플 이미지 다운로드 출처: https://alte.itch.io/uncle-mugens-backgrounds 제가 샘플로 사용한 이미지입니다. View 설정하기 상단메뉴 [Tools] → [Create] → [View]를 통해 캐릭터를 추가해 줍니다. 새로 추가한 배경을 Project View에서 Hierarchy View로 드래그 후에, View의 하위로 넣어줍니다. 이후에 하위로 들어간 이미지는 좌표를 초기화해주셔야 합니다. View에서 Ratio를 직접 입력하거나 선택하여 설정해 주고, View Size를 배경이미지 크기에 맞춰서 조절해 주세요. 실행되는 Flowchart의 Block에 Fade To View Command를 추가해 주세요. Block 가장 상단으로 드래그하여 순서를 조정하고, T..

Unity Fungus

Unity Fungus #6 - 캐릭터 대화하기

새로운 캐릭터 추가 이전에 배운 대로 캐릭터를 더 추가했습니다. 캐릭터 Portrait을 추가하고 두 캐릭터가 대화하듯이 Say Command를 추가해 주었습니다. 현재까지 진행한 것 만으로는 두 캐릭터가 대화하듯이 만들어줄 수가 없네요. 말을 해야 할 캐릭터를 앞으로 나오도록 해주겠습니다. Portrait 앞으로 이동시키기 첫 번째 캐릭터가 말하기 전에 Portrait Command를 추가하고 Display를 Move To Front로 설정해 줍니다. Move To Front 만으로도 쉽게 해결되었습니다. 하지만, 역시 겹쳐있는 게 불편해 보입니다. 다음에는 위치를 분리시켜 보겠습니다. Portrait 위치 변경하기 두 번째 캐릭터가 등장 할 위치를 At Position값을 Right로 설정해서 오른쪽..

Unity Fungus

Unity Fungus #5 - 캐릭터 설정

샘플 이미지 다운로드 https://unity-chan.com/download/releaseNote.php?id=CogenCityAllStarsPortraitsVol1 Unity-Chan! コーゲンシティ・オールスターズ キャラクター立ち絵パック Vol.1 - ダウンロード - UNIT アドベンチャーゲームやノベルゲームでの使用を想定したキャラクター立ち絵素材集です。 第一弾では大鳥こはく、神林ゆうこ、藤原みさきの三キャラクターがラインナップ。 高解像度PNG unity-chan.com 저는 샘플 이미지로 무료로 공개되어 있는 유니티짱 포트릿을 사용했습니다. 새로 추가하는 이미지들 Texture설정에서 Texture Type을 Sprite로 바꿔주세요. 상단메뉴 [Edit] → [Project Settings...] → [Edi..