전체 글92 [Multi] 멀티게임 보호되어 있는 글 입니다. 2026. 8. 25. [Unity] Localization csv 로 언어별 데이터 관리하기 (2) 자꾸 헷갈려서 언어별 string 데이터 관리하는 방법을 정리해 놓았습니다.(파트 1은 정리해서 다시 올리겠슘당) 1. CSV 확장자로 export 하기 오타나 잘 못된 키값이 없는지 확인하고 다운로드합니다. 2. 에셋 Resources 폴더에 잘 넣어두기 그냥 대충 덮어씌어주면 되겠습니다. 3. 사용할 Atlas 텍스쳐를 새로 업데이트 해주기 저는 미리 뽑아두어 빠르게 읽어서 보여줄 수 있도록 사용할 글자들만 텍스쳐로 만들어둡니다. 생성하기 전에 Character 파일이 올바른지, 내가 사용할 폰트가 맞는지 한번 더 확인해줍니다. 4. 적용 및 확인 추가한 키 값에 맞춰, 제가 만든 스크립트 컴포넌트의 [serializefield] private 로칼키 에 값을 넣어줍니다. 음, 아주 좋습니다. .. 2026. 8. 12. [Unity] 언어별 데이터 관리하기 (실수) 아래 폰트 에셋에서 '햐' 라는 글자가 있습니다. 해당 프로젝트에는 빠른 한글 폰트를 로드하기 위해 아래와 같이 아틀라스 폰트 에셋을 미리 Generated해둡니다. 이상한 글자 '햐' 가 있길래 데이터를 확인해 본 결과,오타가 있었습니다. 이런 사소한 실수는 넘 부끄러우니까 항상 조심합시다.그럼 오늘도 좋은 하루되세요~ ૮₍ *•͈ ꇴ •͈* ₎ა 2026. 7. 29. [Unity] ExecuteAlways & ExecuteInEditMode MonoBehaviour 를 Play 상태가 아닌 에디터에서도 실행시키고 싶나용? ExecuteAlways & ExecuteInEditModePlay 상태가 아니어도 MonoBehaviour 를 실행시켜야할 때 사용합니다. ScenePlayPrefab ModeBuild 된 게임[ExecuteInEditMode]실행실행prevent(안되는 이유는 위 링크 참고)일반 스크립트처럼 실행[ExecuteAlways]실행실행지원일반 스크립트처럼 실행 중요! Prefab Mode 호환 땜에 [ExecuteInEditMode] 대신, [ExecuteAlways]를 사용하기를 공식 문서에서는 권장합니다.Q. 빌드된 게임에는 Edit Mode 가 없는디요?그래도 빌드된 게임에서도 잘 실행됩니다.void Awake() { .. 2026. 7. 21. [Unity] Sprite Atlas 스프라이트 리소스 먼저 만들어둡니다.프라이트 아틀라스(Sprite Atlas)여러 개의 텍스처를 단일 텍스처로 결합하는 에셋입니다.숫자 하나 하나씩 갖고 있다면 파일 수도 많아지고 써먹기도 애매할 때가 있습니다. 일반적으로 Unity는 각 텍스처에 대해 Draw Call을 발행합니다.많은 텍스처가 포함된 경우 여러 개의 드로우 콜이 존재하면,리소스를 많이 소비하여 프로젝트의 성능을 저하시킬 수 있습니다. 그래서 여러 개의 Draw Call을 발행하는 대신,아틀라스로 단일 텍스처를 호출함으로써 하나의 드로우 콜만 발행할 수 있습니다.그러면 큰 성능 소모 없이도 Packing된 텍스처에 동시에 액세스할 수 있습니다. 셋업 Project Settings > Editor > Sprite Atlas 에서 사용할.. 2026. 7. 16. [Unity] Mesh - Quad 생성 가장 기본적인 Mesh 생성입니다. 3차원 공간에서 Mesh를 만들기 위해서는 아래의 데이터가 필요합니다.Mesh ㄴ> vertices // 정점 위치 ㄴ> uv // 텍스처 좌표 ㄴ> normals // 빛 계산을 위한 법선 방향 ㄴ> triangles // 정점들을 어떤 순서로 이어서 삼각형을 만들지 즉, 정점과 uv좌표, 법선방향까지 총 3개의 벡터 묶음과 정수배열이 필요합니다.정점, vertices: 3차원[]uv좌표, uv: 2차원[]법선, normals: 3치원[]삼각형, triangles: 1차원[]var mesh = new Mesh();float hsize = size * 0.5f; // hsize: half sizevar vertices = new Vecto.. 2026. 7. 1. openGL_gettingStart 보호되어 있는 글 입니다. 2026. 2. 22. [Unity] AsyncOperationHandle 보호되어 있는 글 입니다. 2025. 12. 2. [Unity] LoadAssetAsync Release InstantiateAsync ReleaseInstance 보호되어 있는 글 입니다. 2025. 12. 2. [C#] [Unity] C# Action 과 UnityAction 우선 둘 다 거의 비슷하지만, System.Action 은 순수 C# 의 델리게이트이고,UnityEngine.Events.UnityAction 은 유니티 용으로 따로 정의된 델리게이트입니다.그래서 보통 일반 코드에는 Action, UnityEvent 랑 붙을 때만 UnityAction 을 사용하게 됩니다.사용using System; // C# 용 Actionusing UnityEngine.Events; // 유니티 용 UnityAction 위와 같이 각각 정의돼있는 형식을 가져와 사용할 수 있습니다.- Action : 닷넷( .NET ) 표준 라이브러리로 System 네임스페이스에 정의돼있습니다.- UnityAction : 유니티 전용으로 UnityEngine.Events 네임스페이스에 정의돼있습니다... 2025. 11. 19. desmos 보호되어 있는 글 입니다. 2025. 10. 21. [Unity] UniTask 의 토큰 Token (= CancellationToken) UniTask 에서 Token(CancellationToken) 은 쉽게 말하면, "멈춰!" 토큰입니다. Token (= CancellationToken)토큰은 비동기 작업이 더 이상 의미가 없을 때, 바로 멈출 때가 되었다고 알려주는 플래그 같은 것입니다.프로그램(게임)에서 기다리던 작업을 계속할 이유가 없어졌을 때, 토큰으로 취소하게 됩니다.(유니테스크 간단 정리는 아래 포스트에 해두었어용)https://bulletprooves.tistory.com/87 [Unity] UniTaskUniTask 와 코루틴을 비교해서 설명하면 이해가 쉽다고 합니다. UniTaskUnity 에서 사용하는 Task 대체 라이브러리라서 UniTask 라고 부릅니다.C# 의 async/await 구문을 좀 더 유니티에 최적.. 2025. 10. 7. [Unity, C#] Singleton 싱글톤 혼자야? Singleton프로그램(게임) 전체에서 객체가 하나만 생성되는 것을 보장하고,그 프로그램의 어디에서든지 접근할 수 있도록 만드는 디자인 패턴 중 하나입니다.가장 간단한 예시로, GameManager, SoundManager, RenderingManager 등... 이 있습니다. (Design-Pattern 관련해서는 아래에 정리해 두었어용)https://bulletprooves.tistory.com/46 [OOP] Design Patterns ( GoF )Object Oriented 프로그래밍에서 협업을 위해 설계를 할때,내가 작성한 코드, 다른 분께서 작성한 코드를 전달해줄 때 생기는 어려움을 극복하기 위해디자인 패턴이라는 일종의 의사소통 방법을 사bulletprooves.tistory.c.. 2025. 9. 7. [C#] ref, out, in 키워드 C# 에서 매개변수로 value 타입 값을 전달할 때, 보통 call by value 입니다. ref, out, in 키워드를 전부 매개변수 한정자라고 부릅니다. ref 부터 설명하겠습니다.ref하지만 ref 키워드를 사용하게 되면 value 타입도 call by reference 로, 참조 전달됩니다.호출한 쪽의 변수를 참조로 넘겨서, 넘겨 받은 메서드 안에서 값을 변경했을 시,호출한 원본 쪽에서도 값의 변경이 반영되도록 하는 것입니다.다시말해 "호출한 놈의 변수를 수정할 수 있다!" 가 특징이 되겠습니다. 아래 간단한 pseudo 코드로 확인하겠습니다.void AddOne(ref int x) // 시그니처에 ref 키워드{ x += 7; // 호출한 놈의 변수도 변경}in.. 2025. 8. 30. [C#] delegate, Action / Func / Predicate 예전 포스트에서 콜백 개념과 함께 한번 다뤘었지만, 다시 한번 정리해봤습니다. delegate델리게이트, 우리말로 대리자. (야 대리불러~ )메서드 시그니처 (매개변수나 반환형) 가 같은 메서드를 가리키면서,나중에 다른 클래스에서 크 메서드를 대신 호출할 수 있게 해주는 타입입니다.Callback 콜백 함수, 이벤트 처리 등에서 많이 사용합니다. delegate 는 참조 타입 객체입니다. 그렇기에 생성 시 할당이 됩니다.쉽게 생각해, 변수에다가 숫자나 문자열을 담듯이,메서드를 담는 변수라고 생각해봅시다. 선언은 아래 처럼 할 수 있습니다.public delegate void Notifier(string message);// string 을 매개인자로, 리턴 없는 void 메서드를 담을 수 있는 타입을 .. 2025. 8. 26. [C#] Lambda Expression 람다식 Lambda, 대학교에서 수학 배울 때 선형대수학의 고유값(eigen) 이랑다변수 미적분 교과목에서 라그랑주(Lagrange)승수 법이라고 배울때,계수 붙일 때 사용하는 느낌으로 자주 쓰는 기호 λ 입니다. (가물가물하지만 그랬던 거 같아용)프로그래밍에서는 간단하게 메서드를 표현하고자 할 때 사용하는 것을 람다식이라 합니다. 람다식 (Lambda Expression)함수에서 매개변수를 간단히 전달해 바로 사용하고 싶을때 사용할 수 있는 표현식으로써,무명함수 (Amomymous Function) 라고 합니다.가장 기본적인 문법 모양은 아래와 같습니다.(Parameters) => {Expression}; Parameter 가 매개인자, Expression 이 실행할 문장 코드가 되겠습니다. 몇 가지 예로 .. 2025. 8. 24. [Unity] UniTask UniTask 와 코루틴을 비교해서 설명하면 이해가 쉽다고 합니다. UniTaskUnity 에서 사용하는 Task 대체 라이브러리라서 UniTask 라고 부릅니다.C# 의 async/await 구문을 좀 더 유니티에 최적화해 사용할 수 있게 해줍니다.아래 깃허브 링크입니다.https://github.com/Cysharp/UniTask GitHub - Cysharp/UniTask: Provides an efficient allocation free async/await integration for Unity.Provides an efficient allocation free async/await integration for Unity. - Cysharp/UniTaskgithub.com System.Thr.. 2025. 7. 10. [Unity] UniTask 보호되어 있는 글 입니다. 2025. 7. 3. [Unity] NGUI 보호되어 있는 글 입니다. 2025. 7. 2. [SVN] TortoiseSVN Microsoft Window에서 사용할 수 있는 SVN, TortoiseSVN 입니다.설치한 후 재부팅이 필요합니다. TortoiseSVN TortoiseSVN은 설치하게 되면 윈도우 탐색기 Context Menu에 등록되어 편리하게 이용할 수 있습니다.용어들을 아래 간단하게 요약해보았습니다.Update다른 사람이 수정한 내용 받아오기Commit내가 변경한 사항을 서버에 업로드하기Add새 파일을 버전 관리에 추가하기Delete파일 삭제 (단순 삭제가 아닌 SVN 관리 삭제... 조심)Log파일의 변경 이력 보기Revert로컬 변경 사항 취소하기 항상 작업 전에 Update하는 것을 잊지 않고, 업데이트하여 파일들을 최신 버전으로 유지하는 것이 좋습니다.작업이 끝난 후엔 Commit하여, 꼭 의미가 잘.. 2025. 7. 1. [SVN] Subversion SVN Subversion(서브버전)은 CLI에서 사용하는 명령어를 따서 'SVN'이라고 줄여부른다고 합니다. SVN; Subversion풀네임은 'Apache Subversion' 이며, 프로젝트의 버전관리를 위해서 사용하는 Git과 같은 형상관리 도구입니다.SVN은 CVS가 가진 한계점(파일 이름 변경 불가, 디렉터리 이동 및 변경 불가, 파일 이름 유니코드 제한적)을극복하기 위해서 만들어진 도구입니다. Client - Server Model 이기 때문에, 서버가 개발자들의 컴퓨터에 둘 수도 있고,네트워크에 연결된 별도의 컴퓨터에 두고 사용할 수도 있습니다. SVN의 큰 특징은 Centralized version control (중앙 집중식 버전관리) 입니다. Centralized Version Contr.. 2025. 6. 28. [CS] Logic Gate 논리 회로 ... with Minecraft 주말에 가끔 마인크래프트를 플레이하며 별장도 짓고, 농사도 짓다가 번뜻,RedStone 레드스톤으로... 1학년 전공시간에 배웠던 회로를 만들어볼까해서 정리해봤습니다. RedStone's Elements (소자)Redstones (전원, 도선)Repeater (중계기)Comparator (비교기)Logic Gate (논리회로)NOTANDORXORNANDNOR먼저 레드스톤의 기본적인 요소들 먼저 살펴본 다음, 논리회로로 들어가겠습니다.RedStone's Elements (레드스톤 소자)마인크래프트 인벤토리 (E) 를 눌러 RedStone 카테고리에 들어가면,레드스톤 장치를 구현할 때 필요한 아이템들을 사용하실 수 있습니다.Redstones 각각 Redstone Block 과 Redstone Torch 라.. 2025. 6. 24. [캡스톤] 캡스톤 디자인 비개발 설계 파트 시간이 많지는 않았기에, week 1 ~ 3 동안 설계와 동시에 간단한 기능 정도는 같이 개발하며 진행했었습니다. 스케치캡스톤 디자인으로 만들 게임에 처음부터 Machine Learning AI 를 추가할 생각은 없었습니다.하지만 2024년도는 한창 AI 열풍이었기 때문에 1주일간의 고민 끝에, 게임에 AI 기능을 넣어보자 결정했습니다. 뽀송하게 샤워하고 침대에 엎드려 노트에 신나게 그리던 기억이 납니다. 플레이어의 반응속도를 모아 적절하게 유저별 맞춤 난이도 조정 기능도 추가해보자 계획했습니다. 커스터마이징은 예전 프로젝트에서 재밌게 만든 기억이 있었기 때문에, 시간이 나면 꼭 추가하기로 했습니다. 레퍼런스 Ref 1) ‘Paper Mario’의 전투 시스템. 보드게임과 같은 turn-based (턴.. 2025. 6. 23. [CS] DI Dependency Injection 디펜던시 인젝션, 우리말로 '의존성 주입'인데저는 어감 때문에 처음엔 조금 낯설게 느껴졌습니다. DI; Dependency InjectionDependency Injection(의존성 주입)을 프로그래밍 차원에서는클래스가 필요한 객체(의존성)를 스스로 생성하지 않고, 외부에서 주입받는 방식을 말합니다. 먼저 Dependency(의존성)는, "A depends on B." ("A가 B에 의존한다.") 관계 입니다.그렇기 때문에, 의존대상인 B가 변한다면 → A에게도 영향이 갈 것입니다.예를 들어 자동차와 엔진으로 비유해서 설명드리자면,Car는 Engine 없이 작동할 수 없으니까, Car는 Engine에 의존하는 것을 Dependency (의존성)이라고 합니다.원래는 Car가 스스로 직접 Engine 객.. 2025. 6. 23. 이전 1 2 3 4 다음