Projects

728x90
반응형
· Projects/Dev
파이썬 파일(.py) 파이썬과 AI를 활용한 윈도우용 리네이머 만들기파이썬과 AI를 활용한 윈도우용 리네이머 만들기회사나 집에서 자유롭게 사용할 수 있는 리네이머를 만들어보려고 합니다. 주로 업무에 필요한 부분은1. 포토샵으로 레이어를 개별 PNG파일로 내gameuiux.tistory.com 전 편에서 파이썬과 AI를 사용해서 윈도우용 리네이머를 만들었다.이 파일을 다른 PC에서도 사용할 수 있게 .py 파일이 아닌.exe 파일로 변환하고자 한다. 파이썬 스크립트를 실행 파일로 변환하는 방법은 여러 가지가 있으며,가장 일반적으로 사용되는 방법은 PyInstaller와 cx_Freeze와 같은 패키지를 사용하는 것이다.이 방법들을 통해 파이썬 코드를 .exe와 같은 실행 파일로 변환할 수 있다. PyIns..
· Projects/Dev
파이썬과 AI를 활용한 윈도우용 리네이머 만들기회사나 집에서 자유롭게 사용할 수 있는 리네이머를 만들어보려고 합니다. 주로 업무에 필요한 부분은1. 포토샵으로 레이어를 개별 PNG파일로 내보낸 다음2. 파일명 앞에 붙은 불필요한 이름(_0000_)들을 수동으로 수정해줄때 리네이머가 필요한데챗GPT와 파이썬을 활용해서 간단하게 만들어볼 수 있었습니다.    파이썬 윈도우 리네이머 GUI 구현사용자가 GUI를 통해 디렉토리를 선택하고, 파일 이름에 대한 규칙을 정한 뒤, 미리보기를 통해 확인한 후 파일 이름을 일괄 변경할 수 있도록 구현한 프로그램을 GPT로 생성했습니다. Tkinter를 사용하여 GUI를 생성하고, 사용자가 입력한 규칙에 따라 파일 이름을 변경하는 프로그램이 간단히 생성되었습니다.impor..
ParticleEffectForUGUIUnity UGUI에 파티클 효과를 추가하기 위한 Unity 플러그인기본적으로 3D 공간에서 작동하는 Unity의 파티클 시스템을 2D UI 환경에서도 사용할 수 있게 해준다.   주요 기능UI와 통합파티클 효과를 UI 요소 위에 렌더링할 수 있다. 이를 통해 게임 내 UI에 다양한 시각적 효과를 추가할 수 있다.2D 공간일반적인 파티클 시스템은 3D 공간을 기반으로 하지만, 이 플러그인은 2D 공간에서도 효과적으로 파티클을 사용할 수 있게 해준다. 따라서 UI 레이아웃을 유지하면서 시각적 효과를 추가할 수 있다.마스크 지원마스킹 기능을 지원하여 파티클이 특정 UI 영역에서만 보이도록 제어할 수 있다.이를 통해 UI의 특정 부분에서만 파티클 효과를 보여줄 수 있습니다..
· Projects/Dev
공부 할 때 ChatGPT를 적극적으로 활용해보고 있는데 몇 가지 사례를 기록하려고 한다.   1. 케이스 분석하기파이썬을 처음 배울 때 문자열 결합처럼 겉핥기로 넘어가는 개념들이 몇 가지 있었는데GPT에게 물어보고 아 이게 이런 개념이구나 하며 좀 더 자세히 이해할 수 있었다.   2. 디버깅GPT에게 공부하던 파이썬 코드를 통으로 알려주고 결과 값이나 코드마다 설명을 알려달라는 요청을 하다보면올바르지 않은 값이나 설명을 해줄 때가 있는데그럴때 다시 GPT에게 출력 값을 되물어 보면 코드를 한 줄 씩 다시 체크 하면서 올바른 결과 값을 알려준다.
⛔ Build/buildhtml.framework.js.br 오류Unable to parse Build/buildhtml.framework.js.br! This can happen if build compression was enabled but web server hosting the content was misconfigured to not serve the file with HTTP Response Header "Content-Encoding: br" present. Check browser Console and Devtools Network tab to debug. 구문 분석 오류라고 하는데알아보니 Decompression Fallback을 체크해주면 해결된대서 체크하고 다시 빌드해보니... 아래..
· Projects/Dev
🤔 웹으로 유니티를 빌드할 수 있을까?웹으로도 유니티를 사용한 프로젝트를 빌드해보고 싶어서,그리고 UI 포트폴리오를 웹에서 구현하고 싶어서 간단한 로직이 들어간 할인율 계산기를 만들었다.(모바일은 타깃 디바이스가 여러가지이다 보니 생각보다 공수가 많이 들어간다.)   🤖 ChatGPT 사용하기ChatGPT를 활용해보기로 했다.C# 할인율 계산하는 스크립트 짜줘  using System;namespace DiscountCalculator{ class Program { static void Main(string[] args) { // 원래 가격을 입력받음 Console.Write("원래 가격을 입력하세요: "); ..
Enter Play Mode Settings일부 과정을 생략해서 Play Mode로 진입하는 속도를 향상시켜주는 기술 Edit > Project Settings > Editor 에서 선택
플랫한 디자인의 명일방주, 소녀전선류의 UI 포트폴리오를 만들기 위해아래와 같이 방향성을 정리했다.  컨셉을 게임 UI에 반영하기포스트 아포칼립스 + SF 고립된, 파괴된 세계와 미래적인 기술이 함께 어우러지는 분위기 디자인 - 지저분하고 파괴된 느낌, 파괴된 세계와 고립된 환경을 반영하도록 디자인부서진 글꼴, 깨진 배경, 부식된 텍스처, 홀로그램 느낌 사용 등컬러 - 어두운 색조와 잔해로 가득 찬 느낌회색, 검정, 갈색과 같은 어두운 톤, 일부 강조하기 위한 부분에는 시인성을 위해 눈에 띄는 색감 사용어두운 배경과 밝은 원색 결합해 일부 UI 요소 강조생존과 관련된 요소 반영UI 요소에 생존과 자원 획득의 중요성을 반영하기 위해상태 표시, 자원 수량, 조건 등 강조연출 - 긴급한 상황과 긴밀한 생존 전..
유니티 렌더링 파이프라인(built-in, SRP, URP, HDRP)Render Pipelines렌더 파이프라인은 씬의 내용들을 취하여 컬링(culling), 렌더링(rendering), 포스트프로세싱(post-processing)등의 작업을 수행하고 그것을 스크린에 표시하는 역할을한다. 유니티는 몇가지 서로 다른 렌더 파이프라인을 제공한다(built-in, URP, HDRP)렌더 파이프라인은 모두 다른 기능과 특성을 가지고있다. 사용자는 개발의 초기 단계에서 프로젝트(게임, 어플리케이션, 플랫폼)에 적절한 렌더 파이프라인을 선택하는 것이 중요하다. (프로젝트 중간에 렌더 파이프라인을 다른것으로 변경하는것을 권장하지않는다.)https://docs.unity3d.com/Manual/render-pipel..
유니티상에서 애니메이션이나 트윈으로 파티클 on/off를 제어할 때 작동 중이던 파티클이 아닌 새로 시작되는 파티클을 사용하려면 Prewarm(예열)을 꺼주면 된다. 작동중이던 파티클과 서서히 시작되는 파티클. 파티클 시스템 맨 위에 있다. 가끔 위치를 까먹어서 메모함.
⛔ Starting a Gradle Daemon, 1 incompatible and 2 stopped Daemons could not be reused, use -- status for details Exception while marshalling C:|Program Files|Unity|Hub\Editor|2022.3.22f1\Editor\Data|PlaybackEngines\AndroidPlayer|SDK\build-tools\32.0.0\package.ml. ⛔ Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 ⛔ CommandInvokationFailure: Gradle build failed. ⛔ Build completed with a result o..
시뮬레이터에서 정상적으로 나오는 테스트 광고가 폰에서만 안보이길래 이런저런 방법을 시도해봤는데 혹시나 해서 보니 애드가드가 켜져있었다. 어이가 없었다... 광고가 안나오면 디바이스 애드가드 체크해보기...
애드몹으로 광고를 사용하기 위해서는 부정 클릭으로 인한 계정 정지 등의 불이익 방지를 위해 테스트 기기를 설정해줘야 한다. 구글 애드몹 사이트 설정 페이지로 이동한다. Google AdMob: 모바일 앱 수익 창출 인앱 광고를 사용하여 모바일 앱에서 더 많은 수익을 창출하고, 사용이 간편한 도구를 통해 유용한 분석 정보를 얻고 앱을 성장시켜 보세요. admob.google.com 테스트 기기 추가를 누른 뒤 기기 이름과 플랫폼, 광고 ID/IDFA를 입력해주고 광고 검사기를 선택해준다. 광고 ID는 테스트 폰에서 설정에 들어가 '광고'라고 검색하면 바로 찾을 수 있다. 애드몹 고객센터에 더 자세한 정보가 나와 있음. 테스트 기기 설정 - Google AdMob 고객센터 도움이 되었나요? 어떻게 하면 개선..
⛔오류 이 버전은 Google Play 64비트 요구사항을 준수하지 않습니다. 프로젝트를 구글 플레이 콘솔에 업로드할 때 64비트 지원을 하지 않으면 아래 오류로 플레이스토어에 올릴 수 없다. 유니티에서 64비트 버전을 지원하려면 IL2CPP와 ARM64를 사용해야 한다. 따라서 아래와 같이 수정이 필요함. 💡Player > Scripting Backend > Mono를 IL2CPP로 변경 > ARM64 체크
유니티 실행중 Enter Safe Mode 화면이 뜬 후 정상적으로 실행이 되지 않을 경우 아래와 같은 방법으로 해결할 수 있다.    프로젝트 실행 후 Console에서 오류가 일어난 경로를 확인한다.경로에 Library가 보일 경우 프로젝트 파일 안에서 Library폴더를 통으로 삭제한 뒤 유니티를 재실행 시킨다.    Library폴더는 유니티 실행시 자동으로 다시 생성되기 때문에 삭제해도 무방하다.
Can not sign the application 빌드할 때 해당 경고 문구가 나온다면 아래의 방법으로 해결할 수 있습니다. 해결 방법 File > Build Settings... > Player Settings... Player > Publishing Settings에 만들어뒀던 keystore Password 값을 입력해주면 해결할 수 있습니다.
aab / apk 유니티로 안드로이드 용 실행 파일을 빌드할 때 두가지 옵션을 선택할 수 있습니다. apk - 안드로이드 폰에 바로 옮겨서 테스트할 수 있음 aab - 구글플레이스토어에 등록하기 위해 필요한 파일 빌드 방법 유니티에서 빌드할 때 Build App Bundle (Google Play) 옵션을 체크하면 abb 파일을 빌드할 수 있고 체크하지 않으면 apk 파일을 빌드할 수 있습니다.
서론 21년도에 유튜브보고 만들어둔 프로젝트를 간단히 수정해서 런칭까지 해보았다. https://www.youtube.com/watch?v=EqoU1PodQQ4 플래피버드 -> 새가 점프해서 토관 사이 통과하며 점수쌓는 게임. 수정 방향 -> 달려가는 캐릭터 위아래 허들 넣고 허들 사이 통과하며 점수쌓기. 챗GPT한테 이름도 추천받아 봤는데 뭔가 좀 투머치해서 그냥 플래피런 하기로 했다. 오랜만에 열어본 프로젝트라 먼저 정리를 좀 해보았다. 1. 기존 구현 씬 2개 - 인게임 PlayScene, 게임오버 GameOverScene 씬1 인게임 캐릭터 - 3프레임짜리 애니메이션 아무 곳이나 누르면 캐릭터가 일정 범위 점프 + 뾱 소리 배경 - 뎁스 3단계 (루프 처리) 하늘 / 토관 / 땅 (토관에는 충돌 ..
서론 로고에 빛이 지나가는 애니메이션을 추가해주기 위해 마스크를 적용하고 애니메이션을 추가했습니다. 1. 계층 구조 로고 이미지 안에 그라데이션 이미지를 종속시키고 그라데이션 이동을 위한 Move 오브젝트를 사이에 따로 추가했습니다. 2. 로고 이미지 추가 Logo에 로고 이미지, DOTween Scale 애니메이션, Mask 컴포넌트를 추가합니다. Scale 애니메이션 Loops에 -1을 넣어 반복되게 만들어주고 Type을 Yoyo를 넣고 재생/역재생이 반복되게 만들어줍니다. 3. 이동하기 추가 Move에 DOTween Move 애니메이션을 추가합니다. 좌표를 X -1000정도의 위치에 놓고 TO에 1000정도의 값을 주면 -1000에서 +1000좌표까지 서서히 이동하게 됩니다. Loops에 -1을 넣..
1. 스크립트 작성 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using TMPro; public class TMProHyperLink : MonoBehaviour, IPointerClickHandler { TextMeshProUGUI m_TextMeshPro; Camera m_Camera; Canvas m_Canvas; void Start() { m_Camera = Camera.main; m_Canvas = gameObject.GetComponentInParent(); if (m_Canvas.renderMode == RenderMode.ScreenS..
서론 수정을 정신없이 하다보면 플레이 상태에서 수정하게 되는 불상사가 일어나는 경우가 있습니다. 테스트만 할 때는 플레이 상태로 수정해도 되지만 저장이 필요할 때는 플레이 상태가 아닐때 수정을 해야하는데 손쉽게 구분을 해주는 방법이 있습니다. 세팅 변경 Unity > Settings에 들어가면 Colors에 Playmode tint가 있는데 CCCCCC로 되어있는 회색을 원하는 색상으로 수정해주면 됩니다. 확인 하기 그럼 플레이를 누를 경우 UI에 컬러 틴트가 적용되어 플레이 상태라는 것을 쉽게 인지할 수 있게 됩니다.
서론 수정 중인 프로젝트에 일시정지를 구현해주기 위해 버튼과 스크립트를 추가했습니다. 구현할 것 이미지 - 일시정지 버튼, 계속 하기 버튼 기능 - 게임 일시정지, 계속 하기 버튼 토글 스크립트 public class Paused : MonoBehaviour { bool IsPause; void Start () { IsPause = false; } void Update () { } public void ButtonPause(){ Time.timeScale = 0; IsPause = true; } public void Buttonplay(){ Time.timeScale = 1; IsPause = false; } public void PausedSetActiveFalse(){ gameObject.SetAct..
해상도 대응을 해줘야 하는 이유 기기 상하단에 아래 이미지 처럼 UI가 들어갈 경우 게임 뷰에서는 정상적으로 보이는 반면, 시뮬레이터 뷰에서는 노치 영역(카메라, 아이폰 홈 바)까지 UI가 들어가게 된다. 이 영역 내부에만 UI가 그려지게끔 만들어주면 되는데 SafeArea 스크립트를 사용하면 간단히 해결할 수 있다. SafeArea 스크립트 using System.Collections; using System.Collections.Generic; using UnityEngine; public class SafeArea : MonoBehaviour { RectTransform _rectTransform; Rect _safeArea; Vector2 _minAnchor; Vector2 _maxAnchor; ..
프리팹(오브젝트) 만들기 메인 로비에 붙여서 사용할 임시 로딩 팝업을 만들기 위해 씬에 Loading 오브젝트를 하나 추가한 뒤 스크립트를 추가해줬다. 스크립트 작성 public class ObjectActiveToggle : MonoBehaviour { void Start() { Invoke("Disable", 3f); } void Disable() { gameObject.SetActive(false); } } Disable에 정해진 조건에 오브젝트가 비활성화 될 수 있게 gameObject.SetActive(false)를 작성 후 Start에 조건 Invoke("Disable", 3f)를 추가해주면 된다. 결과 3초 뒤 Loading 오브젝트가 비활성화 되는 결과를 얻을 수 있다. 참고 https:/..
TMP 폰트가 두 개 이상 필요한 경우 경우에 따라 게임에서 영문 외에 한국어 일본어 중국어 태국어 등 다양한 언어를 지원해야 할 상황이 생기는데 아래의 방법을 사용하면 언어 별로 다른 폰트를 섞어서 사용할 수 있습니다. 메인 폰트 생성하기 메인으로 사용할 영문 폰트를 하나 생성해줍니다. https://gameuiux.tistory.com/57 [Unity/유니티] TMP(TextMeshPro) 영문 폰트 추가하기 프로젝트에 사용할 폰트 추가 Assets > TextMesh Pro > Fonts 폴더 안에 사용할 폰트 파일을 추가합니다. 폰트 TMP용도로 만들기 폰트 애셋 크리에이터 창을 열어줍니다. Window > TextMeshPro > Font Asset Creator So gameuiux.tist..
폰트를 추가하는 방식 추가 방식은 영어와 동일합니다. https://gameuiux.tistory.com/57 [Unity/유니티] TMP(TextMeshPro) 영문 폰트 추가하기 프로젝트에 사용할 폰트 추가 Assets > TextMesh Pro > Fonts 폴더 안에 사용할 폰트 파일을 추가합니다. 폰트 TMP용도로 만들기 폰트 애셋 크리에이터 창을 열어줍니다. Window > TextMeshPro > Font Asset Creator So gameuiux.tistory.com Character Sequence 한글 유니코드 추가하기 폰트 애셋 크리에이터 창에서 Character Sequence 안에 아래의 숫자를 입력해줍니다. 44032-55203,12593-12643,8200-9900 한글 범..
프로젝트에 사용할 폰트 추가 Assets > TextMesh Pro > Fonts 폴더 안에 사용할 폰트 파일을 추가합니다. 폰트 TMP용도로 만들기 폰트 애셋 크리에이터 창을 열어줍니다. Window > TextMeshPro > Font Asset Creator Source Font File에 추가한 폰트를 드래그합니다. 나머지 값들은 필요에 따라 수정합니다. Sampling Point Size : Auto 사이즈 자동 / Custom 사이즈 지정 Padding : 글자 간격(패딩) Packing Method : Fast Atlas Resolution : 아틀라스 사이즈 Character Set : Custom Range Character Sequence : 포함할 문자의 유니코드(Unicode) > ..
와이어 프레임 전체 플로우를 고민하면서 공통으로 사용할 리소스를 정리하고 있다. Splash Loading Main Lobby - 컷씬 연출 - 튜토리얼 연출 넣을지 고민 중 (캐릭터 시나리오 대사, 터치 가이드 이펙트) 하단바 팝업 - 풀팝업 - 모달 ui 팝업 - 이벤트 배너 / 광고 제거 / 도움말 팝업 등 - 미니 팝업 (경고 팝업, 확인 팝업 등) 필요하면 더 추가하기로 유니티 기본 세팅 빌드 세팅 안드로이드 변경, 빌드할 씬 추가 사용할 TMP 폰트 추가 Common Object 추가 및 정리 중 해상도 대응 DoTween 추가 공통 리소스를 먼저 정리하고 배리언트 프리팹으로 불러와서 작업 할 예정.
1. 빌드세팅에 사용할 씬 추가하기 0번 Splash - 플레이할 때 나오는 시작 화면 1번 MainLobby - 시작 화면에서 아무 곳이나 누를 경우 이동하는 메인 로비 빌드세팅 단축키 Ctrl+Shift+B 씬을 드래그해서 추가하면 된다. 2. 스크립트 작성 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class SceneLoadManager : MonoBehaviour { public void SceneChange() { SceneManager.LoadScene("MainLobby"); } } 새 스크립트를 추가한 뒤 4번 줄에 ..
유니티 프로젝트를 커밋할 때 불필요한 임시 파일이 잡히는 경우가 있는데 아래와 같은 방법으로 해결할 수 있다. 1. TortoiseSVN 저장소 우클릭 TortoiseSVN > Properties New > Other 클릭 svn:ignore 선택 아래 리스트를 모두 추가하면 된다. Library Temp obj *.DotSettings *.csproj *.pidb *.sln *.suo *.unityproj *.user *.userprefs 추가 후 OK 클릭 2. SnailSVN Lite 같은 방식으로 SVN Settings > Ignores에 위의 리스트를 추가해주면 된다.
728x90
반응형
gameuiux
'Projects' 카테고리의 글 목록