Programing 188

[C#] using static (정적 멤버 직접 사용)

일반적으로 C#에서 다른 클래스를 참조해 메소드 등을 사용할 때에는 클래스명.메소드 과 같이 작성해야 하지만 using static {클래스명}; 상단에 위와 같이 선언해주면 클래스명을 생략하고도 메소드나 변수 등을 사용할 수 있다 단, 혼란을 유발할 수 있기 때문에 해당 메소드나 변수가 명확하게 구별되면서 반복되는 부분에만 사용할 것

[Unity] 물리 충돌 시 떨림 현상

플레이어 캐릭터를 움직여서 다른 물체와 충돌할 경우 떨림 현상이 발생하기도 하는데 이를 해결하기 위해서는 몇 가지 방법이 있다 1. 물리와 관련된 이동은 FixedUpdate에서 진행 일반적으로 물리 이동을 포함한 것들을 Update 함수에서 진행할 텐데, 이를 FixedUpdate에서 진행하면 된다 스크립트 라이프사이클에서의 FixedUpdate와 Update의 위치 참고 2. transform(position, Translate)을 이용하지 않고 rigidbody의 velocity나 addforce를 이용해 이동시켜 주고, physics material을 새로 하나 만들어서 bounciness의 값을 0으로 설정하고 rigidbody의 meterial 자리에 붙여주면 된다

[Unity] 도트 리소스 불러올 때 픽셀이 깨지는 문제

유니티에서는 기본적으로 이미지 파일을 압축하나, 도트 이미지 같이 작은 리소스의 경우 압축하게 되면 깨져보이게 된다 아래 설정은 전부 리소스의 인스펙터 창에서 변경해주면 된다 1. Pixel Per Unit 확인하기 1유닛에 몇 pixel을 할당할 거냐고 묻는 옵션 16*16사이즈 픽셀 한 칸을 1Unit으로 할당하기 위해 위와 같이 16으로 설정했다 그냥 기준 도트 스프라이트 사이즈로 맞춰주면 된다 이어서 2. Filter Mode를 Point(No Filter)로 변경해주고 3. Compression을 None으로 변경해주면 리소스가 깨지지 않고 선명하게 표현된다

[Github] Unity 프로젝트 파일 Languages 비율 문제(ShaderLab, HLSL)

github에 분명 Unity 프로젝트 파일을 올렸는데 Language 비율이 이런 식으로 알 수 없게 나왔다 https://github.com/github/gitignore Github에서 제공하는 ignore 파일을 사용했는데도 c# 100%로 뜨질 않아서 이상하다 생각함 원인은 TextMesh Pro 폴더 내 파일들이었다 .gitignore 파일에 TextMesh Pro/ 를 추가하고 다시 시도하니 정상적으로 비중이 잘 출력되었다 패키지를 추가했을 경우 github에 같이 업로드 되지 않도록 주의할 것

Programing/Git 2024.02.29

[Git] Github 프로젝트 생성하고 파일 업로드 하기

1. 깃허브에 repository(원격 저장소) 만들기2. 로컬 저장소 만들기프로젝트 폴더에서 Git bash here 누르고$ git init명령어 입력 3. repository와 로컬 저장소 연결$ git remote add origin [URL]URL은 레포지토리에서 Code 버튼 누르면 뜨는 HTTPS 주소다* SSH로 연결시키려면 따로 키 발급이 필요 // 연결된 repository 변경$ git remote set-url origin [URL]// 연결된 repository 삭제$ git remote rm origin// 연결된 repository 확인$ git remote -v  4. 만약 repository에 gitignore 등 파일이 올라가 있을 경우(없을 경우 생략)$ git pull..

Programing/Git 2024.02.23

[React Native] run-android 도중 발생하는 초기 오류 해결

npx react-native doctor로 확인한 내역... 오늘 닥터를 몇 번이나 호출했는지 모르겠다 처음에는 adb도 에러( Adb - No devices and/or emulators connected. Please create emulator with Android Studio or connect Android device. )가 떴는데, 안드로이드 스튜디오에서 가상 머신을 실행시켜주고 나니 해결이 되었다 JDK Error jdk8을 다운받으래서 다운받았었는데 이번엔 jdk버전이 17 이상 20이하여야 된댄다... https://www.oracle.com/java/technologies/downloads/#jdk17-windows 새롭게 jdk17을 다운받아준다 사용자 변수와 시스템 변수에 각각..

[React Native] 새 프로젝트 생성 시 android 폴더 미생성

react-native run-android 명령어가 안 먹히고 module이 없다... 만 반복해서 한참 헤메던 끝에 남들의 rn 프로젝트랑 내 컴퓨터에 생성된 rn 프로젝트의 폴더 상태가 다르단 걸 깨달음 원래 이렇게 다 있고 android 폴더에서 작업을 진행하면 되는 건데 내 프로젝트 폴더는 이게 전부였다 처음 생성해 보는 거라 이상하다고도 여기질 못함 npm uninstall -g react-native-cli npm install -g react-native-cli npm install -g react-native cmd에서 react native cli을 언인스톨 해주고 다시 인스톨 해 준다 다운받는 과정에서 뭐가 잘못됐었는지... 환경변수 설정에서 뭐가 잘못됐는지... 다시 다운받고 npx..

[Unity] 버튼 위에서 드래그 시, 드래그 이벤트가 막히는 문제

스크롤뷰에 버튼들을 넣고 게임을 실행시켜 보니, 버튼들의 위에서는 스크롤뷰가 제대로 스크롤 되지 않았다 원인은 버튼 오브젝트에 BindEvent를 통해 터치 이벤트를 구현하는 과정에서 UI_EventHandler 컴포넌트에서 상속받았던 IDargHandler 였다 Drag 기능을 쓰지 않음에도 해당 컴포넌트에 IDragHandler가 들어가 있어 버튼 오브젝트가 DragEvent를 가로챈 것이다 public class UI_EventHandler : MonoBehaviour, IPointerClickHandler, IDragHandler 그냥 IDragHanlder를 상속받는 부분을 지우고, 핸들러 관련된 코드를 지워주면 정상적으로 버튼 부분을 드래그 해도 전체 슬라이더가 스크롤 된다 만일 한 게임 내에..

[Unity] Sprite가 UI 이미지 위에 보이게 하기

일반적으로 Sprite들은 canvas 위에 올라간 UI의 뒤에 보이게 되는데, 이를 UI 앞으로 보이게 하고 싶었다 우선 Main Camera 외에 UI_Camera를 만들어 준 다음 위와 같이 각 카메라 설정을 해 주면 된다 체크해야 하는 부분은 Main Camera Clear Flags = Don't Clear 또는 Depth Only Culling Mask = Default Depth (UI Camera의 Depth보다 숫자가 높으면 된다) UI Camera Culling Mask = UI Depth 사용할 UI의 Layer는 UI로 설정되어 있어야 한다 그리고 Canvas 컴포넌트에서 Render Mode를 Screen Space - Camera로 변경해 준 다음, UI_Camera를 Rende..