본문 바로가기

전체 글

(37)
AI 활용으로 영상 만들기 + 우수 서포터즈 선정 개요시흥시 AI 숏폼 공모전에 참여했습니다.Claude Fable5에 higgsfield 연결해서 작업했습니다.나름 요령이 생겨서 다음부터 프롬프트 작성을 잘하면 더 좋은 퀄리티의 영상을 만들 수 있을 거 같네요.+ 우수 서포터즈(3등) 선정 됐습니다.영상 작업 (간략히)각종 이미지 + 영상 만들어주는 웹 사이트 higgsfield와 연결했습니다.상세 기획 + 영상 생성까지 Claude에서만 진행했습니다.이런식으로 사진을 업로드받아 레퍼런스로 활용도 가능합니다.시흥시 홍보였기 때문에 레퍼런스는 필수적이었습니다. 영상이 이상하게 뽑히면 다시 생성하도록 지시할 수 있습니다.느낀점후기 + 제작 파이프영상 제작이 그렇게 원만하지만은 않았습니다. 4~5시간 정도 쓴거같습니다.higgsfield에서 영상 생성을 할..
[Unity] Particle Effect for UGUI 개요파티클 시스템으로 연출을 계획하던 중 현재 개발 중인 게임이 UI위주의 게임이라 Particle Effect for UGUI를 설치했다.이 라이브러리는 사용중인 파티클 시스템에 UI Particle이라는 컴포넌트만 달아주면 UI 캔버스에서 표현해 주기 때문에 아주 편리하다.추가로 오픈소스로 코드를 공개하고 있다.설치에셋스토어 유료버전을 사용하거나, git주소를 이용한 Package Manager를 통해 설치하면 된다. https://github.com/mob-sakai/ParticleEffectForUGUI.git GitHub - mob-sakai/ParticleEffectForUGUI: Render particle effect in UnityUI(uGUI). Maskable, sortable, an..
[유니티] 타이밍 미니 게임 개요게임이 좀 정적이기 때문에, 몰입감을 높이기 위해 타이밍을 맞혀 터치하는 미니 게임을 만들었다.성공하면 원래 강화확률의 15%, 실패시 5% 확률 감소를 적용했다.결과 (1.5배속) 구현코드 기획미니 게임 클래스 MiniGameResult 작성IMiniGame 인터페이스를 만들고, 강화 시도에서 미니게임 발생 시 미니게임 결과를 기다릴 수 있도록 UniTask Play()함수를 작성View, Controller로 구분하고 UI 표시해주는 StrikePointView, StrikePoint 클래스 작성Model에서 사용자 입력을 대기할 수 있는 UniTaskCompletionSource 클래스 객체를 사용사용자 입력 감지시 View의 커서값과 포인트 좌표(초록 부분)를 대조 → 강화 시도로 돌아와서 값..
[개발] SOLID 원칙 개요오늘은 SOILD 원칙에 대해서 쭉 정리해두려고한다. 물론 이 2000년대 초반의 원칙이 모든 상황에서의 법도는 아니지만, 동시에 그만큼 기초적인 개발 원칙이고 알고는 있어야하니 정리해둔다.먼저 SOLID란SIP (Single Responsibility, 단일 책임 원칙)OCP (Open-Closed, 개방-폐쇄 원칙)LSP (Liskov Substitution, 리스코프 치환 원칙)ISP (Interface Segregation, 인터페이스 분리 원칙)DIP (Dependency Inversion, 의존성 역전 원칙)의 다섯개 원칙(Principle)을 뜻한다.하나씩 살펴 보도록 하겠다.ㆍ 단일 책임 원칙 (Single Responsibility Principle)"클래스는 변경되어야 할 이유가 단..
[Unity] UniRx 활용한 드래그 앤 드랍 이벤트 개요유니티 UI에 정말 많이 사용되는 UniRx에는 유용한 기능이 많은데오늘은 그 중OnBeginDragAsObservable, OnDragAsObservable, OnEndDragAsObservabl를 활용한 인벤토리 아이템 스왑이다.UniRx 설치를 안 했다면 : https://buly.kr/9BXNVIf (유니티 에셋 스토어 링크) UniRx - Reactive Extensions for Unity | 기능 통합 | Unity Asset StoreUse the UniRx - Reactive Extensions for Unity from neuecc on your next project. Find this integration tool & more on the Unity Asset Store.asse..
[유니티 최적화] ClosedXML 활용 엑셀데이터 베이킹 개요데이터 베이킹(Data Baking)은 로우 데이터(Raw data)를 정제하고 가공하여 특정 목적(AI 학습, 분석 등)에 바로 사용할 수 있는 상태로 만드는 과정을 요리 과정에 비유한 용어입니다.구체적으로 다음과 같은 단계를 포함합니다:데이터 수집 및 선택 (재료 준비): 필요한 데이터를 모으고 품질이 좋은 데이터를 골라냅니다.데이터 정제 (손질): 중복되거나 잘못된 값(노이즈)을 제거합니다.데이터 변환 및 인코딩 (반죽): 컴퓨터나 모델이 이해할 수 있는 형식(예: 수치화, 벡터화)으로 바꿉니다.최종 가공 (굽기): 모델 학습에 최적화된 데이터셋 형태로 고정하거나 패키징합니다.주로 AI 모델 학습 전처리 과정에서 "데이터가 잘 구워졌다(잘 준비되었다)"는 의미로 쓰이기도 하며, 최근에는 블록체인..
유니티 6.0 버전에서 NugetForUnity 사용하기 유니티는 IDE에서 NuGet 패키지를 받아도 정상적인 사용이 불가능한데,그 이유는 기본으로 유니티 솔루션에 포함된 프로젝트 Assembly-CSharp 등은 유니티가 자동으로 생성·관리하는 특수 어셈블리라서 개발자가 직접 참조를 추가하거나 수정할 수 없기 때문이다. 그래서 유명한 유니티 패키지가 NuGetForUnity인데, 유니티 6.0에서 다소 처리가 필요하다. 1. 패키지 매니저 버튼 클릭6.0 버전 이전인경우 상단 Window → Package Manager 클릭 2. Install package from git URL... 클릭 6.0 버전 이전인경우 Add package from git URL... 클릭 3. 아래 URL 복사 붙여넣기https://github.com/GlitchEnzo/N..
[트러블 슈팅] 클래스는 참조형이다. 클래스에는 기본값이 있다. 클래스의 멤버 변수 int a가 있고 인스턴트를 생성했을 떄,int a는 0으로 취급된다.bool b는 false로 취급한다.컴파일 에러 방지를 위한 기본값이다이렇듯 값 형태의 멤버 변수들은 인스턴트 시 기본값을 가진다. 그런데, 주소를 참조하는 형태인 참조형의 기본값은 null이다. 해당 코드에서 문제가 생겼다.if (!File.Exists(path)) // 게임 세이브 파일의 미존재시싱글톤 패턴을 적용한 GameManager의 멤버변수 wrapper~머시기.slots는 PreviewData(미리보기 데이터) 를 새로 할당한다. 그리고 slots[0]의 bool값을 조회한 코드를 작성했더니 널 레퍼런스가 떴다.디버그를 찍어보면 3칸짜리 배열에 값은 null로 비어 있다. 왜..