728x90

GameDevelop 96

Unity FSM – 적을 3초 보이고 1초 숨기기

기존 방식의 문제Update() + 타이머 → 매 프레임 GetComponent 호출 → 성능 낭비로직이 길어져 가독성이 떨어짐 개선 방법1. Renderer 캐싱한 번만 가져와서 계속 사용 → 성능 향상private Renderer _renderer;public void Enter(Enemy enemy) { _renderer = enemy.GetComponent();} 2. 코루틴으로 시간 제어타이머 대신 코루틴으로 깔끔하게 반복 처리private IEnumerator InvisibilityLoop() { while (true) { _renderer.enabled = true; // 3초 보이기 yield return new WaitForSeconds(3f); ..

OnDrawGizmos를 이용해 범위 시각화하기

기본 개념적 AI의 추격 범위(chasingRange)와 공격 범위(attackRange)를 눈으로 확인하기 위해서 함수를 사용하였다. 코드방법 1. 오브젝트 선택했을 때만 보이게private void OnDrawGizmosSelected() { Gizmos.color = Color.yellow; Gizmos.DrawWireSphere(transform.position, chasingRange); Gizmos.color = Color.red; Gizmos.DrawWireSphere(transform.position, attackRange);} 씬(Scene) 뷰에서 해당 오브젝트 선택 시 원 표시적 오브젝트 선택 후 Scene 뷰 + Gizmos 버튼 활성화하면 바로 확인이 가능하..

Unity GetComponent<Renderer>() 간단 정리

이 코드가 하는 일Renderer renderer = GetComponent();현재 오브젝트의 Renderer 컴포넌트(외형 담당)를 가져옴Renderer는 오브젝트를 화면에 보이게 하는 기능을 담당 대표 활용// 오브젝트 숨기기renderer.enabled = false;// 다시 보이게renderer.enabled = true; 정리GetComponent() → 내 오브젝트의 외형 제어 컴포넌트 가져오기renderer.enabled = false → 안 보임renderer.enabled = true → 보임 주로 투명화, 깜빡이기, 머티리얼 변경 같은 연출에 자주 사용됨!

Unity FSM: 왜 bool 대신 Func<bool>을 쓸까?

기본 개념EnemyTransitionConditions.cs 안에서 이런 코드가 나온다. 이 코드를 공부해보았다.public static Func PlayerInChaseRange(EnemyController e) => () => Vector3.Distance(e.transform.position, e.Player.position) 1. EnemyController e란?그냥 적 하나를 가리키는 매개변수이 적의 위치(e.transform.position)와 플레이어 위치(e.Player.position)를 비교하는 용도 2. Func이란?실행하면 true/false를 돌려주는 작은 함수즉, “조건 검사 공식”을 함수로 만들어둔 것Func condition = () => true;if (condi..

Visual Studio vs VS Code, 한글 주석 깨짐 방지 팁

문제상황Visual Studio와 VS Code는 기본 인코딩이 다르기 때문에,처음부터 인코딩을 맞추고 시작하는 게 정말 중요하다. 이 사실을 모르고 팀프로젝트를 진행했더니 주석이 깨져서 알아볼수 없는 형태가 되어있었다."한글 주석 깨짐은 인코딩 차이 때문이니 꼭 프로젝트 시작 전에 맞추고 시작하자!" ❗ 주석이 깨지는 이유?VS Code에서 작성한 파일을 Visual Studio에서 열면→ 한글 주석이 � 로 깨질 수 있음Visual Studio에서 작성한 파일을 VS Code에서 열면→ 저장 시 인코딩이 바뀌어 깨질 수 있음 💡 해결법방법 1. VS Code 인코딩 설정 변경하단 바에서 UTF-8 클릭 → Save with Encoding 선택UTF-8 with BOM 선택 후 저장 방법 2. ..

URP 핑크색 되돌리기

현재상황urp로 생성하고 사과프리팹을 넣었는데 핑크색 독사과가 나왔다이를 정상적인 사과로 되돌려보자 혹시나 싶어 다른 것도 넣어봤는데 역시 핑크공주들이 되었다. 핑크공주 원인URP로 프로젝트를 생성한 후 사용할 에셋을 불러왔을때 이렇게 분홍이 되는이유는 shader호환되지 않거나shader코드에 오류가 있거나material이 끊어진 경우(mesh필터에서 연결이 끊어졌을때)크게 이렇게 3가지가 있다. 나는 강의에서 주는 에셋을 받아왔는데 1번의 경우였다. 해결방법 Window> Rendering> Render Pipeline Converter Render Pipeline Converter를 보면 Built-in to URP이렇게 적혀있다. Built-in으로 되어있는 것을 URP로 바꿔준다는 뜻이다.여..

728x90