분류 전체보기 118

25/05/15 | TIL UI 팁 및 문제 해결 정리

✨ 1. 데이터에 따라 이미지 유무에 따른 UI 처리if (data.hasImage){ imageObj.gameObject.SetActive(true); imageObj.sprite = data.sprite;}else{ imageObj.gameObject.SetActive(false);} BG, Image, Text 오브젝트가 데이터에 따라 유동적으로 반영될 수 있도록 조건 분기. ✨ 2. 동적 리스트 정렬 기능 구현스킬 목록을 이름순 / 레벨순 정렬할 수 있도록 버튼에 따라 정렬 함수 적용:skillList = skillList.OrderBy(x => x.name).ToList(); // 이름순skillList = skillList.OrderByDescending(x => x.l..

Today I Learn 2025.05.15

25/05/14 | TIL UIMainLobby 기본 구성

✨ 1. 툴팁 vs 팝업툴팁: 특정 UI 요소에 마우스를 올렸을 때 짧게 나타나는 설명.팝업: 유저 액션(클릭 등)에 반응해 화면 위에 뜨는 독립적인 창. 더 많은 정보나 선택지를 제공.✨ 2. Content Size Fitter 사용법이전에 사용 해봤으나 할때마다 설정법을 까먹는다😥Content Size Fitter는 자식 요소 크기에 맞춰 부모 오브젝트의 크기를 자동 조절하는 컴포넌트.Vertical Layout Group과 함께 사용할 때 Height 방향을 Preferred Size로 설정하면, 자식들이 늘어나면 자동으로 아래로 확장됨.주의: 부모에 Layout Group, 자식에 ContentSizeFitter를 붙이는 구조는 충돌 날 수 있으므로 Layout 그룹 기준을 분명히 설정해야 ..

Today I Learn 2025.05.14

25/05/07 | TIL 바로인턴 1일 + UI구조

예쁜구도 코드를 짤때 신중하게? NO! 일단 짜고 나중에 리팩토링 / 개발속도 높이기!유니티 6다운로드 + 깃헙 브랜치 만들기UIPopup 을 상속받고, 사용 하도록 한다. UIPopup은 UIBase를 상속 받는다UIBase는 UIManager를 통해 관리한다. ✨ Test Func 만들기public class TestFunc : EditorWindow{ [MenuItem("🐛Test Func/[ Popup ]/Setting/Open Setting Popup")] public static void OpenSettingPopup() { Global.Popup.OpenPopup((int)PopupType.Setting); } [MenuItem("🐛Test..

Today I Learn 2025.05.07

25/04/30 | TIL Ref와 Out정의하기

💚ref와 out의 차이구분refout용도값을 읽고 쓰기 위해 참조 전달값을 쓰기만 위해 참조 전달초기화 여부호출 전 변수에 초기값이 있어야 함호출 전 변수는 초기화 안 돼도 됨함수 내부 동작함수가 값을 변경할 수도 있고 안 할 수도 있음함수가 값을 반드시 설정해야 함대표 예시값 변경 또는 누적 계산여러 개의 반환값을 리턴할 때 사용 ref 기존 값을 전달하고 수정하고 싶다out 함수에서 새 값을 만들어서 전달하고 싶다 ✅ 비유로 설명ref는 “뭔가 가져가서 고쳐줘”out은 “빈 그릇 줄 테니 너가 채워서 줘”🔷 ref 예제void AddTen(ref int num){ num += 10;}int x = 5;AddTen(ref x);Debug.Log(x); // 결과: 15 - x는 초기화되..

Today I Learn 2025.04.30

25/04/29 | TIL RayCast 재정의하기

오류 카메라가 바닥과 맞닿아 있어 그라운드 랜더링 이상현상 강의 중간에 CameraContainer 오브젝트를 생성 후, Y 위치값을 지정해 주었는데, 나는 기본 0으로 되어있어 카메라가 바닥과 맞닿아있었다.카메라는 Position값을 (0,0,0)으로 세팅하고, CameraContainer의 Position값을 (0,1.7,0) 개인 프로젝트를 하면서 강의 내용을 참고하며 1인칭과 3인칭을 오가는 Camera를 만들었었는데,그땐 카메라가 플레이어의 오브젝트의 몸속이 보이는 오류가 있었지만, 큰 문제는 아닌 것 같아 넘어갔었는데 최종프로젝트를 진행하면서 해결 방법을 알게 되었다!!!!!!- Clipping Planes - Near 값을 기본 0.3에서 조금 더 적당한 값으로 늘려주면 완성!1인칭 은 플..

Today I Learn 2025.04.29

25/04/28 | TIL 3D Survival 재수강 - Singleton

오류 NullReference Error 내가 작업을 하면서 가장 많이 겪는 오류.... instance = null로 작성하여 대입을 해버림;if문 안에는 조건문이 들어가야하거늘!!!!!!!!왜 이런 기본적인 실수를... 했을까 ㅠ 그래서 instance = null이 되어버리고, 항상 null로 덮어쓰기 때문에,new GameObject("CharacterManager")가 만들어지는 로직이 실행되지 않는다. public static CharacterManager Instance{ get { if (instance == null) { instance = new GameObject("CharacterManager").AddComponent(); ..

Today I Learn 2025.04.28

JSON 에 대하여

간단 강의 수강 + 자료 검색 및 정리JSON은 데이터를 저장하거나, 통신할 때 사용 한다.어떻게 쓰는지? 알아보기로 한다.🔎Data 클래스 생성 및 JSON으로 저장(직렬화)class Data{ public string nickname; public int level;}public class Test : MonoBehavior{ Data player = new Data() {nickname = "인혜", level = 1}; void Start() { string jsonData = JsonUtility.ToJson(player); // Json으로 변경 }} Json은 string값이기 때문에 String변수에 담아 줘야 한다.🔎JSON에서 불러오기 ..

Unity Study 2025.04.25

25/04/18 | TIL 바로인턴 11기 과제 정리

제출 해야할 것이 많기에 먼저 할 수 있는 것 부터 정리하기로 한다. - 바로인턴 프로그램 Quiz 완료!- 비즈니스 커뮤니케이션 과제 제출 Day1 / Day2- 선호 기업/연관 경험 제출- 이력서 수정하기 - 게임 개발 과제 먼저 간단한 수준의 UI를 만들어 보았음.이전프로젝트에서도 UI를 담당 했기에 생성을 매우 쉬움!이걸 이제 데이터를 입력한 뒤, 데이터화 된 것을 출력 되도록 해야함! 대충 이런 느낌으로 설정 하고, 게임 로직을 만든 후에메인 씬에 넣을 지, 게임 씬에 넣을지는 다시 생각 해보기로 한다. 먼저 플레이어를 만들고, 기존 유니티의 인풋시스템을 활용하여 이동로직을 만든다.리소스 로드 명령어로 var json = Resources.Load("JsonFiles/" + typeName.Re..

Today I Learn 2025.04.19

25/04/17 | TIL 바로인턴 11기 신청 및 OT내용정리

프로그램을 만든 이유- 경력을 조금이라도 만들어 주고 싶어서- 실제 기업에 가서 인턴 활동을 통해 실무 경험을 쌓는 것을 목표로 함 인턴 마인드셋좋은 결과는 '그냥' 만들어지지 않는다.기회가 주어 졌을때, 그 기회를 잡는 것은 여러분의 몫입니다.- 이전 기수 사례 : 하나라도 더 빼먹겠다는 간절함으로 임하기! -> 정규직 오퍼 or 지인 회사- 이전 기수 사례 : 너무 높은 기준을 요구하는 것 같아요.. 포기할래요 -> 시간낭비했다는 생각뿐 선발 프로세스- 4/17~4/20(일) : 서류 및 과제전형- 4/22 : 2차선발- 5/2까지 : 기업매칭 & 최종 선발- 5/7(수) -6/3(화) 까지 출근9:00 - 17:00 점심시간 1시간 제외, 순수 근로시간 7시간 - 기업별도 협의 요청해 올 수 있음...

Today I Learn 2025.04.18

25/04/07 | TIL 알고리즘3 - A*알고리즘과 이진힙구조

A*알고리즘의 이해 - 로봇의 인공지능을 연구하면서 발견함모바일 로봇의 자율행동을 연구하는 프로젝트에서 출발함Shakey프로젝트에서의 경로찾기시작위치로부터 도착 위치까지의 경로를 탐색공간을 격자( Grid ) 형태로 분석하고 장애물이 놓은 상황을 파악해 회피 A* (A New Heuristic Search Method) -경험적지식을 활용해 답을 구하는 Heuristic을 이용함 A* 알고리즘은 Dijkstra의 확장형 이전 Dijkstra 알고리즘 - 1959년에 발표.노드 : 주요한 지점에 대한 정보A* 길 찾기 알고리즘의 이해와 구현- Dijkstra 알고리즘에서 휴리스틱을 활용해 메모리 사용 및 검색 속도를 개선한 알고리즘- 휴리스틱 : 경험적 지식을 활용해 답을 구하는 방법- 응용분야 : 컴퓨터..

Today I Learn 2025.04.07