코린이 부트캠프 일상 48

유니티 마우스 우클릭으로 캐릭터 이동하기 오류

public void OnMove(InputAction.CallbackContext context) { if (context.performed) { Vector2 mousePosition = context.ReadValue(); Vector2 worldPos = _camera.ScreenToWorldPoint(mousePosition); Vector2 moveDirection = (worldPos - (Vector2)transform.position).normalized; CallMoveEvent(moveDirection); } } Inputsystem을 활용해서 Action에 Button binding에 마우스 우클릭을 넣어줘서 캐릭터 이동을 구할려고 했는데 실패하였다. 내일 다른 방법을 찾아서 수정해..

유니티 개인 프로젝트 ATM 기능 구현

개발 환경 Unity Ver: 2022.3.2f1 IDE: VS Code 2022 ATM 기능 및 기획 필수 구현 / 추가 구현 필수 구현 1. ATM 화면 구성 2. 입금 출금 3. 출금 기능 선택구현 1. 통화 단위 적용 2. 금액 입력시 숫자만 입력 3. 로그인 기능 4. 회원가입 주요기능 1. 스크립터블 오브젝트를 사용해서 은행 고객정보 관리 2. 입출금 기능 + 원하는 금액 입력 InputField로 구현 3. 회원 가입 + 정보 로컬 저장 4. 로그인 기능 Soulotion 1. 스크립터블 오브젝트 생성 및 활용 using System.Collections; using System.Collections.Generic; using UnityEngine; [CreateAssetMenu(fileNa..

유니티 풀매니저

강의로 보면서 게임을 만드는 과정에서 PoolManager를 배습니다. 보통 저렇게 화살을 생성하기 위해 화살을 Prefabs로 만들어주고 Instantiate와 Destroy를 활용해서 화살을 관리 해줬었다. 하지만 이렇게 관리하게 되면 두 함수들이 상당히 많은 메모리를 잡아먹게 됩니다. 따라서 화살이 필요할 때 새로 생성하는 것이 아닌 오브젝트 풀매니저에게 미리 생성해둬서 필요한 만큼 쓰고 반환하는 방식인 PoolManager를 사용한다고 합니다. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SearchService; public class ObjectPool : MonoB..

C# 유니티 팀프로젝트 똥피하기

https://youtu.be/KdH01jMggnA 8조 팀원들 함께 만든 고전 똥피하기 게임 8조 팀프로젝트하고 튜터님께 피드백을 받았다. GIt 커밋 컨벤션과 UI 부분을 지적해주셨다. UI부분은 처음에 구현위주로 만들다 보니깐 객체지향적으로 만들지 못한 것 같았다. 피드백을 참고해서 UIManager를 싱글톤화 시켜서 UIManager에서 한번에 관리하면 좋을 것 같아서 월요일에 질문드리고 다시 한번 구현해 볼 생각이다. 게임을 만드는 입장에서 게임시작을 눌렀을 때 게임에 대한 설명이 부족했다는 지적으로 게임 시작하면 설명 UI 또한 추가를 하면 좋겠다라는 생각을 했다. **다음 프로젝트에서 신경 써야할 부분 - 게임 시작 후 게임 오버에 대한 서비스적인 측면에서 설명 부족 - UI 최적화 미흡 -..

유니티 간단한 데이터 저장 / PlayerPrefs

유니티로 게임을 만들다 보면 유저의 데이터를 저장해야 할 일이 생긴다. 그중에서도 최고점수 등 저장이 필요한 상황이 나올 때 유니티에서 제공하는 간단한 데이터 저장 방법인 PlayerPrefs를 이용해 볼려고 한다. DeleteAll() : 모든 데이터를 삭제한다. 이 함수를 사용할 경우 경고 메시지가 출력된다. DeleteKey(String Key) : Key와 대응하는 값을 삭제한다. HasKey(String Key) : Key가 존재하는지 확인한다. Save() : 수정된 모든 preferences를 파일에 저장한다. PlayerPrefs은 int, float, string 타입의 데이터를 저장하도록 Set 함수를 제공한다. SetInt(string Key, int value) : Key 값으로 i..

유니티 UI 텍스트와 버튼기능으로 씬이동

Screen Space - Overby => 카메라 밖의 텍스트 공간에서 따로 만들어서 카메라에 비쳐준다. World Space => 카메라 안에서 텍스트를 직접 띄워준다 하지만 Text 레거시를 사용할 시 글자가 작아져서 깨진게된다. 따라서 TextmeshPro를 사용하야한다 Add Component에서 Button 추가하고 OnClick에 해당 함수를 적어준다 스크립트에서 해당 버튼에 필요한 함수 만들어주고 스크립트 적용 해당 함수 찾아서 적용