목록Unity (61)
unihee1의 블로그

1. 발단2025.03.13 - [Unity] - [TIL] Unity 날씨와 체온 변화 구현 [TIL] Unity 날씨와 체온 변화 구현1. 구상하기나는 이번 3D 서바이벌 게임 프로젝트에서 생존 관리 시스템 즉 생존과 관련된 플레이어 상태를 맡게 되었다. 위의 사진은 개발을 위한 플레이어 생존 상태들 간의 상호작용을 정리unihee1.tistory.com날씨를 구현하면서 날씨가 rainy거나 snow일 때 실제로 비나 눈이 내릴 수 있도록 파티클을 만들어보았다.파티클을 만들고 해당 날씨에 맞는 파티클이 재생되는 것까지 구현하였다. 그런데 테스트를 하는 씬은 맵의 크기가 매우 작기 때문에 파티클의 크기를 늘려 전역적으로 파티클이 생성되도록 하는 것은 큰 문제가 되지 않을 것이다. 하지만 실제 게임이..

2025.03.13 - [Unity] - [TIL] Unity 날씨와 체온 변화 구현 [TIL] Unity 날씨와 체온 변화 구현1. 구상하기나는 이번 3D 서바이벌 게임 프로젝트에서 생존 관리 시스템 즉 생존과 관련된 플레이어 상태를 맡게 되었다. 위의 사진은 개발을 위한 플레이어 생존 상태들 간의 상호작용을 정리unihee1.tistory.com지난 게시물의 영상을 보면 체력바가 이미지로 구현 되어 있는 것을 알 수 있다.이번엔 슬라이더로 체력바를 구현해보겠다. 프로젝트 우클릭 - UI - Slider를 눌러 Slider을 생성해준다. 생성된 Slider 하위의 Handle Slide Area를 삭제하여 위의 사진에서 보이는 동그란 버튼을 없애준다. 그럼 Slider의 Value 값을 1로 늘려도 끝..

1. 구상하기나는 이번 3D 서바이벌 게임 프로젝트에서 생존 관리 시스템 즉 생존과 관련된 플레이어 상태를 맡게 되었다. 위의 사진은 개발을 위한 플레이어 생존 상태들 간의 상호작용을 정리한 것이다.플레이어의 상태로는 HP(체력), Hunger(굶주림), Thirsty(갈증), Temperature(체온), Stamina 이렇게 5개가 있다.- HP: 굶주림 또는 갈증이 0이하거나 체온이 20 이하로 내려가기 시작하면 감소된다. - Hunger, Thirsty: 매초마다 조금씩 감소된다.- Temperature: 날씨에 따라 감소하거나 증가한다.- Stamina: 대쉬를 사용하면 줄어든다. 2. 구현해보기오늘은 날씨 변화에 따른 체온 변화를 구현해볼 것이다.먼저 구현해 놓은 상태 UI들을 살펴보자 위에..

유니티에서 게임을 만들다보면 위의 사진과 같이 클래스 옆에 MonoBehaviour라는 것을 볼 수 있다. MonoBehaviour는 Unity에서 게임 오브젝트에 붙이는 기본 클래스로 생명주기 함수를 자동으로 호출할 수 있다. 오늘은 MonoBehavour에 있는 콜백함수에 대해서 정리해볼 것이다. 1. 콜백함수란?콜백 함수는 특정 이벤트가 발생하면 자동으로 호출되는 함수로 생명주기 함수 등을 포함하는 큰 개념이다. 2. 초기화 관련 콜백함수Awake()오브젝트가 활성화될 때 가장 먼저 실행Start()보다 먼저 실행됨 (객체 초기화에 사용)OnEnable()오브젝트가 활성화될 때 실행SetActive(true) 또는 씬에 생성될 때 호출Start()첫 번째 Update() 전에 한 번 실행Awake..
1. SerializeField와 Serializable의 개념- SerializeFieldprivate 또는 protected 변수도 유니티 인스펙터에서 보이게 해주는 속성(Attribute)이다.public 변수는 기본적으로 Unity에서 자동으로 직렬화 되지만 private 변수는 직렬화되지 않기 때문에 SerializeField를 사용하여 직렬화해준다. - Serializable클래스를 직렬화 가능하게 만들어, 인스펙터에서 내부 값을 수정할 수 있도록 해주는 속성(Attribute)이다.Unity는 기본적으로 MonoBehaviour를 상속받지 않은 클래스를 인스펙터에서 다룰 수 없기 때문에 Serializable을 사용하여 직렬화해준다. SerializeField와 Serializable의 개념..

1. AI Navigation 개념인공지능이 게임이나 시뮬레이션 등 가상 환경에서 이동하는 방법을 결정하는 기술로 지형, 장애물, 목표 지점 등을 고려하여 적절한 경로를 생성하고 이동하는데 사용된다. NavMesh (Navigation Mesh) 를 기반를 기반으로 지형을 탐색하기 때문에 NavMesh에 대해서도 알 필요가 있다. 2. NavMesh 개념씬(Scene) 내에서 이동할 수 있는 영역을 나타내는 데이터 구조로 NavMesh, NavMesh Agent, NavMesh Obstacle이 있다. NavMesh: AI가 이동할 수 있는 영역을 나타낸다.NavMesh Agent: AI 캐릭터에 추가하는 컴포넌트로 NavMesh 위에서 이동할 수 있도록 해준다.NavMesh Obstacle: AI가 피..

1. Input Action 생성하기우클릭 Create - input Actions를 눌러 PlayerInput이름으로 생성하고 인스펙터의 Edit asset을 눌러 준다.※ Input Actions이 없는 경우 Window - Package Manager을 눌러 Unity Registry에서 Input System을 검색하여 install한다. 2. Input Action 편집하기Edit asset을 누르면 위의 사진과 같은 창이 뜬다. 사진의 동그라미 부분(+)를 눌러 Maps에 Player를 추가한다. 그런 다음 Actions에도 +를 눌러 Move, Look 등을 생성해준다. 모두 생성했다면 +버튼을 눌러 어떤 버튼을 눌러 플레이어를 움직일지 입력해주면 끝이난다. 3. Player 오브젝트에 적..
2025.02.26 - [Unity] - [TIL] Unity Point Effector 2D 써보기 [TIL] Unity Point Effector 2D 써보기2025.02.25 - [Unity] - [TIL] Unity Effector 2D에 대하여 [TIL] Unity Effector 2D에 대하여Box Collider 2D 컴포넌트에 Effector 2D를 추가하면 특정한 물리 효과를 적용할 수 있다. 1. Effector 2D 종류 및 기능 Platform Effunihee1.tistory.com1. 발단 및 전개위의 게시물에서 보이는 자석 효과를 구현 하던 중 Point Effector 2D가 동작하지 않는 문제가 있었다.그래서 플레이어 오브젝트와 아이템의 Rigidbody와 Collide..

2025.02.25 - [Unity] - [TIL] Unity Effector 2D에 대하여 [TIL] Unity Effector 2D에 대하여Box Collider 2D 컴포넌트에 Effector 2D를 추가하면 특정한 물리 효과를 적용할 수 있다. 1. Effector 2D 종류 및 기능 Platform Effector 2D한쪽 방향으로만 충돌을 허용Ex) 일방통행 발판Buoyancy Effector 2D물리unihee1.tistory.com 오늘은 Point Effector2D를 사용하여 자석 효과를 구현해보았다. 1. Point Effector 2D 설정하기플레이어 오브젝트 하위에 Abdorber, Absorber1 오브젝트를 만들고 그 안에 Box Collider 2D와 Point Effe..
Box Collider 2D 컴포넌트에 Effector 2D를 추가하면 특정한 물리 효과를 적용할 수 있다. 1. Effector 2D 종류 및 기능 Platform Effector 2D한쪽 방향으로만 충돌을 허용Ex) 일방통행 발판Buoyancy Effector 2D물리적으로 부력을 적용Ex) 물에서 떠오르는 효과Point Effector 2D특정 지점에서 흡입하거나 밀어내는 힘을 적용Ex) 블랙홀 효과Area Effector 2D특정 영역 내에서 일정한 힘을 가하는 효과 Ex) 바람에 밀리는 효과Surface Effector 2D표면에 닿은 오브젝트가 미끄러지거나 밀려나는 효과Ex) 컨베이어 벨트 2. Effector 2D가 사용된 실제 게임 사례 슈퍼 마리오 시리즈 마리오 캐릭터가 위에서 착지할..