본문 바로가기

분류 전체보기128

01.23 (TIL-Unity) 구현한 기능: 자동 문 닫힘 기능 목적: 게임 내에서 문이 특정 시간이 지난 후 자동으로 닫히도록 하는 기능을 구현. 이를 통해 게임플레이에 현실성과 도전 요소를 추가하고, 플레이어의 상호작용에 따른 결과를 자연스럽게 표현. 사용한 스크립트: SW_AutoCloseDoor 구현 코드: 더보기 using System.Collections; using UnityEngine; public class SW_AutoCloseDoor : MonoBehaviour { public DoorController doorController; // DoorController 스크립트에 대한 참조 public GameObject door; // 자동으로 닫힐 문 객체 public float autoCloseDelay = 2.0.. 2024. 1. 23.
01.22 (TIL-Unity) 오늘은 각자의 작업 결과물을 합치는 작업을 진행 했다. 그리고 이후의 작업은 기능보다는 곧 다가올 중간 발표회를 대비한 버그수정, 맵디자인, 등의 디테일 적인 부분에 신경을 쓸듯하다. 2024. 1. 22.
01.19(TIL-Unity) 구현한 기능: 아이템 상호작용 및 사용 목적: 특정 아이템이 필요한 상황에서 플레이어의 인벤토리를 확인하여 해당 아이템이 있는지 검사하고, 있다면 그 아이템을 사용하거나 소모하는 기능을 구현하는 것 사용한 스크립트: SW_ItemInteract 구현 코드: 더보기 public class SW_ItemInteract : MonoBehaviour, IInteractable_HT { public SW_ItemData requiredItemData; // 필요한 아이템 데이터 public GameObject actionUI; // 표시할 UI 오브젝트 public string newTag; // 상호작용 후 변경할 태그 public void OnInteract() { Interact(); } private vo.. 2024. 1. 19.
01.18 (TIL-Unity) 인벤토리 시스템의 향상, UI 상호작용의 개선 주요 기능 및 코드: 1. 아이템 슬롯 UI 색상 변경 목적: 사용자가 아이템을 선택하거나 조합 과정에 있는 아이템을 시각적으로 구분하기 위함. 사용한 스크립트: SW_ItemSlotUI 코드 구현: 더보기 public void SetSlotColor(Color color) { // 아이템 슬롯의 배경색 변경 background.color = color; } 사용 이유: 사용자 인터페이스의 직관성을 향상시키고, 사용자의 현재 선택이나 조합 상태를 명확히 표시하기 위함. 2. 조합 과정 초기화 목적: 인벤토리 닫힘 또는 조합 불가능 상황 시 조합 과정 초기화 사용한 스크립트: SW_Inventory 코드 구현: 더보기 private void ResetMixin.. 2024. 1. 18.
01.17 (TIL-Unity) 사용자 인터랙션에 대한 응답 플레이어의 입력에 반응하여 특정 UI를 보여주거나 숨기는 기능은 게임의 몰입감과 사용자 경험을 높여준다. 기능 구현: 중요 아이템 UI 표시 및 제거 SW_ItemData 스크립트 수정 더보기 [CreateAssetMenu(fileName = "Item", menuName = "New Item")] public class SW_ItemData : ScriptableObject { [Header("Important Item")] public GameObject importantItemDisplay; // 중요한 아이템을 표시할 UI public Canvas importantItemCanvasPrefab; // 중요한 아이템 UI를 위한 캔버스 프리팹 } SW_Inventory .. 2024. 1. 17.
01.16 (TIL-Unity) 아이템 믹스 시스템: 두 개의 아이템을 조합하여 새로운 아이템을 생성하는 ItemMix 스크립트의 구현. 조합 로직 및 조합 가능 여부를 판단하는 방법. 인벤토리 시스템과의 통합을 통해 사용자 인터페이스에서 아이템을 선택하고 조합하는 기능 추가 어제의 기능 구현에 이어서 아이템 믹스 시스템을 어느정도 구현했다. 인벤토리에 사용한 코드 더보기 public void OnMixButton() { // 'selectedItem'이 null이 아니며, 그 아이템의 타입이 'Normal'인 경우에만 조합 과정을 시작 // 이는 조합이 가능한 아이템을 사용자가 선택했는지 확인하는 과정 if (selectedItem != null && selectedItem.item.type == ItemType.Normal) { /.. 2024. 1. 16.
01.15 (TIL-Unity) 인벤토리 시스템 추가 구현: 아이템 선택과 인벤토리 내 버튼 활성화/비활성화 로직. 인벤토리의 토글 기능과 UI 상호작용. 아이템 믹스 시스템: 두 개의 아이템을 조합하여 새로운 아이템을 생성하는 ItemMix 스크립트의 구현. 조합 로직 및 조합 가능 여부를 판단하는 방법. 인벤토리 시스템과의 통합을 통해 사용자 인터페이스에서 아이템을 선택하고 조합하는 기능 추가 아직은 기능구현중! 내일 아마 완료될예정! 2024. 1. 15.
01.12 (TIL-Unity) 인벤토리 시스템의 기능적 구현 Inventory 클래스에서는 아이템을 추가, 선택, 사용 및 버리는 기능을 구현했습니다. 특히, 아이템의 타입에 따라 다른 동작(예: 중요한 아이템은 사용해도 소모되지 않음)을 구현하는 방법을 포함합니다. 유익한 점: 아이템의 속성(예: 타입)에 따라 사용자 인터페이스(UI)와 상호작용을 다르게 설정하는 방법을 배울 수 있었습니다. NullReferenceException 오류 해결 Unity 개발에서 가장 흔하게 마주치는 오류 중 하나입니다. 이 오류는 참조하려는 객체가 null일 때 발생합니다. 오류 원인 파악: 스크립트에서 참조하려는 객체가 초기화되지 않았는지, 혹은 잘못된 객체를 참조하고 있는지 확인합니다. 초기화 확인: Awake, Start 또는 사용 전에 객체.. 2024. 1. 12.
01.11 (TIL-Unity) 앉기기능 추가 앉기 기능을 추가하는 이유는 방탈출게임을 제작하면서 플레이어가 앉아야지만 볼수있는 오브젝트나 힌트들을 위해 추가를 결정했습니다. 내가 생각한 기능구현을 위한 방법 앉기 기능 활성화: 플레이어가 앉기 버튼을 누를 때마다 앉아 있는 상태와 서 있던 상태를 토글합니다. 이동 속도 조절: 플레이어가 앉아 있을 때 이동 속도를 감소시킵니다. Collider 크기 조절: 플레이어가 앉아 있을 때 Collider의 높이를 줄입니다. 카메라 위치 조절: 플레이어가 앉아 있을 때 카메라의 높이를 줄입니다. 인스펙터에서 조절 가능한 변수 추가: 감소하는 수치들을 인스펙터에서 조절할 수 있도록 public 변수로 선언합니다. 변수 선언 및 초기화 더보기 [Header("Sit")] public float si.. 2024. 1. 11.
01.10 (TIL-Unity) 부트캠프 최종프로젝트 시작 1일차 오늘은 팀원분들과 스크럼을 진행하면서 게임의 기획과 방향성 그리고 1주차동안 제작할 프로토타입에 대한 회의 장르 : 3D 방탈출 ( 컨셉은 정하는중) 예시용 게임 :Tales of Escape 카메라 움직임(임시) 시점은 1인칭으로 진행 마우스의 움직임을 따라 카메라 이동 플레이어 움직임(임시) 키보드(w,a,s,d)에 따라 앉기(ctrl, c) - 앉을 시 시야가 달라짐으로 인해 더욱 많은 장소 탐색 가능 점프(space) - 앉기와 같은 이유 아이템 상호작용(임시) 상호작용 가능한 아이템이 있을 시 하이라이트 되어 강조되어 보임 상호작용은 마우스 좌클릭 클릭 시 인벤토리(아래서 다룸)에 추가 우클릭 시 아이템 버리기기 인벤토리(임시) 위 게임과 같이 인벤토리는 여러 .. 2024. 1. 10.