2023/12/31 4

[Unity] New Input System 사용하기

1. Window - Pakage Manager에 들어가서 Input System을 install 해준다 2. 오브젝트에 Player Input 컴포넌트를 추가해준다 3. Create Actions 버튼을 눌러 새로운 Action Asset을 생성해 주고, Actions 필드에 해당 에셋을 넣어준다 4. Open Input Settings 버튼을 누르고, Create settings asset 버튼을 눌러준다 여기까지 하면 설정 끝 코드에서 해당 메소드들을 이용해서 작성해주면 된다 추가적인 Input을 생성하려면 아까 만들어두었던 input action asset을 열어서 최상단 + 버튼을 눌러 새로운 액션을 추가해주고 키 바인딩을 해주면 된다 (Listen 버튼을 누르고 해당 키를 누르면 바로 해당 키..

[Unity] 오브젝트가 Destory되지 않게 하기

유니티에서는 Scene을 기준으로 한 씬에서 다른 씬으로 넘어갈 때 이전에 있던 씬의 오브젝트들을 전부 Destory하고 이동하게 되는데, 이 때 오브젝트가 destory되지 않게 하는 방법에 대해 알아보겠다 void Awake() { int numScenePersists = FindObjectsOfType().Length; if (numScenePersists > 1) { Destroy(gameObject); } else { DontDestroyOnLoad(gameObject); } } 싱글톤 패턴을 사용하여 DontDestoryOnLoad함수를 사용한다 해당 스크립트를 적용한 오브젝트 하위에 유지시킬 오브젝트들을 넣어주면 된다 싱글톤을 사용하지 않을 경우, DontDestoryOnLoad에 gameo..

[Unity] TMP(Text Mesh Pro) 폰트 변경하기

1. 원하는 폰트를 다운로드 한다 2. 유니티 Asset 내 폴더를 만들어 해당 폰트의 ttf/otf 파일을 넣어준다 3. Window - TextMeshPro - Font Asset Creator을 클릭한 후 Source Font File 위치에 다운받은 폰트를 넣어주고, 아래에 Generate Font Atlas 버튼을 클릭해준다 완료되면 맨 아래쪽에 있는 Save 버튼을 눌러서 적당한 폴더 위치에 저장해준다 끝! 폰트 설정은 인스펙터 창의 Font Asset에서 아까 만든 asset을 선택해주면 된다

[Coding] if return 문의 코딩 스타일(Early Return)

강의를 듣던 중, 강사 분께서 이런 식으로 if 문을 활용해서 조건이 맞지 않으면 그냥 바로 리턴을 해버리는 방식으로 코드를 작성하셨다 여태 생각해왔던 바로는 if(myFeetCollider가 Ground 마스크에 IsTouchingLayers가 true라면) { if(value.isPressed) { // 속도 바꾸기 } } 이런 식으로 작성하리라 생각했는데 아니었다 이런 코드 작성법이 궁금해서 더 찾아보니, Early Return 이라고 부르는 듯 하다 이러한 방식으로 코드를 작성하게 되면 if 문의 들여쓰기를 줄여 코드가 간결해지고, 조건에 맞지 않는 경우를 미리 처리하므로 가독성이 높아진다는 장점이 있다 그러나 긴 코드 속에서 과하게 사용될 경우, 오히려 가독성이 떨어지고 함수가 복잡한 형태로 남..