Programing/Unity(C#) 57

[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 문의 들여쓰기를 줄여 코드가 간결해지고, 조건에 맞지 않는 경우를 미리 처리하므로 가독성이 높아진다는 장점이 있다 그러나 긴 코드 속에서 과하게 사용될 경우, 오히려 가독성이 떨어지고 함수가 복잡한 형태로 남..

[Unity] Scene 화면에 보이는 컴포넌트 아이콘 크기 축소하기

여러 컴포넌트 아이콘들이 플레이어에 붙으면서 플레이어의 모습도 잘 보이지 않아서 불편함 상단에 있는 기즈모(Gizmos) 메뉴를 클릭해서 3D Icons의 사이즈를 변경해주면 된다 체크박스를 해제할 경우, 아이콘이 일정한 크기로 유지되고 항상 표시된 상태로 보인다 참고 https://docs.unity3d.com/kr/2021.3/Manual/GizmosMenu.html

[CS1061] Collision2D 타입 변수에 tag 속성을 붙일 수 없는 문제

'Collision2D'에는 'tag'에 대한 정의가 포함되어 있지 않고, 'Collision2D' 형식의 첫 번째 인수를 허용하는 액세스 가능한 확장 메서드 'tag'이(가) 없습니다. using 지시문 또는 어셈블리 참조가 있는지 확인하세요. (CS1061) OnCollision메소드에서 other.tag를 사용하려고 하니 에러가 발생했다 OnCollision 메소드와 OnTrigger 메소드 간의 차이가 있다면 각각 Collision2D와 Collider2D 타입의 변수를 받아온다는 건데, https://docs.unity3d.com/ScriptReference/Collider2D.html Unity - Scripting API: Collider2D Success! Thank you for help..

Edge Collider 2D 적용이 제대로 되지 않는 문제

스프라이트에 Edge Collider 2D 컴포넌트를 추가했는데 스프라이트 모양대로 나오지 않고 그냥 일자로 쭉 선이 그어진 모양으로 나왔다 Inspector 창에서 Sprite Shape Controll의 Edit Spline 버튼을 눌러주면 스프라이트 모양에 맞게 Collider이 잘 생성된다 원리는 잘 모르겠다... 처음에는 모양 인식이 잘 안 되는 건가? 이후에도 스프라이트 모양에 맞게 제대로 적용이 안 될 경우 Edit Spline을 다시 한 번 눌러주면 제대로 적용이 되었다 출처: https://community.gamedev.tv/t/edge-collider-not-working-new-2d-course/180539

Unity Remote 5 연결

휴대폰을 연동시켜 빌드 없이 바로 테스트 해볼 수 있게 해주는 방법이 있는데, 0. 휴대폰의 개발자 모드를 켜고, USB 디버깅을 켠다. (USB 연결 시 디버그 모드 실행) 1. 휴대폰에 Unity Remote 5 앱을 설치한다. 2. 유니티에서 Edit > Project Settings > Editor > Device - None 이라고 되어 있는 부분을 Any Android Device로 바꿔준다. 3. remote 앱을 먼저 실행한 다음 unity를 실행시켜서 테스트한다. 까지가 으레 말하는 그냥 정석적인 연결 방법이다. 근데 연결될 기미도 보이질 않아서 몇 가지 해결 방법을 추가로 찾아봤다. 미리 설정이 되어 있어야 하는 부분들이나, 체크해보면 좋을 것 같아서 아래에 정리. - File > Bu..