728x90

2025/02 21

[Unity] Unity6 Physics 2D : 2D 콜라이더 병합, Rigidbody2D API 변경

Unity가 6로 넘어오면서 바뀐 2D물리관련이 있다고 합니다. 다음 네 가지 주요 변경사항에 대해 살펴봅니다.Composite Collider 2DHinge Joint 2DRigidbody2D의 변경된 APISlide Movement API1. Composite Collider 2D기존에는 박스나 타일맵 콜라이더만을 병합할 수 있었지만, Unity 6에서는 모든 유형의 콜라이더를 병합할 수 있습니다.특히, 단순히 영역을 합치는 것을 넘어 병합(Merge), 교차(Intersect), 차이( Difference), 뒤집기(Flip) 중 하나를 선택할 수 있어 더욱 다양한 형태의 콜라이더 제작이 가능합니다.또한, 컴포넌트 순서(Composite Order)에 따라 연산 순서가 결정되므로 인스펙터에서 원하는..

Unity/정보 2025.02.15

내일배움캠프 Unity - TIL : 25.02.14

오늘 학습한 내용1) Mathf.Pingpong   Mathf.Pingpong 기능을 통해 주어진 범위 내에서 값이 반복적으로 변화하는 효과를 구현할 수 있음을 배웠으며, 이를 활용하면 애니메이션이나 UI 효과 등에서 자연스러운 반복 동작을 손쉽게 구현할 수 있다는 점이 인상적이었습니다.  2) UI 스크립팅 설계 개선 기존에 사용하던 UI 코딩 설계 방식은 응집성과 결합도 측면에서 한계가 있어 유지보수와 확장성이 부족했습니다. 이번 강의를 통해 소개된 새로운 UI 스크립팅 설계 방법을 학습하면서, 코드의 모듈화와 가독성, 재사용성이 크게 향상되어 유지보수가 용이해진다는 점을 확인하였습니다. 문제 및 해결 과정1) 문제 (Mathf.Pingpong)지금까지 Mathf.Pingpong의 존재를 몰라 원하..

내일배움캠프 2025.02.14

내일배움캠프 Unity - TIL : 25.02.13

오늘 학습한 내용1) 델리게이트 델리게이트는 메서드에 대한 참조를 저장하는 타입으로, 여러 메서드를 유연하게 호출할 수 있는 기능을 제공합니다.이벤트 처리나 콜백 메서드 구현 시 델리게이트를 활용하면 코드의 모듈화와 재사용성이 향상됨을 배웠습니다. 문제 및 해결 과정1) 문제 (델리게이트)기존 메서드를 직접 호출하거나 복잡한 조건문으로 여러 메서드를 처리하던 방식이 유지보수와 가독성이 어려웠습니다.  시도한 해결 방법델리게이트를 사용하여 메서드 참조를 저장하고 필요에 따라 동적으로 호출하는 방식을 적용해보았습니다. 결과코드의 유연성이 높아지고, 이벤트 처리 및 콜백 구현이 훨씬 간단해졌음을 확인하였습니다. 새롭게 알게 된 점델리게이트 활용 델리게이트를 통해 메서드를 간접 호출하면, 코드가 느슨하게 결합되..

내일배움캠프 2025.02.13

내일배움캠프 Unity - TIL : 25.02.12

오늘 학습한 내용1) 프로젝트 개발 몰입기한이 얼마 남지않은 프로젝트 개발에 집중하며 디버깅과 코드 최적화 작업을 진행하였습니다. 2) 코드 리팩토링 및 구조 개선: 기존 코드의 비효율적인 로직을 확인하고 모듈화를 진행하여 유지보수성과 가독성을 크게 향상시켰습니다.문제 및 해결 과정1) 문제 (코드 리팩토링)기존 코드에서 중복과 비효율적인 로직이 많아 유지보수와 확장이 어려웠던 문제가 있었습니다. 시도한 해결 방법코드 리팩토링을 통해 모듈화를 진행하고 불필요한 중복을 제거했습니다. 결과리팩토링을 진행한 코드 품질이 전반적으로 향상되었으며 프로젝트의 안정성과 유지보수성이 크게 개선되었음을 확인하였습니다.새롭게 알게 된 점리팩토링 및 모듈화의 중요성코드 리팩토링과 모듈화가 프로젝트 전반의 품질과 협업 효율성..

내일배움캠프 2025.02.12

내일배움캠프 Unity - TIL : 25.02.11

오늘 학습한 내용1) Enum의 모든 값 순회 및 초기화 foreach (EMonsterType type in Enum.GetValues(typeof(EMonsterType))){ monsterSkills[type] = new List();}위 코드를 통해, Enum에 정의된 모든 값을 순회하여 각 값에 대해 리스트를 초기화할 수 있음을 배웠습니다. 2) 문자열을 Enum으로 변환하기 if (!Enum.TryParse(skillData["MonsterType"].ToString(), out EMonsterType monsterType))이 코드를 통해, 문자열 데이터를 해당 Enum 값으로 파싱할 수 있다는 것을 처음 알게 되었습니다.문제 및 해결 과정1) 문제 (Enum의 모든 값 순회 및 초기화..

내일배움캠프 2025.02.11

내일배움캠프 Unity - TIL : 25.02.10

오늘 학습한 내용1) Git Merge 충돌 해결오늘 dev 브랜치를 현재 작업 중인 브랜치로 머지하는 과정에서 충돌이 발생하였습니다.아래의 두가지 옵션을 통해 충돌 해결을 할 수 있었지만 처음 겪어보는 상황이라 정확히 어떤 옵션을 선택해야하는지 잘 몰랐습니다."Use the modified file from Csj-dungeonResult"현재 브랜치에서 수정된 파일 버전을 적용하여 충돌을 해결하는 옵션입니다."Do not include this file on dev"dev 브랜치의 해당 파일을 포함시키지 않고, 현재 작업 중인 브랜치의 파일 상태를 유지하는 옵션입니다.이 경험을 통해 Git Merge 충돌 해결 과정과 각 옵션의 의미를 명확하게 이해할 수 있게 되었습니다.문제 및 해결 과정1) 문제 ..

내일배움캠프 2025.02.10

내일배움캠프 Unity - TIL : 25.02.07

오늘 학습한 내용1) 개인과제 피드백 매니저 인스턴스 남발 문제제출한 개인과제에서 매니저 인스턴스를 과도하게 생성한 부분에 대해 피드백을 받았습니다. 이를 통해 인스턴스 관리의 중요성과 자원의 효율적인 활용에 대해 다시 한 번 고민하게 되었습니다. 시트 데이터 파싱시트로부터 받은 데이터를 직접 파싱하여 클래스에 맞게 데이터를 구성하는 방식이 좋았지만, 모든 클래스를 위해 개별적으로 파싱 코드를 구현해야 하는 점이 상당히 번거롭고 복잡하다는 의견이 있었습니다. 이를 위해 JSON으로 파싱을 처리하면, 코드가 더 깔끔해지고 유지보수가 용이할 수 있다는 피드백을 받았습니다. 2) 디버깅 방법 조사식 작업 실행창 활용디버깅 시 조사식 작업 실행창을 활용하여, 코드 실행 중 변수나 상태를 실시간으로 확인할 수 있..

내일배움캠프 2025.02.07

내일배움캠프 Unity - TIL : 25.02.06

오늘의 경험 및 배운 점깃의 다양한 기능 활용체리픽, 언두, 브랜치 관리 등의 깃 기능들을 직접 사용해 보면서 실시간으로 발생할 수 있는 오류나 충돌을 미연에 방지할 수 있다는 점이 인상 깊었습니다. 팀 프로젝트 준비와 컨벤션 설정전체 프로젝트 구조를 설계하고 코드 및 깃 사용 규칙을 미리 정하는 과정에서 협업의 기초가 얼마나 중요한지 다시 느꼈습니다. 이 과정은 단순히 프로젝트의 기술적인 측면뿐만 아니라, 팀원 간의 소통과 협력의 기반을 마련하는 중요한 단계라는 생각이 들었습니다. 느낀 점 및 생각오늘 배운 모든 내용이 단순한 기술적 지식에 그치지 않고 실제 협업 환경에서의 생산성과 효율성을 크게 높여준다는 점이 인상적이었습니다.앞으로도 이러한 규칙과 도구들을 잘 활용하여, 팀 프로젝트를 진행할 때마다..

내일배움캠프 2025.02.06

내일배움캠프 Unity - TIL : 25.02.05

오늘 학습한 내용1) Task를 활용한 유니티의 Update() 구현 Unity의 Update() 메서드와 같이 주기적으로 실행되는 기능을 콘솔에서 Task를 사용하여 비동기적으로 구현하는 방법을 학습했습니다.문제 및 해결 과정1) 문제 (Task를 활용 Update() 구현)C# 콘솔 환경에는 Unity의 Update() 메서드처럼 주기적으로 실행되는 기능이 없어, 편리하게 작업할 수 있는 업데이트 기능이 부족했습니다.  시도한 해결 방법비동기 Task와 무한 while 루프, Task.Delay(500)를 사용하여 C# 콘솔에서 주기적 업데이트 기능을 구현하고, 조건문을 통해 키 입력에 따른 분기를 추가하였습니다. 결과 콘솔에서도 Unity의 Update()와 유사한 주기적 작업 처리가 가능함을 확인..

내일배움캠프 2025.02.05

내일배움캠프 Unity - TIL : 25.02.04

오늘 학습한 내용1) Trim()을 활용한 구글 스프레드시트 데이터 처리 코드 개선스프레드시트에서 데이터를 받을 때 값이 공백이거나, 앞뒤에 불필요한 공백이 포함될 가능성이 있습니다. Trim()을 활용하여 혹시 모를 앞뒤 공백을 제거하여 데이터의 정합성을 유지하도록 개선했습니다. 2)  string.IsNullOrEmpty()를 활용한 사용자 입력값 검증 사용자 입력값이 null 또는 빈 문자열인 경우 예외가 발생할 가능성이 있습니다. string.IsNullOrEmpty()를 활용하여 입력값을 먼저 검사한 후 Trim()을 적용하는 방식으로 수정하여 오류를 최소화했습니다. 문제 및 해결 과정1) 문제 (Trim() 구글 스프레드시트)구글 스프레드시트에서 데이터를 불러왔을 때, 값 앞뒤에 불필요한 공..

내일배움캠프 2025.02.04
728x90