개발일지
-
[TIL] 8주차 3일 팀 프로젝트 진행 ( Raycast, Instantiate )개발일지/스파르타 코딩클럽 부트캠프 2024. 6. 5. 20:42
현재 우리팀이 만들고 있는 게임은 방을 돌아다니며 함정과 퍼즐을 클리어하는 형태의미로퍼즐 게임이다. 나는 함정 방 구상, 구현을 맡게 되었는데오늘 구현한 함정 방으로는 바닥의 레이저에 플레이어가 닿게되면 천장의 랜덤한 위치에서 칼이 20개가 떨어지는 함정이다.칼을 맞는다고 즉사는 아니어서 그렇게 많은 숫자는 아닐거라고 생각된다. public class KnifeTrap : MonoBehaviour{ RaycastHit hit; [SerializeField] LayerMask layerMask; [SerializeField] float maxDistance; [SerializeField] float time; public GameObject knifePrefab; publi..
-
[TIL] 8주차 2일 팀 프로젝트 진행개발일지/스파르타 코딩클럽 부트캠프 2024. 6. 4. 21:00
오늘 한 것팀 프로젝트 함정 구상팀 프로젝트 퍼즐 구상팀 프로젝트 컨셉 구상팀 프로젝트 함정 구현오늘은 TIL쓸 것이 정말로 없다...하루종일 에셋만 찾고 기획만 한 느낌 기획도 참 쉽지않구나를 느꼈다.내가 이번 팀 퍼즐게임에서 맡은 부분이 함정방 기획인데 이 작은 것 기획하는 것 조차정말 쉽지않다. 참고로 이번에 배운거란 익스텐션 에셋은 깃 허브에 퍼블릭으로 올릴 시에 무료에셋이어도문제가 될 수 있다. 재배포라는 형식으로.다들 사용 전에 주의하길 바람 익스텐션 에셋 (Extension Assets)도구 카테고리에 있는 모든 에셋은 익스텐션 에셋 라이선스 타입에 속합니다.익스텐션 에셋을 구매 하신다면, 원시 에셋 파일(Raw Asset File)에 액세스할 수 있는 사용자 당 한 시트씩 구매 해야 합니다..
-
[TIL] 7주차 5일 개인과제 회고개발일지/스파르타 코딩클럽 부트캠프 2024. 5. 31. 20:26
회고개인과제를 마치고 튜터님께 피드백 받은 내용을 토대로 회고 커밋 컨벤션 지키기 혼자 작업하는 것이어도 커밋 컨벤션을 지켜서 후에 공유하거나 작업 도중에도 가독성과어떤 작업을 했는지 잘 알 수 있게 하면 좋을 거 같다 코루틴 사용 코루틴을 어느정도 잘 활용해서 여러가지 기능을 구현했다고 해주셨다.코루틴은 조금 익숙해졌을거같다고 하셨는데 아직 .. 어렵긴 하지만코루틴을 여러 부분에 사용하면서 배운 점이 많긴하다.앞으로도 알맞은 용도에 잘 사용할 수 있도록 더 공부할 것 객체지향관한 피드백 아이템 부스트 관련 기능을 플레이어 컨디션 스크립트에 함수로 만들었었는데각 아이템이 본인 스크립트에서 코루틴 코드를 작성해두고아이템을 사용하면 이 코루틴을 넘겨서 처리하는 방식을 많이 쓰신다고 알려주셨다. ex) 플레이..
-
[TIL] 7주차 4일 개인프로젝트주차 ( Raycast, Coroutine )개발일지/스파르타 코딩클럽 부트캠프 2024. 5. 30. 21:09
오늘 발생한 문제gitignore가 제대로 작동하지 않던 문제 이것때문에 프로젝트 내내 몇번 하이어라키 창이 날라갔었는데.gitignore 파일이 root폴더 안에 , 그러니까 Asset이 있는 폴더 안에 같이 있어야 적용이 제대로 된다. Ray와 Coroutine을 사용하다가 발생한 문제들 Ray에 Player가 한 번 인식된 후 다시 인식되지 않던 문제void Update(){ Debug.DrawRay(transform.position, transform.right * maxDistance, Color.red, 0.3f); if(Physics.Raycast(transform.position, transform.right , out hit, maxDistance, layerMask)) ..
-
[TIL] 7주차 3일 개인과제주차개발일지/스파르타 코딩클럽 부트캠프 2024. 5. 29. 21:05
오늘 발생한 문제value값이 null이 되는 문제 public void OnUseButton(){ if(selectedItem.type == ItemType.Consumable) { for(int i = 0; i여기서 Boost의 value값이 적용이 되지 않는데이유를 모르겠다 인스펙터에서도 아이템데이터에서도 다 적용해줬는데 그냥 개빡침 public void Boost(float value){ controller.moveSpeed += value; StartCoroutine(BoostTime(value, boostTime));}IEnumerator BoostTime(float value, float time){ controller.moveSpeed -= valu..
-
[TIL] 7주차 2일 개인 프로젝트 주차 (Interface, 아이템 상호작용 )개발일지/스파르타 코딩클럽 부트캠프 2024. 5. 28. 20:45
오늘 배운 내용 정리인터페이스 복습 인터페이스에 대해서 조금 더 알아보고 복습하는 시간을 가져보자 인터페이스를 통해서 클래스들은 공통적인 동작을 정의하고, 이러한 동작들을 구현하는클래스들은 해당 인터페이스를 구현함으로써 공통 규약을 준수할 수 있다. 인터페이스를 설명하는 주요 특징은 다음과 같다. 추상화 : 인터페이스는 추상적인 개념으로, 실제로 구현된 메서드가 없고, 메서드의 시그니처만을 가진다. 따라서 인터페이스는 인스턴스화 될 수 없으며, 구현체가 필요하다.메서드 시그니처 : 인터페이스는 구현 클래스가 반드시 구현해야하는 메서드들의 시그니처를 정의한다. 메서드의 이름, 매개변수, 변환 타입이 포함된다.다중 상속 가능 : 클래스..
-
[TIL] 7주차 1일 개인 프로젝트 주차 ( 조명, 카메라 절두체, Coroutine)개발일지/스파르타 코딩클럽 부트캠프 2024. 5. 27. 20:47
오늘 배운 내용 TryGetComponent TryGetComponent는 유니티에서 사용하는 메소드이다. 게임 오브젝트의 컴포넌트를 가져온다.보통 지금까지 GetComponent로 주로 컴포넌트를 가져왔고 이건 사용해본 적이 없는데,두 메소드의 차이점을 알아보자public bool TryGetComponent(out T component) where T : Component; TryGetComponent의 형식은 다음과 같다.T : 가져오려는 컴포넌트의 타입. MonoBehaviour를 상속한 컴포넌트는 모두 사용 가능하다.component : 컴포넌트를 가져올 때 사용되는 out 매개변수 아래는 강의에서 나온 사용법이다.using UnityEngine;public class ExampleScript..