2025/05 15

Canvas를 Dynamic과 static으로 분리

Canvas 컴포넌트 추가로 "레이어 분리" UI 캔버스에서 단일 요소가 변경되면 캔버스 전체에 대해 재탐색하는 오버헤드가 발생 캔버스는 그 위에 배치된 UI 요소를 나타내는 메시와 버텍스버퍼를 생성하고, UI 요소가 변경되면 메시를 재생성하며, 실제로 UI가 표시되도록 GPU에 드로우 콜을 발행 문제는 캔버스에서 하나 이상의 요소가 변경되면 해당 요소를 최적으로 그리는 방법을 파악하기 위해 전체 캔버스를 다시 한 번 분석해야 한다는 것 솔루션: 캔버스를 분할 동적으로 바뀌는 부분은 가능한 한 적은 영역, 작은 해상도로 관리

Unity 2025.05.18

박싱 언박싱

박싱과 언박싱을 이해하려면 참조 타입과 값 타입에 대한 정의가 필요하다. 값 타입(Value Type) 값 타입의 정의값 타입은 변수 자체에 데이터 값을 직접 저장하는 타입이다.이러한 변수는 스택(stack)메모리에 할당되며, 복사 시 실제 데이터 값이 복사된다. 값 형식의 변수는 해당 형식의 인스턴스를 포함한다.이는 해당 형식의 인스턴스에 대한 참조를 포함하는 참조 형식의 변수와 다르다.기본적으로 할당, 메서드에 인수 전달, 메서드 결과 반환 시 변수 값이 복사된다.값 형식 변수의 경우 해당 형식 인스턴스가 복사된다. Value types and reference types are the two main categories of C# types. A variable of a value type con..

.NET 과 C#의 아키텍처

C# 보다 .NET을 먼저 알고가자.C#은 단독으로 실행되지 않고,.NET 런타임 환경(ex. CLR, CoreCLR) 위에서 실행된다..NET C#, F#, VB 등 여러 언어를 지원하는 공통 플랫폼이며공통된 기능, API, 런타임 동작을 제공한다.따라서 C#의 코드 구조, 빌드, 실행 방식은 .NET의 구조와 깊이 관련되어 있다.공식문서 참고 내" .NET is a free, cross-platform, open-source developer platform for building many kinds of applications. It can run programs written in multiple languages, with C# being the most popular. It relies on ..

IEnumerator<T> 인터페이스

IEnumerator는 제네릭 컬렉션(List, HashSet 등)에서 데이터를하나씩 차례대로 읽을 수 있도록 반복 기능을 제공하는 인터페이스이다. C#의 IEnumerator의 정의이다.public interface IEnumerator : IDisposable, System.Collections.IEnumerator IEnumerator는 다음 두 인터페이스를 포함IEnumerator: 일반 반복자 (비제네릭)IDisposable: 자원을 정리하는 기능 간단히 비유하자면,Interface는 설계도이고,IEnumerator는 반복할 수 있는 객체를 만드는 설계도이다. 여기서 설계도라도 말하는 이유는 어떤 자료형이든 받을 수 있는 것이기 때문이다.이는 제네릭 프로그래밍을 기반으로 작성되었기 때문이다. ..

C#과 친해지기 위한 공부 방법

C#과 친해지기 위한 공부 방법C# 공부를 다음과 진행하고자 한다. 1. 알고리즘 + C# 공부C#으로 짜여진 알고리즘을 보고,내가 다시 짜보기 코테1. C++로 푼 문제 -> C# 다시 풀어보기2. C#로 푼 문제 -> C++ 으로 다시 풀어보기 2. 관련 정보는 공식문서 위주로MS/Unity 공식문서 위주로 보며, 공부 목록 레퍼런스는 기본서로 유명한 책 하나 잡고 보기.

MVP (Model, View, Projection)

MVP (Model, View, Projection) 매 프레임 당 한 번씩 호출되는 Update 함수 안에서 모델 변환을 의미하는 모델 행렬, 어떤 각도에서 어떻게 보는지 의미하는 시점 변환을 결정하는 뷰 행렬그것을 화면에 어떻게 프로젝션 시켜줄지 결정하는 프로젝션 행렬 이 행렬들을 합쳐서 MVP 라고 부른다. 이 세가지 행렬이 어떤 의미가 있는지 직관적으로 이해하고,관련 행렬을 통해서 DX에서 MVP를 구현해보자. 앞서 시점 변환에서 말했듯 어떤 방향에서 어떻게 보이는지를 알려면위치와 방향을 알아야한다.따라서 m_viewEyePos, m_viewEyeDir을 사용하는 것이다.viewUp도 내가 보고 있는 위 방향이 어디냐? 라는 것이다. 물체가 왼쪽으로 이동하던 보고있는 카메라(나)가 오..

그래픽스/DX11 2025.05.15

백준 실버 2 잃어버린 괄호 1541

https://github.com/kwon1232/CodingTest/tree/main/%EB%B0%B1%EC%A4%80/Silver/1541.%E2%80%85%EC%9E%83%EC%96%B4%EB%B2%84%EB%A6%B0%E2%80%85%EA%B4%84%ED%98%B8 CodingTest/백준/Silver/1541. 잃어버린 괄호 at main · kwon1232/CodingTestThis is an auto push repository for Baekjoon Online Judge created with [BaekjoonHub](https://github.com/BaekjoonHub/BaekjoonHub). - kwon1232/CodingTestgithub.com int main(void){ ..

프로그래머스 LV.2 숫자 변환하기

https://github.com/kwon1232/CodingTest/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/2/154538.%E2%80%85%EC%88%AB%EC%9E%90%E2%80%85%EB%B3%80%ED%99%98%ED%95%98%EA%B8%B0 CodingTest/프로그래머스/2/154538. 숫자 변환하기 at main · kwon1232/CodingTestThis is an auto push repository for Baekjoon Online Judge created with [BaekjoonHub](https://github.com/BaekjoonHub/BaekjoonHub). - kwon1232/Coding..

[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..