2025/Unity 15

Unity - 타이핑 효과 컬러 적용

RichText를 고려한 타이핑 효과 구현일반적인 타이핑 효과는 단순하지만, RichText 태그가 포함된 텍스트를 적용할 때는 단순한 순회 방식으로 처리하면 어색하게 표시될 수 있습니다. 이를 해결하기 위해 여러 방법을 고민했지만, 복잡한 방식보다는 간단한 해결책을 선택했습니다.1. 일반적인 타이핑기본적인 타이핑 효과는 코루틴을 이용해 일정 시간마다 한 글자씩 추가하는 방식으로 쉽게 구현할 수 있습니다.private IEnumerator TypeEffect(TMP_Text textComponent, string content, float typingSpeed){ foreach (char c in content) { textComponent.text += c; yiel..

2025/Unity 2025.02.11

Unity urp 흑백화면 만드는 2가지 방법

1. Volume과 Post Processing을 이용한 방법간단하면서도 효과적인 방법으로, 3단계만 거치면 그레이스케일을 구현할 수 있습니다.단계별 방법:카메라의 Post Processing 활성화카메라에서 Post Processing을 활성화해야 합니다.Volume 오브젝트 추가씬에 Volume 오브젝트를 추가하고, Post Processing 설정을 적용합니다.Color Adjustment에서 Saturation 조정Color Adjustment 항목에서 Saturation 값을 낮추면 그레이스케일 효과를 얻을 수 있습니다. 2. Shader Grape를 이용한 방법

2025/Unity 2025.02.10

Unity - 빠른 씬 이동 툴 만드는 3가지 방법

1. 노가다 방식의 씬 이동 방식 생성처음에는 직접 씬의 이름을 하나하나 작성하는 방식으로 코딩을 했습니다. 하지만 이 방법은 너무 비효율적이었기 때문에 더 나은 방법을 찾아봤습니다.using UnityEditor;using UnityEditor.SceneManagement;public static class QuickSceneChangeEditor{ [MenuItem("Scene/GameScene")] private static void OpenGameScene() => OpenScene("Assets/Scenes/GameScene.unity"); [MenuItem("Scene/TitleScene")] private static void OpenTitleScene() => Open..

2025/Unity 2025.02.10

Unity - 중복없는 랜덤 스폰 시스템 <Grid>

오브젝트 스폰 시 중첩 방지 구현1. 무작위 위치 충돌 체크첫 번째 접근 방식은 랜덤으로 여러 스폰 지점의 충돌을 체크한 후, 충돌이 없는 지점에 스폰하는 방법이다.하지만 특정 횟수 안에 유효한 공간을 찾지 못하면 에러를 리턴할 수밖에 없는 단점이 있다.2. 그리드 방식 충돌 체크위의 문제를 해결하기 위해 그리드 기반 탐색 방식을 생각했다.특정 크기의 구역을 설정하고,해당 구역 내에서 생성 가능한 위치를 탐색하는 방식이다.현재 2D 환경을 기준으로 설명하면,n * n 크기의 그리드를 설정하고,각 구역의 크기를 x로 하면,n * x 범위 내에서 n * n 개의 오브젝트 공간을 탐색할 수 있다.이를 위해 각 지점의 정보를 리스트로 관리한다.3. 그리드 정보 클래스public class GridInfo{ ..

2025/Unity 2025.02.06

2025년도 코드 규칙 정하기 c#

Unity에서 널리 사용되는 코드 스타일과 네이밍 규칙을 기반으로 정리한 가이드입니다. 일관된 스타일을 유지하여 가독성과 유지보수성을 높이는 것이 목표입니다.1. 네이밍 규칙1.1 camelCase (소문자로 시작, 이후 단어는 대문자로 시작)지역 변수 및 함수 매개변수playerHealthenemySpeedBoolean 변수 (is, has, can 접두사 사용)isGroundedhasKeycanJump1.2 PascalCase (모든 단어의 첫 글자를 대문자로 시작)클래스 및 구조체PlayerControllerGameManagerCharacterStats메서드 및 프로퍼티GetPlayerHealth()TakeDamage()Health { get; set; }열거형 (Enum)GameStatePlaye..

2025/Unity 2025.02.05