부트캠프 분류/부트캠프 TIL 105

2024 10 28 TIL

NavMesh.SamplePosition() 메서드의 정보 주어진 위치에 가장 가까운 Mesh 위치를 찾기 위해 사용되는 메서드 여기서 Mesh란 3D 컴퓨터 그래픽스에서 사용되는 용어로 객체의 표면을 구성하는 다각형 집합이라고 합니다.NavMesh 에서는 게임 오브젝트들이 이동할 수 있는 경로와 영역을 정의하는데 사용되는 듯 합니다.일단 이 메서드를 사용하여 설정한 경로위치를 탐색하고 탐색된 오브젝트에 접근할수 있다라고 생각하려합니다.  매개변수 설명Vector3 SourcePosition : 샘플링 시작위치 out NavMeshHit hit : 샘플링 결과를 저장할 변수 float maxDistance : 샘플링할 최대 거리int areaMask :  샘플링할 영역 설정  (NavMesh.AllAre..

2024 10 27 TIL

slotPanel을 Transform으로 지정한 이유는 Transform에 위치 회전 스케일 값 뿐 아니라 부모-자식 상태 저장도 포함되어 있기 때문이다. (정보 출처 -https://docs.unity3d.com/kr/2021.3/Manual/class-Transform.html)  GameObject의 자식 Object 갯수를 구하는 childCount 를 써서 SlotPanel 안의 슬롯UI의 갯수를 계산하는 방법슬롯의 공간을 확보하였으니 데이터값을 불러오기 위해 slotPanel.Gechild(i)를 하여 i번째 자식 컴포넌트의 ItemSlot 스크립트 데이터를 받아오는 것 또한 예상치 못한 접근인거같다. 받아온 데이터를 기반으로 index의 값과 선언만 되어있는 UIInventory의 정보를 이..

2025 10 25 TIL

강의 진도는 현재 11강 현재 피로한 상태라 오늘은 일찍자고 아침에 일어나서 배운 내용을 다시 정리할 예정이다. 오늘 배운 범위는 광원을 이용하여 낮과 밤을 구현 하는 것과 인터페이스의 활용 레이캐스트를 사용하여 물체와 상호작용 구현등을 배웠고 내일 진도를 나가기 전 애니메이션 커브관련 내용을 따로 정리하면서 기능을 다시 살펴보아야 다음에 사용할 때 어려움이 없을 것 같다.

2024 10 24 TIL

공부 방식을 바꿔보려한다. 지금까지는 강의 내용을 따라하면서 진도를 나갔다면 강의 진도를 먼저 빼고나서 다시 돌아보며 따라하는 식으로 해본다. 따라하는 과정에서 얻은 지식들을 자료로 정리해가면서 진도를 뺄 예정이다. 오늘 생긴 오류: 강의와 같은 방식으로 스크립트를 만들고 실행해보았는데 입력값이 Null이 되어 오류가 발생하였다.스크립트 내에 종단점을 찍어 디버깅을 하는 방식으로 오류가 나는 스크립트에서 싱글톤 변수를 확인해봤고CharacterManager.Instance.Player 부터 값이 Null이 발생하는 것을 인지하였다.해당 오류의 원인은 start 함수로 싱글톤에 값을 차례로 넣는 방식인데 실행주기가 꼬여버려중간에 Null이 발생하였던 것이다. 일단 Player의 start 함수를 더 빠르게..

2024 10 23 TIL

새로운 조와 통성명을 하고 유니티의 심화 단계를 다루게 되었다.이번 프로젝트는 3D 영역이라 새로운 영역에 대한 호기심과 또 걱정이 공존한다. 하나하나 차근히 배우고 싶어서 강의진도를 아직 거의 못뺀 상태다.지금 하고 있는 부분은 InputSystem을 이용하여 3D에서의 움직임을 구현하는 단계 강의를 보되 스스로 만들어보려고 노력하고 또 Vector3 와 Vector2를 다루는 것을 연습중이다. 이번 팀의 인원들이 대부분 스탠다드 이하이기에 현재 목표는 과제의 퀄리티도 중요하겠지만  배움을 중점으로 깨우치는 쪽으로 해보고 싶다.   간단하게 TIL 작성을 마치고 다시 강의 내용을 구현해보러

2024 10 22 TIL (싱글톤, 프로퍼티)

싱글톤에 대해 막연히 용도에 맞게 쓰려고만 하였지 제대로 이해하였다 생각하지 않기에 검색과 질문을 통해 생각을 정리해 보려하였다. 먼저 유니티에서 싱글톤을 쓰는 이유는 MonoBehavior 을 상속받는 클래스를 new 키워드로 인스턴스를 생성할 수 없기 때문에 전역변수(static)을 활용하여 객체(class)에서 직접 멤버를 끌어쓰는 것으로 알고 있다.  이것만으로는 이해하기가 힘들었기에 좀 더 파고들어 키워드 별로 검색을 해보았다. 먼저 객체 객체는 동일한 목적이나 기능을 하는 변수나 함수들을 각각 하나로 묶은 것을 정의한다라고 합나다. 그리고 클래스(class)는 객체를 정의해 놓은 틀 , 설계도라고 생각합니다.  즉 객체는 기능  클래스는 기능을 활용하기 위한 수단입니다. 클래스안에 객체를 모아..

2024 10 21 TIL

UI를 사용할 때 캔버스 설정을 Scale with screen size 를 사용하면 화면을 조절하였을 때 오브젝트가 같이 조절됨 피벗: 오브젝트의 중심점 오브젝의 Position 값을 0,0 을 하였을 때 피벗 값을 기준으로 놓이게 된다.  앵커 : UI 오브젝트가 고정될 위치를 지정하며 앵커는 실제 크기 범위와 관계 없이 0부터 1까지의 상대적인 값을 가지며 해상도가 달라졌을 때 고정된 위치를 따라감

2024 10 18 TIL

이번에 발사체에 대한 구현이 많이 늦어져서 제대로 테스팅을 못해보고 있는 상황입니다.따라서 주말동안에도 작업을 하면서 구현할 부분들을 마저 끝내려 합니다.  앞으로 주말동안 수행할 과제: 구현할 사항:  탄환의 피아 구분,폭탄은 적 탄환만 소거 구현할 방법 : 플레이어가 사용하였는지 몬스터가 사용하는지 변수값으로 태그를 저장하여 projectileData에 type으로 저장 int type : player 1 0   player2 1 enemy -1 TYPE 플레이어만 공격 ELSE  적만 공격 참고할 자료 및 과제 : Collision 충돌 판정에 대한 자료 , 유니티 DOCS , Physics 2d 에 관한 이해  , 조원들의 수행한 코드를 보면서 연결 찾기   유의사항:enter 최소화 트리거에는 ..

2024 10 17 TIL

오늘 실수한 것 오브젝트의 스크립트 변수에 게임 오브젝트를 붙이고 나서 GetComponent로 다시 새로운 참조를 불러옴 Scriptable Object 를 GetComponent로 불러온 것    최우선적으로 구현해야할 과제 충돌효과에 대한 로직 (가장 중요..) ObjectPooling 에 Singleton을 부여해서 따로 참조없이 활용해보고자 하였음 강의 투사체 구현 관련으로 정독 다시 해볼것  어떤식으로 코드를 많이 작성하여야 실력이 늘지 생각해볼것   주저없이 모르는 것에 대해 물어볼 것

2024 10 16 TIL

투사체 구현에 관한 UML을 작성하는 활동을 하였습니다.구상해본 바로는 투사체를 프리팹으로 두고 오브젝트 풀을 활용하여 사용된 투사체를 다시 사용하고충돌효과를 생각하여 플레이어나 적을 태그로 정의하여 태그에 해당한다면  투사체 오브젝트를 비활성화하는 식으로 코드를 작성하려합니다.  객체지향적으로 코드를 작성하려면 기능적으로 세분화하여 작성을 해야하는데 아직 감이 다 잡히는 것 같진 않습니다.  오늘 특강 내용으로는 인풋시스템에 대해 알아보았습니다.  강의에서 들은 내용이 상당히 많은 양인데 특강 동영상이 올라오고나서 제대로 한번 정리해보고 싶습니다.  그리고 인풋시스템에 관해 유니티 코리아에서 다룬것이 있어 주말에 한번 시청해보려합니다. https://youtu.be/dsLBzrbo-Vs?feature=..