도파민조아 MYPI

도파민조아
접속 : 4423   Lv. 51

Category

Profile

Counter

  • 오늘 : 45 명
  • 전체 : 143528 명
  • Mypi Ver. 0.3.1 β
[Unity Engine] [Unity3D] 사소한 디버깅 팁. (3) 2016/06/03 AM 12:29
1.아시겠지만 Unity3D에는 디버그모드가 있긴 있습니다.



이렇게 누르면...



구지 Serialize를 안해도 private값을 확인할 수 있습니다.
예로부터 프로그래머는 마우스를 멀리하라 그랬다. 클릭하기 넘나 귀찮은것...
그래서 단축키를 쓰는 방법을 없을까 생각해 보았다.

http://pastie.org/10862394#

먼가 좀 삽질한거 같지만 넘어가자.
이렇게 단축키 추가가 가능하다. ItemMenu의 마지막문자열을 기준으로 단축키가 지정 되는데

여기서는 [시프트 + 컨트롤 + D] 로 설정되었다.

이제 단축키로 Inspector의 모드를 변경할 수 있다.


* 위 소스코드가 더려운 이유는 InspectorWindow라는 클래스가 외부에서 접근 불가능한 Internal이기 때문이다.
Reflection을 사용해서 강제적으로 접근하여 맴버값을 알아내고 함수를 사용해서 그렇다. 별로 좋은 방법은 아니지만
뭐 딱히 방법이 생각나지 않아 이런 식의 삽질을 해봤다.

* 만약 Inspector를 여러개 쓴다면 그에 맞게 수정해 주어야 한다.

-Reference
유니티 디컴파일 소스
https://github.com/MattRix/UnityDecompiled
유니티 스크립트 레퍼런스 MenuItem
https://docs.unity3d.com/s!cripReference/MenuItem.html


**수정1 : 단축키 관련 설명 추가
**수정2 : 코드수정

신고

 

참치 마요    친구신청

지나가던 현직 유니티 클라 개발자입니다. 방금까지 야근하다가 12시 반쯤에 겨우 들어와서 컴터 틀어봤습니다.

오옹..리플렉션이 public 아닌 멤버변수에 강제 접근가능하다고는 배웠는데, 실제로 이렇게 쓸 수 있군요. 뭔가 사도스러운 느낌이 살짝 들지만 신기방기 합니다.

어셈브리에 쿼리처럼 짜서 접근하는 것도 신기하네요. 오늘 좋은 거 많이 보고 갑니다 ! 감사감사!

잘자염    친구신청

수고하십니다. ㄷㄷ 개발자는 진짜 고달프네요.

참치 마요    친구신청

ㅎㅎ 아이디 잘 지으셨네요. 이제 자려구요. 종종 들려서 좋은 강좌 잘 보겠습니다 !
X