전체 글 114

[TIL] 내일배움캠프_Unity 최종 프로젝트 5주차: 배포 및 User Test 3, 기술 면접 대비 31일차

팀 회의 내용 - 테스트 회의 - 수정 사항 및 버그 역할 분담 오늘 한 일 - 테스트 - 각종 버그 픽스 및 수정사항 변경 기술 면접 답변 31일차 Q: SceneLoad 종류를 비교해서 설명해주세요 A: 씬을 불러오는 방법에는 동기와 비동기 방식이 있습니다 LoadScene은 다음 프레임동안 로드가 발생하면서 장면을 직접 로드합니다 씬이 로드되는 동안은 게임이 정지되며, 음악과 오디오는 계속 재생되지만 로드가 완료될 때 까지 게임은 실행되지 않습니다 하지만 큰 씬을 로드할 때는 게임이 잠시 멈춰서 사용자에게 불편을 줄 수 있습니다 LoadSceneAsync를 사용하면 여러 프레임에 걸쳐 분산되고, 게임 실행을 계속 하면서 백그라운드에서 다음 장면을 비동기식으로 로드할 수 있습니다 큰 씬을 로드할 때에..

TIL 2023.11.30

[TIL] 내일배움캠프_Unity 최종 프로젝트 5주차: 배포 및 User Test 2, 기술 면접 대비 30일차

팀 회의 내용 - 파산 로직 - PC 버전을 위한 Input 등 - UI Dotween 적용 대상 - 멘토링 사전 질문지 작성 오늘 한 일 - Sound 진짜 마무리 및 적용 - 파산 씬 로직 완성 오디오 최적화 - 모바일이거나 입체 음향을 사용하지 않는다면 Mono로 사용하는 것이 좋다 런타임 시 위치에 따라 멀티 채널 사운드가 실시간으로 모노 소스로 평탄화 되어 cpu 소모가 등가하고 메모리가 낭비될 수 있다 - 유니티에서는 다시 압축하기 때문에 원본은 wav 파일을 사용하는 것이 좋다 - 사운드 압축 포맷 PCM : 품질이 높아지는 대신 파일의 크기가 커져서 매우 짧은 음향 효과에 적합하다 ADPCM : 발소리나 충격음, 무기 소리와 같이 많은 노이즈를 포함하고 대용량으로 재생되어야 하는 사운드에 ..

TIL 2023.11.29

[TIL] 내일배움캠프_Unity 최종 프로젝트 5주차: 배포 및 User Test 1, 기술 면접 대비 29일차

팀 회의 내용 - 진행상황 공유 - 일정 조율 - 게임 영업 시스템 개편 - PC 버전을 위한 입력시스템 - 키스토어, 개발자 계정 오늘 한 일 - Sound 찾기 - 구현된 기능 테스트 원래 이번주는 배포를 위한 테스트 및 버그픽스, 밸런스 조절 후 플레이 스토어에 등록하는 것이 목표였다 하지만 주요 게임 시스템 중에서 숙련도가 쌓이면서 루즈해지는 문제가 발생하여 좀 더 추가적인 작업이 필요해졌다 이에 더불어 원래 모바일을 목표로 하던 게임을 PC로도 배포할 생각을 추가로 하게되면서 입력 시스템에 대한 문제도 함께 발생하게 되었다 확실히 플레이 스타일에 따라 다르겠지만 여러 기획적인 부분들에서 의견 충돌이 조금씩 생기는 것은 어쩔수 없는 부분이다 이것 또한 여러 해결책을 생각하면서 의견은 조율해가나가는..

TIL 2023.11.28

[TIL] 내일배움캠프_Unity 최종 프로젝트 4주차: Lobby Scene 제작5, 기술 면접 대비 28일차

팀 회의 내용 - 진행 상황 공유 - 이번주 회고 및 개선사항 오늘 한 일 - 버그픽스 - 파산 컷 씬 TimeLine 제작 이번주 회고 후 개선 사항은 " UI가 뜰 때 뒷부분에 panel 색상, 투명도 맞추기" 이다 UI를 띄웠을 때 다른 UI들과 상호작용할 수 없게 패널을 띄워서 막아두었는데 여러사람들이 각자 작업을 하다 보니 다 다른 값을 주고 있었던 것 ! 이를 맞추기 위해 어떤 값을 적용할지 정하고 통일하는 작업을 진행하였다 더 찾아보면 통일성 없는 부분들이 더 많을 것으로 예상되는데 이 부분도 한번 찾아보는 것이 좋을 듯 싶다 테스트할 때 신경써서 보자 !! 기술 면접 대비 28일 Q: 유니티 최적화 기법은 어떤 것들이 있나요? A : 프로파일링을 통해 어떤 부분이 성능 저하를 일으키고 있는..

TIL 2023.11.27

[TIL] 내일배움캠프_Unity 최종 프로젝트 4주차: Lobby Scene 제작4, 기술 면접 대비 27일차

팀 회의 내용 - 진행 상황 공유 오늘 한 일 - 유니티 그래픽 최적화 공부 1 - 기술 면접 답변 롤플레잉 - Result Panel 애니메이션 적용 및 수정 - 렌더링 파이프라인이란 ? 추상적인 공간에 정의된 오브젝트들을 가상의 카메라에 담아 모니터에 출력하는 과정으로 프로그램에 작성된 수치들을 이용해서 화면에 띄우는 일련의 단계 - 고정 렌더링 파이프라인 순서 로컬 스페이스 -> 월드 스페이스 -> 뷰 스페이스 -> 후면 추려내기 -> 조명 -> 클리핑 -> 투영 -> 뷰포트 -> 래스터 라이즈 - 유니티 렌더링 파이프라인 빌트인 렌더 파이프라인, 스크립터블 렌더링 파이프라인 (SRP) - 유니버셜 렌더링 파이프라인 (URP) , 고해상도 렌더 파이프라인 (HDRP) - 드로우 콜이란 ? : CPU..

TIL 2023.11.23

[TIL] 내일배움캠프_Unity 최종 프로젝트 4주차: Lobby Scene 제작3, 기술 면접 대비 26일차

팀 회의 내용 - 진행 상황 공유 - 멘토링 받은 내용 정리 오늘 한 일 - 사운드 마무리 - 버그 픽스 오늘 드디어 사운드를 마무리 지었다 험난한 에셋찾기의 길 ... 하지만 리팩토링이 남아있다 바꿔야 할 부분은 UI_GameSettings 클래스는 view 와 Controller 를 분리하여 각자의 역할만 할 수 있도록 해주고, 초기화 로직이 불필요한 내용들이 있어 SoundManager와 함께 보완해야함 기술 면접 대비 26일차 Q: Object pool을 사용하는 이유는 무엇인가요? A: 오브젝트의 생성과 파괴는 부하가 크고 가비지 컬렉터를 발생시켜 성능을 저하시킵니다 그래서 이를 방지하기 위해 사용합니다 Q: 객체를 이동할 때 벡터를 정규화하는 이유에 대해 설명해주세요 A: 정규화를 하지 않는다..

TIL 2023.11.23

[TIL] 내일배움캠프_Unity 최종 프로젝트 4주차: Lobby Scene 제작2, 기술 면접 대비 25일차

팀 회의 내용 - 배포 전 까지 일정 관리 - 튜토리얼 버그 테스트 오늘 한 일 - 사운드 에셋 찾기 - 버그 픽스 기술 면접 대비 25일차 Q: 코루틴(Coroutine)이 무엇이며, 어떤 상황에서 유용하게 사용될 수 있나요? A: 코루틴은 시작과 끝이 항상 동일한 프레임에 발생해야하는 일반적인 메서드들과 달리, 작업을 여러 프레임에 분산시킬 수 있는 특별한 메서드 입니다 예전에 청소하는 게임을 만든 적이 있었습니다 청소한 바닥을 깨끗한 바닥으로 변경시켜줄 때 일정 시간 대기 후 바닥을 변경시켜 주는 로직을 구현 해야 했는데 이 작업을 Update 함수에서 처리하게되면, 모든 프레임에서 실행되어 대기 시간 동안에도 지속적으로 실행되므로, 부자연스러울수도 있다고 생각해서 비동기 적인 방식으로 수행되게 하..

TIL 2023.11.22

[TIL] 내일배움캠프_Unity 최종 프로젝트 4주차: Lobby Scene 제작1, 기술 면접 대비 24일차

팀 회의 내용 - 남은 구현 내용 정리 - 일정 정리 - UI Sorting Order - GameScene 벽지 정하기 오늘 한 일 - GameScene 매장 밖 디자인 - HomeScene 캐릭터 애니메이션 작업 유니티에서 AI를 다루는 것은 생각보다 어려운 일이다 언리얼에서 작업했을 땐 BT를 사용해서 노드로 간단하게 구현이 가능했다 유니티에서 BT를 구현해보고 있을 내 자신이 눈에 보인다 흠 언리얼 처럼 편하게 사용할 수 있다면 ? 재밌겠다 어렵긴 하겠지만 ...? 렌더링 파이프라인은 DX에서 조금 배웠던 내용인데 여기서 다시 마주친 그대 ... 이번 기회에 확실하게 개념을 잡고 그래픽 최적화에 대해서도 이해를 하고 넘어가는게 좋겠다 옛날에 미리 해둘걸 기술 면접 대비 24일차 Q: 유니티 렌더링..

TIL 2023.11.21

[TIL] 내일배움캠프_Unity 최종 프로젝트 3주차: 추가 기능 구현7, 기술 면접 대비 23일차

팀 회의 내용 - 진행 상황 공유 - 통합 테스트 전 누락된 구현 사항들 분담 오늘 한 일 - 오디오 믹서를 통해 사운드 밸런스 조절 - 개발로그 작성 - 파산 씬 애니메이션 콘티 작성 오랜만에 새로운 기능을 사용해보았다 AudioMixer : AudioSource 에 대하 제어, 밸런스 및 동적 조정을 할 수 있는 도구로 오디오 디자인 및 편집이 가능하다 Sound 작업을 하면서 소리의 볼륨들이 다 제각각이라 밸런스를 맞춰주기 위해서 이 기능을 사용하게 되었다 예전에 AudioMixer 라는 기능이 있다는 건 봤지만 그냥 단순하게 음량 조절을 편하게 해주는 기능인 줄 알아서 넘겼는데 이런 대단한 기능이 숨어져 있을 줄은 몰랐다 그리고 이번 기회를 바탕으로 Sound 관련 플러그인에 대해서도 알아보면 좋..

TIL 2023.11.17

[TIL] 내일배움캠프_Unity 최종 프로젝트 3주차: 추가 기능 구현6, 기술 면접 대비 22일차

팀 회의 내용 - 진행 상황 공유 오늘 한 일 - 사운드 소스 찾기 2 - 사운드 적용 2 - 기술 면접 롤플레잉 - 효과음 재생 로직 변경 효과음 로직은 원래 오브젝트 풀을 사용했었는데 굳이 오브젝트로 만들어서 생성할 필요가 있을까요 ? 라는 말과 함께 새로운 방법을 알려주셔서 SoundManager에서 AudioSource 컴포넌트를 여러개 가지고 있게 하고 재생중이지 않은 애들을 재생시켜주는 방법을 사용하여 로직을 변경하였다 이렇게 하여 기존에 사용했던 방법보다 코드가 더 간결해지고 간단하게 구현이 가능했다 !! 오늘 기술 면접 롤플레잉은 완전 대차게 말아먹었다 나는 정답을 써두고 외워서 말하는게 적성에 맞는 스타일인데 요새는 방법을 바꿔서 키워드만 보고 설명을 할 수 있는 연습을 하고 있다 진짜 ..

TIL 2023.11.17