게임개발 6

[멋쟁이사자처럼 유니티 TIL] 에셋을 통한 애니메이션 구현과 비동기 프로그래밍(코루틴, async, await)

유니티 실습 현재 사용하고 있는 무료 에셋 :https://assetstore.unity.com/packages/3d/characters/unity-chan-model-18705 Unity-Chan! Model | 3D 캐릭터 | Unity Asset StoreElevate your workflow with the Unity-Chan! Model asset from unity-chan!. Find this & other 캐릭터 options on the Unity Asset Store.assetstore.unity.com  애니메이션 구현오늘은 에셋에 포함되어 있는 걷는 모션을 구현해보았다. ① 에셋의 애니메이션에서 원하는 애니메이션을 선택한 후 ctrl + D를 눌러 복제한다.수업에서는 앞으로 뛰는 모..

부트캠프 2024.06.05

[멋쟁이사자처럼 유니티 TIL] 에셋을 이용한 보석 먹기 게임 구현 ( + 파일 경로, 링큐 등)

파일 경로- 상대적 파일 경로 지정string filePath = "yammySnack.txt"; - 절대적 파일 경로 지정   /(슬래시), \\(백슬래시), @\ 를 이용한다string filePath = "C:/yammySnack.txt";string filePath = "C:\\yammySnack.txt";string filePath = @"C:\yammySnack.txt";  파일 쓰기 배열을 이용하여 파일에 쓸 문자열 저장하고,File.WriteAllLines 를 이용하여 작성한 배열을 파일에 작성한다.// 파일 생성 경로 정의string filePath = "yammySnack.txt";// 파일에 쓰여질 문자열 배열 정의string[] lines = { "First line", "Secon..

부트캠프 2024.06.04

[멋쟁이사자처럼 유니티 TIL] 회전 및 점프 구현(+FixedUpdate와 Update의 차이)

벡터의 정규화w,a,s,d 입력이 가능하게 해놓은 상태에서 대각선으로 이동할 경우, 이동 거리가 늘어나게 되는 문제가 있음.이러한 문제를 해결하기 위해 벡터의 정규화 사용. Normalize(): 길이가 1인 벡터를 만들어줌.direction.Normalize();rotDirection.Normalize();   회전 구현① 먼저 rotDirection을 선언.② a, d를 누를 때 회전할 수 있도록 rotDirection에 값 넣기if (Input.GetKey(KeyCode.A)){ rotDirection += -transform.right;}if (Input.GetKey(KeyCode.D)){ rotDirection += transform.right;} ③ rotDirection 값이 있을..

부트캠프 2024.06.03

[유니티 기초] Input 으로 키보드, 마우스 입력 기능 넣기

Input: 게임 내의 입력을 관리하는 클래스 Input은 클래스이다. 그러므로 점을 이용하여 Input의 함수를 부를 수 있다 ex) Input.함수 함수를 알아보자 | 입력 방식 유니티의 입력 방식은 총 3가지 Down: 누름 Stay: 누른 상태 Up: 뗌 예를 들어, 엔터 키를 눌러 들어가면 Down 적용. 엔터 키를 계속 누르고 있으면 Stay 적용. 손을 떼 엔터 키가 나오면 Up 적용. | 키보드 입력 anyKeyDown: 아무 키 입력을 최초로 받을 시 true 값 반환 anyKey: 아무 키 입력을 받을 시 true 값 반환 void Update(){ if (Input.anyKeyDown) Debug.Log("아무 키를 눌렀습니다."); if (Input.anyKey) Debug.Log(..

유니티 2024.01.21

[유니티 기초] 오브젝트 라이프 사이클

유니티의 기본적인 오브젝트 라이프 사이클 초기화→물리연산→게임로직→해체 1. 초기화 Awake(): 게임 오브젝트 생성시 최초 실행 Start(): 업데이트 시작 직전, 최초 실행 2. 물리 연산 FixedUpdate(): 물리 연산을 하기 전에 실행되는 업데이트 함수. 1초에 50분 꾸준히 호출 => CPU 부하 많음 주로 이동 기능에 사용 3. 게임 로직 Update(): 게임 로직 업데이트. 환경에 따라 실행 주기 바뀜 주로 주기적으로 변하는 로직을 넣을 때 사용 LateUpdate(): 모든 업데이트가 끝난 뒤 마지막으로 실행. 주로 캐릭터를 따라가는 카메라나 후처리 등에 사용 4. 해체 OnDestroy(): 게임 오브젝트가 삭제될 때 실행. 활성화와 비활성화 1. 활성화 OnEnable(): ..

유니티 2024.01.21

[C#, 유니티] 게임 개발 - [SerializeField]와 [System.Serializable] 차이점

Unity에서 많이 쓰던데 왜 쓰는 걸까? 요약 어트리부트(Attribute) 기능 SerializeField private로 선언된 변수를 인스펙터에 노출시킴 System.Serializable MonoBehaviour 이외의 클래스 멤버들을 인스펙터에 노출시킴 ↓↓ 자세한 내용이 알고 싶으면 내려가기↓↓ 1. SerializeField 유니티에서 SerializeField는 private 필드의 직렬화를 위해 이용된다. 직렬화란? 객체가 메모리에 보존되지 않아도 저장이나 전송을 할 수 있게 만드는 것. 원래는 public을 이용하여 직렬화가 가능하도록 하며 인스펙터에서 특정 변수의 값을 변경할 수 있게 한다. 그러나 필요에 의해 private 필드를 써야할 경우, [SerializeField]를 작성..

유니티 2024.01.06