Unity 54

[내배캠][Unity6기][TIL] 11.15 최종 프로젝트 시작 전, 알아두면 좋을 것들 특강(스탠다드) (1)

Preview- Vector- 스크립트 간 연결- 메서드 사용- MonoBehaviour- Unity Thread- ReflectionVector- 개념: 크기(길이)와 방향을 나타내는 요소- 위치는 상관 x, 모든 시작점이 원점(0,0,0) 이라고 가정하고 계산하여 좌표로 표현 [ Vector의 활용 ]1) 위치 표현: 특정 시작점으로부터 크기와 방향에 따라 어디에 위치하는지 표현2) 물리 표현: 특정 시작점으로부터 크기와 방향에 따라 얼마나 이동해야 하는지 표현Vector 연산덧셈: x좌표끼리 더하고, y좌표끼리 더함          ex) A(1, 3), B(3, 1) => C(4, 4)뺄셈: x좌표끼리 빼고, y좌표끼리 뺌                 ex) A(-2, 3), B(-3, -3) =..

[내배캠][Unity6기][TIL] 최종 프로젝트 시작

8주간의 최종 프로젝트가 시작되었다.장르는 타워 디펜스, 2D 도트 아트이고 모바일 플랫폼을 대상으로 한다.레퍼런스 게임은 '킹덤 러쉬 전략형 타워 디펜스' 이다.스토리라인과 컨셉은 '몬스터 주식회사'에서 가져올 예정이다. 타워 디펜스류 게임을 해본 적이 없어서 기획부터 어려운 부분이 있지만 팀원들과 소통하고 레퍼런스 게임을 플레이 해보면서 조금씩 대략적으로 틀이 잡히는 것 같다.개발 일정이 촉박하다보니 최대한 게임 사이클 구현을 빨리 마치고 작은 볼륨에서 패치하듯이 크기를 키워나가야겠다.

[내배캠][Unity6기][TIL] Unity 심화 주차 개인 과제 리뷰

https://github.com/00ovo00/HighRoWin🎃 Trick or Treat🎃 GitHub - 00ovo00/HighRoWin: 길건너기 게임을 모작한 개인 프로젝트입니다.길건너기 게임을 모작한 개인 프로젝트입니다. Contribute to 00ovo00/HighRoWin development by creating an account on GitHub.github.com  Preview- 보완할 점- 트러블슈팅- 소감보완할 점(개인 점검)- 오브젝트 풀링 대상들 상속이나 인터페이스로 관리하기(튜터님 점검은 피드백 받고 추가 예정..) 트러블슈팅Trigger 관련 이슈 대응한 내용 정리https://lbtm.tistory.com/65소감- 이번 과제는 거의 튜터님들이 떠먹여주는 수준으..

[내배캠][Unity6기][TIL] 카메라가 플레이어 따라가게 만들기

길건너 친구들 모작을 만들고 있다.카메라가 플레이어 뒤방향 위에서 계속 내려다보고, 회전은 하지 않는다.사실 강의 자료나 소스코드에 더 좋은 카메라 컨트롤 코드가 있는 것 같은데... 내가 이해를 아직 완전히 못해서ㅠㅠ그냥 아주 단순한 방법으로 카메라 컨트롤을 구현했다. [ 핵심 아이디어 ]1. 시작 시 카메라와 플레이어의 거리 계산2. 플레이어가 이동함에 따라 처음 계산된 거리를 유지하여 카메라 이동public class CameraFollow : MonoBehaviour{ [SerializeField] private Transform player; private Vector3 offset; private void Start() { offset = transform.p..

[내배캠][Unity6기][TIL] Trigger 트러블슈팅

요약[ OnTriggerEnter 이벤트 발생 오류시 확인할 사항 ]1. 트리거 대상인 두 물체 모두 Collider 있는지 확인(2D, 3D 환경에 맞는 컴포넌트인지 체크)2. 트리거 대상 중 움직이는 오브젝트에 Rigidbody 있는지 확인3. 트리거 대상 중 적어도 하나는 Collider에 isTrigger 체크되어있는지 확인4. Collider 크기 확인5. 컴포넌트가 각 오브젝트에 잘 붙어있는지 확인6. Trigger 시에 실행될 로직 작성한 스크립트 붙어있는지 확인7. Collider 컴포넌트 삭제했다가 다시 생성해보기문제 상황플레이어가 장애물을 지나갈 때 OnTriggerEnter 가 돼야 하는데 되지 않는 문제 발생 [ Player ]- Rigidbody, isKinematic false-..

[내배캠][Unity6기][TIL] 11.08 객체지향특강 요약 정리

Head- 총 2회의 객체지향특강 중 2번째 특강 내용을 간략하게 정리- 첫번째 객체 지향 내용도 정리를 하다가 말아서... 나중에 병합하여 한번에 업로드, 일단은 초벌만!- 아직 완벽히 내용 파악하지 못해 추후 수정 예정- ProtoType, Composite, Facade, Bridge, Flyweight BodyProtoType- Prefab이나 GameObject를 가져와서 사용- ex) Resources.Load("{path}") Composite- 컴포넌트의 조합으로 GameObject를 구성- ex) GetComponent, TryGetComponent, GetOrAddComponent Facade- 기능별로 클래스를 분할- Player 클래스에 모든 기능 포함 X => Player, Con..

[내배캠][Unity6기][TIL] Unity 숙련 주차 팀프로젝트 발표 및 피드백

프로젝트 내용https://github.com/BaekSeungWoo617/SpartaTeam_10_31 GitHub - BaekSeungWoo617/SpartaTeam_10_31Contribute to BaekSeungWoo617/SpartaTeam_10_31 development by creating an account on GitHub.github.com피드백- Unity 생명 주기 함수에 대해 파악하고 활용해보기- 물체 회전 방향에 따른 움직임 생각해보기- 필요없는 파일은 잘 정리하기- UI 분류 너무 상세하게 하기 말고 묶을 수 있는 개체는 병합하여 사용하기 소감- 이전에 잘 몰라서 활용하지 못했던 기술들, 동적 생성이나 이벤트에 대해 이번에 활용하고 많이 배운 것 같아 만족스럽다.- UI 해상..

[내배캠][Unity6기][TIL] UI Manager 디자인

- 재앙의 시작...저번 프로젝트에서 core한 부분을 맡았다가 실력에 한계를 느끼고 이번에 상대적으로 쉬워보이는 UI 도전!- 이왕이면 좋은 설계를 하고 싶어서 튜터님께 drawcall, canvas 관련하여 질문하고 설계에 관한 조언을 얻으러갔다가 '동적 생성'이라는 큰 과제를 부여받는다...UIManager UI 동적 생성 과정 1. UI가 필요한 Scene의 Hierachy에 미리 UIManager가 있는 EventSystem 배치2. Scene이 활성화되면 UIManager에서 현재 활성화된 Scene의 이름의 확인 3. Scene 이름과 일치하는 Assets/Resources/Prefabs/(Scene 이름) 폴더에 있는 모든 UI 가져오기 4. Scene에 'UI' 라는 이름의 빈 오브젝트 ..

[내배캠][Unity6기][TIL] 꾸준 실습 2주차 Review

튜터님 피드백- ObjectPool 생성 시 string name으로 각 Prefab 별로 풀 생성하도록 설계 필요- ObjectPoolManager를 Singleton으로 만들고 관리 Collision Test- Objectpool 테스트 진행하면서 신기한 현상 발견!이상 현상 발견- Triangle, Square, Circle 세 종류의 ObjectPool을 만들어 테스트 진행- Triangle과 Square 정상 실행, Circle은 비정상 실행  원인 분석1. 당연히 내가 잘못 설정한 줄 알고 Circle 프리팹의 Collider와 RigidBody 확인확인 결과 => 다른 프리팹과 비교하여 Sprite와 Collider 종류를 제외하고 모두 동일한 조건인 것 확인2. 충돌하고 있고 있는 상태인지..

[내배캠][Unity6기][TIL] 24.10.14 특강 - 메모리

메모리 구조CodeDataHeapStackCode : 작성된 코드Data : static, const 키워드 붙은 변수, 프로그램 시작 시 메모리에 올라가고 종료 시 제거됨, 전역 데이터 저장Heap : 참조 타입 객체 저장, new로 생성하고 GC로 삭제(참조가 없으면 삭제 대상이 됨)Stack : local, 매개 변수 저장, 함수 시작 시 메모리에 올라가고 return되면 삭제Class와 Struct 비교ClassStruct참조 형식값 형식주소는 stack에 데이터는 heap에 할당주소와 데이터 모두 stack에 할당여러 곳에서 참조하기 용이함stack에 있으므로 상대적으로 접근 빠름큰 데이터 집합 장기적 사용 필요 시 사용작은 데이터 집합 빠르게 접근 시 사용Component, GameObject..