프로그래밍/Unity

유니티 팁 & 트릭

gameObject 2023. 11. 13. 16:40
728x90

https://www.youtube.com/watch?v=-ACzLA4mh4Q


1. Play에서 설정값 저장하기

-> Play 상태에서 카피하고

게임정지 상태에서 Paste하면 된다.

 

2. Grid Snap

Grid Snap 간격을 조절해서 회전값과 떨어뜨릴 값을 지정한 다음

Ctrl를 누르고 객체를 움직이면 정해놓은 Grid만큼씩 조정이 가능하다.

Map에서 레벨디자인할때 유용하게 사용할 수 있다.

 

3. Align with View : 씬뷰에서 보는 각도로 카메라 위치 시키는 방법

씬뷰에서 원하는 카메라나 오브젝트가 위치할 위치와 각도로 설정 후 Ctrl + Shift + F

 

4. Shift + F -> 시점 따라가기. // Focus 따라가기

 

5. Inspector를 2개 띄우기

한 Inspector를 Lock을 시켜놓아야 하는 상황에서 사용하기 좋다.

 

6. Script Lifecycle Flowchart

유니티 스크립트 실행순서를 숙지해야한다. 

이것때문에 꼬이는 케이스가 굉장히 많다. 반드시 숙지하자.

같은 스크립트일경우, 옵션 메뉴에서 어떤 스크립트를 먼저 실행시킬지 정할 수 있다.

 

 

7. Range Attribute

Float 변수를 슬라이더로 세팅하는 팁

Float/int qustndml dnldp [Range]를 적기

0~1까지 슬라이더로 바뀌는것을 볼 수 있다.

[Range(0,1)]
public float speed;

기획자가 숙지하지 못했을때, 오류가 발생할 수 있는것을

범위를 프로그래머가 미리 설정하여 방지할 수 있다.

 

8. Space & Header Attribute

스크립트의 프로퍼티를 깔끔하게 정리하는 팁

 

[Header("Info")]
public int hp;
public int mp;
public int level;

[Space]

[Header("Spec")]
public float speed;
public float attack;
public float defend;

 

변수명을 헤더Space로 깔끔하게 Inspector창에서 보이도록 수정할 수 있다.

 

9. Hide Inspector

public 변수를 인스펙터에서 안보이게

public으로 설정해야만 하는 변수가 있는데, 이를 아예 인스펙터창에서는 안보이도록 하여 수정가능성을 줄임

[HideInspector]를 입력하면 된다.

[HideInspector]
public int hp;

 

10. SerializeField

private 변수를 인스펙터에서 보이게 한다.

 

private변수라도 인스펙터에서 기획자, 또는 프로그래머가 손쉽게 바로바로 수정이 필요한 경우가 생길 수 있다.

이때 사용하면 좋다.

기획자도 유니티를 키고, 아트도 유니티를 킨다.

[SerializeField]
private int mp;

 

11. Debyg Mode

Private 변수를 인스펙터에서 보이게

화질이 좀 흐리지만, 아래쪽에 private로 설정한 변수들이 수정불가한 상태로 조회가 가능한것이 보인다.

편하게 디버깅 할때 사용한다.

 

12. Serializable

다른 클래스의 멤버 변수를 Inspector에 표시 할 때 

 

 

 

13. 배열 원소의 이름 표시 하기

클래스의 첫번째 변수를 string 으로

배열을 지정하면 0,1,2,3,4 이런식으로 인스펙터에서 보이게 되는데

아래와 같이 코드를 짜주면 string으로 이름을 붙일 수 있다.

즉, key값을 맨 위로 올리면 이름을 볼 수 있다.

 

가장 위쪽의 변수를 string으로 해주면 배열 이름이 알아서 바뀐다.

 

14. 싱글톤 만들기

템플릿 상속으로 싱글톤 쉽게 만들기

 

유니티에서 싱글톤을 템플릿으로 만들어 두었다고 한다.

반복해서 칠 필요가 없을것 같은데, 18년도 영상이라 테스트 필요함

 

15. 오브젝트 풀링 스크립트

Asset Store 활용

웬만한 오브젝트풀링은 에셋스토어에서 써라 ...? 라고 얘기한다.

 

16. APK 용량 줄이기

빌드 세팅을 ARMv7로 설정하기

 

Armv7 세팅을 하게 되면 용량이 약 절반정도로 줄게된다.

모바일환경에서 Intel CPU를 사용하는 안드로이드폰이 거의 없기때문에 가능하다. 타겟 모바일환경이 Arm을 사용한다면 활용가능

 

17. APK 내부 에셋 용량 확인하기

APK 빌드시에 에셋 파일들의 실제 차지 용량과 비율 확인하기

build를 한다. 

콘솔의 로그창을 오픈한다.

아래쪽에 Build Report란에서 확인이 가능하다.

어떤 텍스쳐가 얼만큼 차지하는지도 나온다.

압축된 후의 결과물이라고 한다.

 

압축이 안된 텍스쳐들을 찾아서 그들을 압축을 하고 사이즈를 맞춰주기만 해도 좋다고 한다.

 

18. 서버없이 서버에 테이블 만들기

유니티 퀵시트 사용하기

 

이것을 사용하면 구글 스프레드시트, 엑셀파일을 테이블로 사용할 수 있다고 한다.

 

19. 구글에서 정확한 시간 가져오기

UTime 에셋 사용하기

 

20. Visual Studio Tip!

Enum 자동완성,

스위치문에 Enum이름 넣어주고 탭 두번 아래 화살표 누르면 자동 완성된다고 한다.

 

 

Cmd + Shift + M을 누르면

유니티에서 제공하는 이벤트 함수들이 쫘라락 나와서

함수명이 기억안날때 쓰면 된다.

 

 

 

함수 팝업도 열수있다고 한다.

함수 명에 커서를 두고 Ctrl을 누르면 바로 수정이 된다고 한다.

 

728x90

'프로그래밍 > Unity' 카테고리의 다른 글

[유니티 Tip] Transform 트랜스폼  (0) 2023.11.14
내가 보고싶은 Unity 코리아 영상  (1) 2023.11.13
IL2CPP 2장  (1) 2023.11.09
IL2CPP 1장  (0) 2023.11.09
Overloading과 Overriding / method Signature 알아보기  (0) 2023.10.20