[Range(0, 12)]
public int Size = 12;
- 슬라이더 값으로 변경 가능
- 최대/최소값을 제한주기 좋음.
만약 소수점을 주고 싶다면,
[Range(0.0f, 12.0f)]
public float Size = 12.0f;
[SerializeField]
▶ 클래스 정의에서 접근 제한자를 생략한 경우 기본적으로 internal로 설정되고 클래스 내부 멤버에서 접근 제한자를 생략한 경우는 기본적으로 private로 설정된다.
<C#에서 제공하는 접근 제한자 6가지>
① public : 클래스의 내부와 외부 모든 곳에 접근이 가능하다.
② protected : 클래스의 내부에서와 해당 클래스를 상속 받은 자식 클래스에서만 접근이 가능하다.
③ private : 오직 클래스 내부에서만 접근이 가능하다.
④ internal : 같은 어셈블리에 있는 코드에서만 public으로 접근할 수 있다. ( namespace 안쪽 )
⑤ protected internal : 같은 어셈블리에 있는 코드에서만 protected로 접근할 수 있다.
⑥ private protected : 같은 어셈블리에 있는 클래스에서 상속받은 클래스 내부에서만 접근이 가능하다
유니티 스크립트에서 public 으로 변수를 선언한 경우 자동적으로 인스펙터창에서 공개 된다.
또한 변수에 [SerializeField] 속성을 지정했을 때에도 마찬가지로 같은 결과를 볼 수 있다.
public 변수 선언으로 유니티가 자동적으로 인스펙터창에 띄워주는 편리한 면이 있지만, 그보다
private 선언 후 [SerializeField] 속성을 지정해 주는 것이 좋다. 어떻게 보면 private 선언의 목적을 깨는 것이지만,
이것은 그나마 다른 스크립트의 오류를 찾는 것보다 훨씬 수월할 것이다.
[RequireComponent(typeof(Rigidbody))]
필수적으로 필요한 컴포넌트를 넣는코드.
스크립트를 실행하는데 꼭 필요한 컴포넌트가 없는상태로 실행되는 오류를 사전에 막을 수 있도록 응용할 수 있다.
나머지 밑에 모음 참조
https://dlgnlfus.tistory.com/159?category=608417
'Unity' 카테고리의 다른 글
[Unity] Json을 이용한 저장/불러오기 방법 (0) | 2019.10.30 |
---|---|
[Unity] Object 와 UI 구분하기 (0) | 2019.10.29 |
[Unity] 유용한 함수들 ( Mathf, Lerp, Slerp, Trigger.. 관련 ) 정리 (0) | 2019.10.25 |
[Unity] TextMeshPro - text (영어+한글지원) 생성하기 (0) | 2019.10.24 |
[Unity] Static Object / Occlusion Culling (0) | 2019.10.24 |