DevLog 24

DT 기능 에디터 만들기 GoogleSheetURLParser Class 설명

1. GoogleSheetURLParser Class 에디터 만들기 위해선 일단, 정규 표현식이란 개념을 숙지해야 한다.웬 뜬금없이 정규 표현식? 이라는 의문을 가지기 쉬운데,정규 표현식 사용을 통해 문자열에서 특정 패턴을 찾거나 검증하거나 추출하는 데 사용되는 개념이기 때문이다. 구글 스프레드 시트 URL 주소를 통해 특정 패턴을 찾아서, 변수 값을 추출한 뒤 그 변수 값으로 시트를 분별하여 DT를 가져올 것이기 때문이다. 정규 표현식이란,특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. 이러한 정규 표현식을 활용하기 위한 네임 스페이스는using System.Text.RegularExpressions 이다. 정규 표현식을 통해,Google Sheet URL에서 spreadShe..

구글 엑셀 연동 DT 관리 - GoogleDTTemplate 클래스 정리

https://github.com/kwon1232/HDProject GitHub - kwon1232/HDProjectContribute to kwon1232/HDProject development by creating an account on GitHub.github.com 목차1. 개요2. 전체 구조 설명 주요 코드 상세 해설 ScriptableObject 클래스 자동 생성 데이터 타입 추론 구글 시트에서 ScriptableObject 생성 3. 실제 사용 방법 4. 실무 활용 및 확장 포인트 5. 전체 코드 예시 1.개요 이 툴은 크게 GoogleDTEditor.cs를 중심으로 GoogleDTTemplate.sc, GoogleSheetLoader.sc, SOGenerator.cs 파일로..

[HDProject]QuestSystem 초안 구상

확장 가능성을 열어둔 퀘스트 시스템을 제작하는 것이 목표이다. ScriptableObject 기반 구조조건 / 보상 모듈화이벤트 기반 처리UI 연동저장 / 로드 기능퀘스트 트리 기능 (연계 퀘스트)보상 타입 다양화 (경험치, 아이템, 등등)구글 시트 연동 클래스 사용시나리오 정렬 검색샘플 씬에서 퀘스트 잘 돌아가는지 확인하기퀘스트 UI 제작보상 Grant 시 인벤토리, 경험치 시스템 연동Addressables 기반 리소스 매핑 자동화UI에서 보상 미리보기 지원퀘스트 완료 시 팝업 애니메이션 연출전반적인 구조QuestSystem├── Core├── Runtime├── Editor├── UI├── Data└── Sheets DT 퀘스트 별 분할 기준 DT 구상하기 퀘스트 타입 연계UIAssetInfo->P..

[HDProject] NPC AI LLM dialogue System 서버 연동 및 UI 구현 中

https://github.com/kwon1232/HDProject 텍스트 동적할당 에디터 툴이랑 같이 작업해서둘 다 더욱 작업 속도가 더뎌졌다.하나 빨리 끝내놓고 하기.디버깅 많이 생각하기 힘들었던 것유니티 함수나, 클래스 이런 거 잘 몰라서 헤매기도 했고,좀 익숙하지 않아서 더욱 더뎠다.왜인지는 모르겠으나 String List로 잘 받아왔는데,Next 버튼누른 다음 로직이 잘 실행이 안된다. (5/14 해결)텍스트 에디터 일단 수정 후 오류가 하나 둘 씩 생김툴 롤백시켜서 정상화시켰지만 시간 너무 날렸다. (5/14 해결) 추가 할 것UI레이아웃으로 묶어주기AI 대사 후,AI 출력 선택지 3개 입력받기 할 것 1. 초상화 입히기 (5/14 해결)2. 넥스트 누르면 다음 대화창 넣어주기 (..

TMPTextStyle.ApplyTo 참고자료 업로드 + DataStorage Tool 구상안

https://github.com/kwon1232/HDProject GitHub - kwon1232/HDProjectContribute to kwon1232/HDProject development by creating an account on GitHub.github.com TMPTextStyle의 ApplyTo 머티리얼의 설정 값을 머티리얼에 적용하는 함수이다.참고한 클래스는 TextMeshPro의 ShaderUtilities와 ScriptableObject 클래스를 참고했다. TMPStyleApplier 클래스에서 이미 오리지널 머티리얼(다운로드된 머티리얼)이 없으면 새로 머티리얼을 할당 후 만들어준다. 에디터 머티리얼 할당 관련 코드#if UNITY_EDITOR private bool va..

[HDProject] NPC AI dialogue System 추가 & 진행 상황

Git : https://github.com/kwon1232/HDProject GitHub - kwon1232/HDProjectContribute to kwon1232/HDProject development by creating an account on GitHub.github.com NPC 콜라이더 통해서 마우스 포스에서 레이를 쏨해당 레이 히트 체크 후 AI 가 출력하는 텍스트 서버 통해서클라로 해당 텍스트 불러오기까진 했는데이제 UI에 텍스트 띄우면 됨 텍스트가 서버에서 정상 접근이 안됐었는데,Allow downloads over HTTP를 Always allowed로 설정했더니 정상 접근 가능했다. 구현 할 것대사 UI에 띄우기AI 대사 요구사항 디테일 잡기 ++ TMPTextStyle 사용 ..

자체엔진 DWrite 클래스 최적화 및 기능 확장 (D3D11 텍스트 출력 담당 클래스)

최적화 및 기능 확장 DWrite 클래스// DWrite.h#pragma once#include #include #include #include #include #include #include #include #include #include #include using Microsoft::WRL::ComPtr;// 간단한 RGBA 색상 구조체typedef struct Color { float x, y, z, a; uint32_t toARGB() const { uint32_t r = static_cast(x * 255) & 0xFF; uint32_t g = static_cast(y * 255) & 0xFF; uint32_t b = static_cast(z * ..

[HDProject] UGUI Text Mesh Pro Style Applier 에디터 제작

Git : https://github.com/kwon1232/HDProject UGUI에서 Text Mesh Pro를 사용하다보면다른 아웃라인과 색깔을 적용하기 위해서는 매번 새로운 머티리얼을 할당해줘야 한다. Legacy Text 보다 이는 사용하기 번거롭기 때문에,동적으로 머티리얼을 할당하는 코드를 제작하여 해당 프로젝트에 적용하였다. 먼저 TMPStyleMainColor, TMPStyleOutline 클래스를 제작하였다. 해당 클래스들은 구조체처럼 서로 다른 변수의 모음을 담기 위해서 제작하였으며따라서 MonoBehaviour를 상속받지 아니한다. TMPTextStyle 내부에는컬러를 조정할 변수 모음인 TMPStyleMainColor 클래스를 인스턴스화 하여 맴버 변수로 삼고,아웃라인을 조정할 변..

[HDProject]파티 초대 팝업창 포톤 연동 + 왜 포톤을 쓰나요?

Git : https://github.com/kwon1232/HDProject 필자가 Unity엔진에서 Photon 서버를 사용하는 주된 이유는 다음과 같다.빠른 개발 속도Photon Unity Networking(PUN) 패키지를 통해 복잡한 소켓 프로그래밍 없이도 멀티플레이어 기능을 즉시 구현할 수 있다. RPC 호출, 룸 생성·관리, 이벤트 전송 등 기본적인 네트워킹 기능을 API 한 줄로 처리할 수 있다.낮은 레이턴시 및 글로벌 리전 지원전 세계에 분산된 서버 리전을 통해 플레이어가 가장 가까운 리전에 접속하여 레이턴시를 최소화할 수 있다. 게이머의 지역에 따라 자동으로 최적의 리전을 선택하는 기능도 제공된다.매치메이킹·로비·룸 관리 기능이 제공자동 매치메이킹으로 플레이어를 간편하게 그룹화할 수 ..