본문 바로가기

GameDevelopmentDiary

유니티용 복셀 셰이더 with ChatGPT 1. Voxel art 스타일 셰이더 생성2. 라이팅 설정 1.  Voxel art 스타일 셰이더 생성   이유:  만약 1인 개발을 한다고 가정해봤다. Voxel art 스타일이 너무 예쁜데 상상임에도 불구하고 접근을 주저하게 되었다. 리소스 제작에 들어가는 부담이 크기 때문이었다. 일일히 모델링 하고 애니메이션 만들자니 시간이 너무 걸리고, 해놓은 리소스를 구하자니 1voxel 단위 맞추기도 쉽지 않겠다는 생각이 들었다.  그렇다면 Pixel2D 느낌의 셰이더처럼 voxel 셰이더도 만들어보면 괜찮겠다는 생각으로 코드를 두드려보았다.   Chat GPT 사용한 제작기: 더보기  유니티 엔진에서 사용할 shader 제작이나 편집을 마지막으로 해본 때가 어디보자... 한 7,8년 쯤 되었는데 기본 ,sh..
3 Match 장르 게임 3 (7-9일차 총 9시간) 작업내용 타일 브러시 - 기능 추가: Ctl+Click 으로 직선 그리기 - 위치 및 테스트 아이콘 추가) 맵 저장/불러오기 - 타일 맵 저장, 다른이름으로 저장 GUI 와이어 프레임 - 타일 맵의 이름 설정 후 Json 형식으로 로컬폴더에 저장 - 불러오기 직선 그리기 코드 점이 이동하며 그리는 직선은 타일맵 위를 지나며 좌표계에서 중심각이 45도를 넘지 않는다. 이때 점이 X축 기준으로 한 타일의 거리만큼 이동할 때, 두 개의 타일을 지나는 경우를 탐색했다. (더 좋은 탐색 방법이나 빼먹은 경우의 수가 있다면 조언 부탁드립니다!) 코드 더보기 // BrushButtonsWidget /// /// 시작점에서 끝점까지 그린 직선에 걸리는 타일의 타입을 선택된 브러시 타입으로 변경. /// public b..
3 Match 장르 게임 2 (4-6일차 총 10시간) 진행 상황: 범위 확장(3Match Game -> 3Match Game & Editor) 및 타일 브러시 현재 사용되는 클래스 Engine - TileManagerGUI : EditorWindow (맵 생성 변수 조절) - PuzzleManager : MonoBehaviour (퍼즐 변수 관리) - TileMapComponent : MonoBehaviour (맵 생성 및 타일들 관리) - RestedTiles (타일 게임 오브젝트 풀링) - TileComponent : MonoBehaviour - UIManager : MonoBehaviour - BrushButtonsWidget - CursorComponent 목표작업에서의 변경사항 타일 생성에 관련된 옵션을 추가하려던 중, 사용자가 일일히 타일을 설정..
Test Selfie segmentation on unreal editor 모바일 사용(Google IP Web Cam) 1.0 버전 실행 순서: IP Webcam 실행 - 제작한 MediaPipe 웹 실행 - NDI 실행 및 웹 페이지 스크린 캡쳐 - 언리얼 실행 - url 입력 방식: 원본 이미지와, 웹 페이지의 변환 이미지를 언리얼에서 합성. 결과: 굉장히 느리고 실행 과정이 복잡. JS code 더보기 // main.js // HTMLElements setting const inputElement = document.getElementsByClassName('input_video')[0]; const outputElement = document.getElementsByClassName('output_canvas')[0]; const canvasCtx = outputEle..
Unreal Python 에디터에서 리소스를 만지작 거리는 와중에 귀차니즘이 스멀스멀 올라왔다. 본격적으로 파이썬을 다뤄본적 없었지만, 파이썬 플러그인을 사용하면 에디터용 함수를 만들 수 있다고 하여 찾아보았다. Unreal Python 설정 1. 플러그인 설치 Scripting 항목에 보이는 세 개의 플러그인을 설치 후 재시작. 2. 플러그인 환경설정 기본적으로 Contents/Python 폴더에 배치하는 경우는 적을 필요 없지만, 프로젝트 외부에 존재하는 파일의 경우 환경변수를 설정해준다. 설정 창 위치: ProjectSetting - Plugin - Python 3. unreal.py 준비 에디터 출력 로그 창의 입력 탭을 변경해주고(Cmd -> Python), 언리얼 명령 모듈을 불러온다. 그러면 unreal.py 파일을..
3 Match 장르 게임 1 (1-3일차 총 9시간) 3Match 장르: 애니팡, 캔디크러시 같은 게임 장르. 진행 상황: 타일맵 제작기 틀 잡는중. 현재 사용되는 클래스 Engine - TileManagerGUI : EditorWindow (맵 생성 변수 조절) - PuzzleManager : MonoBehaviour (퍼즐 변수 관리) - TileMapComponent : MonoBehaviour (맵 생성 및 타일들 관리) - RestedTiles (타일 게임 오브젝트 풀링) - TileComponent : MonoBehaviour - UIManager : MonoBehaviour 맵 생성에 남은 조건. 타일 - 허용 타입 추가 (총 기본타입, 위치고정 여부, 매치 가능여부) 타일맵 컴포넌트 - 타일 생성 시 매치 되는 위치를 허용하는지 거부하는지 옵..
Install Google MediaPipe Google MediaPipe는 구글의 화상 미팅 서비스 Google Meet 내부에 사용되는 안면인식 솔루션 중 하나이다. 1. MSYS2 설치 및 PATH 환경변수 설정 2. 필요 페키지 설치 C:\> pacman -S git patch unzip 3. 파이썬 설치 및 PATH 환경변수 설정 4. WinSDK 와 Visual C++ Build Tools 2019 Visual C++ 경우 VisualStudioInstaller 먼저 설치 후, 해당 인스톨러로 설치 5. Bazel 5.0 이상 버전을 설치 후 PATH 환경변수 설정 C:\> npm install -g @bazel/bazelisk 설치 가이드 6. Bazel 변수 설정 # Please find the exact paths and versi..
Mobile AOS XR Study - Remote camera in PC 2. Remote camera in PC 잘 만들어진 앱과 플러그인이 있는 듯 한데, 유료(약 7만원)여서 튜토리얼들을 찾아보았다. 준비 플러그인 - Web Browser 준비 앱 - ip webcam 방법 ip webcam 연동 설치 및 실행 - 주소확인 - UMG의 web browser 안으로 주소 할당 플레이어 폰에 해당 위젯 컴포넌트 생성 크로마키 머티리얼 기존 크로마키 머티리얼에서 MediaTexture 사용 부분을 일반 SampleTexture로 변경. 메인 UI 위젯 생성 시 이미지 위젯의 머티리얼 인스턴스 다이나믹도 같이 생성. ip webcam 사용 시 해당 다이나믹 머티리얼 인스턴스의 텍스쳐 파라미터를 웹 브라우져 캡쳐로 변경. (GetRenderTarget 노드).