2024/10 9

[내배캠][Unity6기][TIL] Unity 숙련 주차 개인 과제 점검

내집 마련의 소망을 담아 열심히 제작한 과제입니다...근데 아직 공사중https://github.com/00ovo00/APeTitexplorePreview- 보완할 점- 트러블슈팅보완할 점(개인 점검)- 사운드 미지원- 아이템 ScriptableOject 상속으로 분리하기- 평면도 오브젝트 위에서 내려다 봤을 때만 상호 작용 가능하도록 제한(튜터님 점검은 피드백 받고 추가 예정..) 트러블슈팅문제상황:  커지는 아이템 사용 시 이미 플레이어가 커진 상태임에도 아이템 사용 버튼이 활성화되는 버그 발생문제 분석: 유니티에 디버거를 연결하여 문제 동작을 확인문제 원인:/* UIInventory.cs */public void OnUseButton(){ if(selectedItem.item.type == I..

[내배캠][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] Unity 입문 주차 팀프로젝트 발표 및 피드백

프로젝트 내용https://github.com/00ovo00/SpartaDodge GitHub - 00ovo00/SpartaDodgeContribute to 00ovo00/SpartaDodge development by creating an account on GitHub.github.com피드백- UI 개별로 구성하지 말고 하나의 Canvas 안에 넣고 관리 - Scene마다 초기 세팅이 다른 경우,GameManager에서 로드될 때마다 어떤 Scene인지 확인하고 세팅  x => 씬별로 적절한 스크립트 만들어서 관리  - GameManager에서 플레이어 및 필요한 오브젝트 찾기 x => Scene에 올라온 오브젝트가 GameManager를 찾게 만들기 - 오브젝트 풀에서 모든 오브젝트 사용중이면 풀..

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

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

[내배캠][Unity6기][TIL] 3D Cube 배치

방법1. 하나의 반복문에서 배치방법2. 중첩 반복문으로 배치using System.Collections;using System.Collections.Generic;using UnityEngine;public class GameManager : MonoBehaviour{ public GameObject cube; void Start() { int row = 6; int col = 2; int dep = 12; /* loop 1 */ // int cnt = row * col * dep; // for (int i = 0; i 1번 방법. O(n), 수학적 로직에 익숙한 사람들 선호2번 방법. O(n^3), 직관적 이해 ..

[내배캠][Unity6기][TIL] 키 입력 처리 함수 비교(GetKey, GetAxis, GetAxisRaw)

1. GetKey목적: 특정 키가 눌렸거나 누르고 있는 상태를 감지.사용 예시: 키가 눌린 상태나 키가 눌렸는지를 정확히 감지하고 싶을 때 사용.동작: 특정 키가 눌리고 있는지 즉시 확인함. 버튼 클릭과 같은 명확한 키 입력을 감지하는 데 유용.if (Input.GetKey(KeyCode.Space)) { // 스페이스바를 누르고 있을 때 실행}2. GetAxis목적: 입력 장치에서 입력을 받을 때 -1에서 1까지 부드러운 연속적인 값 반환.사용 예시: 움직임처럼 입력이 부드럽게 변화하는 것이 필요할 때 사용.동작: 입력 값이 보간되거나 부드럽게 변함. 키보드 화살표 키나 조이스틱을 사용할 때 값이 0에서 1로, 또는 -1로 천천히 증가하거나 감소함.float horizontal = Input.Ge..

[내배캠][Unity6기][TIL] Unity 입문 (1~5)

Preview- Transform 컴포넌트 - Anchor와 Pivot - GameObject.Find() - 이벤트 함수 실행 순서Transform 컴포넌트- 모든 GameObject가 기본으로 가지고 있는 컴포넌트- 위치, 크기, 회전 값을 설정- GameObject는 Transform 컴포넌트를 통해 상속 관계 가짐Anchor와 PivotAnchor- 부모 요소에 대한 자식 UI 요소의 상대적 위치와 크기 정의- 부모 요소 위치나 크기가 변하면 자식 요소 어떻게 변경할지 정의- 상속 관계와 관련됨Pivot -  UI 변형될 때 기준점ex) hp바의 PivotX는 0으로 설정, 기본 값인 0.5면 hp가 양쪽에서 줄어드는 형태로 감소GameObject.Find()public static GameObj..

[내배캠][Unity6기][TIL] C# 문법 종합 강의 4주차(3~4)

Preview- Boxing과 Unboxing - Delegate (대리자) - Lambda (람다식) - Func 과 Action - LINQ (Language-Integrated Query) - Nullable - Null 병합 연산자 - StringBuilderBoxing과 Unboxing- boxing : 값 -> 참조- unboxing : 참조(박싱된 객체) -> 값int i = 123; // a value typeobject o = i; // boxingint j = (int)o; // unboxing참고 : https://learn.microsoft.com/ko-kr/dotnet/csharp/programming-guide/types/boxing-and-unboxingDe..

[내배캠][Unity6기][TIL] C# 심화 주차 팀프로젝트 발표 및 피드백

프로젝트 내용https://github.com/HanGyeolChoi/TeamProject GitHub - HanGyeolChoi/TeamProjectContribute to HanGyeolChoi/TeamProject development by creating an account on GitHub.github.com피드백- 반복되는 데이터 로드 유틸리티 메소드 너무 많음, 데이터 매니저로 클래스를 생성하는 것 권장(이후 서면 피드백 받고 추가 예정) 소감- 역시 팀프로젝트는 쉽지 않다! 그래도 잘 마무리된 것 같아 후련하다~- 컨디션 관리 잘해서 절대 진행에 무리 없도록하자... 막판에 몸이 너무 망가져서 고생했다ㅠㅠ- 이정도면 괜찮지 않을까? 라고 생각했는데 튜터님의 날카로운 지적에 급하게 수정할 사..