멍멍이네 블로그

public int a = 100;
이렇게 변수 선언하고나서
이 스크립트가 연결되어있는 오브젝트를 선택하고 Inspector창에서 a의 변수값을 50으로 바꾸었습니다.
그런데 그뒤로 a = 1000000으로 바꿔도 a변수가 50으로 고정되어있는데..
Inspector창에 있는 a변수값을 다시 스크립트랑 연동시키려면 어떻게해야되나요 ?
public 변수 선언하고 Inspector창에서 변환을 안하면 계속 script랑 값이 연동되다가...
inspector창에서 한번이라도 바꾸면 고정되는거.. 그걸 푸는 방법을 질문하는겁니당 ㅜㅜㅜㅜ
어떻게보면 편한데.. 어떻게보면 불편하네요;;
다른 스크립트"들"이 참조하고있어서.. private로 바꾸면 에러가 나오고..ㅜ..

--------------------------------------------------------------------------------------------

[답변 1]

가장 쉬운 두가지 방법이 있는데요.

하나는 인스펙터에서 해당 컴포넌트 우측위에 톱니바퀴아이콘 클릭해서 리셋하면 초기화됩니다.
이게 제일 편하긴한데 다른 것도 다 초기화되는 문제가 있네요.

그리고 다른 하나는 해당 변수 위에 [System.NonSerialized] 를 입력하시고 조금 기다리시면
인스펙터에서 없어집니다. 없어진거 확인하시고 [System.NonSerialized]를 지우시면 그것만 초기값 그대로 생성됩니다.

 

[답변 2]

인스펙터에 값이 있다면 private으로 바꿔서 안보여도 그 값이 우선적용 됩니다.
우선 인스펙터에서 적은 값을 지우시구요.
인스펙터에선 사용안하면서 public으로 유지하시려면 [HideInInspector] 를 변쉬위나 앞에 달아주세요.

 

p.s. 답변1은 테스트해봤는데 2는 안해봄. 1번 답변대로 하면 확실히 되긴 하는데... 쨋든 귀찮은건 마찬가지 ㅜㅜ

유니티도 불편한점이 있구나 싶은..ㅜ..