블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2794)
Unity3D (852)
Programming (478)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (11)
3DS Max (3)
Game (12)
Utility (68)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday


Link : http://remarkablue.tistory.com/758

반응형
Posted by blueasa
, |
게임을 만들면 UICamera와 MainCamera 두 개를 보통 쓰는 데,

UI를 클릭하고 싶어서 클릭했더니 MainCamera쪽도 체크돼서 두 곳 다 실행되는 경우가 생기는데..

우연한 기회에 답을 주신 분이 있어서 적어놓는다.


NGUI 기준..

UICamera 클래스를 보면 

static public GameObject hoveredObject;

가 있다.

hover(UI 오브젝트 위에 있는 상태) 된 오브젝트가 들어가 있는 곳인가보다..


hoveredObject가 null이면 UI위에 있는 상태가 아니니, 다시 말해 터치된 곳에 UI가 없는 상태니 MainCamera쪽을 실행하면 되겠다.


if(null == UICamera.hoveredObject)

{

    // 게임쪽 클릭 처리

}




출처 : http://devkorea.co.kr/bbs/board.php?bo_table=m03_qna&wr_id=37658&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%EC%B9%B4%EB%A9%94%EB%9D%BC&sop=and&currentId=44

반응형
Posted by blueasa
, |

OS : iOS 7.0.3

Device : iPhone4S


iOS7 업데이트 후, 그냥저냥 써오다가 어느날 갑자기 업데이트 숫자가 뜨길래 앱스토어에 들어갔는데

이전 업데이트 받은 목록도 없고, 업데이트 해야 될 목록도 없었다.

이건 뭐지..하면서 이리저리 알아본 결과..


[해결방법]

'설정-일반-재설정-네트워크 설정 재설정'에 가서 네트워크 설정을 초기화 해줬다.


P.s. 네트워크쪽만 초기화(이전 로그인 했던 WiFi의 자동로그인 설정이라던가..) 하는거라 다른쪽엔 영향을 안미치니 폰이 초기화 되는거 아닌지 걱정은 안하셔도 됩니다.

반응형
Posted by blueasa
, |

제목엔 2.7로 적었지만, 이번에 NGUI 2.6.4에서 3.0으로 업그레이드 하면서 수정해줘야 될 사항들 간단 정리..

아는데까지만 정리하는 거라 빠지는것도 있음.

새로 알게 되면 추가해야 될 듯..



[UICheckBox]

- UICheckBox -> UIToggle

- UICheckBox.isChecked -> UICheckBox.value

- Checkbox State == UIToggle.current.value

- 더이상 root(GameObject)를 설정안함 -> Group ID(Index)를 직접 셋팅하는 방식으로 변경. 


[UIButtonSound]

- UIButtonSound -> UIPlaySound


[UISprite]

- UISprite 통합(Filled/Sliced/Tiled 등은 내부 메뉴로 바꼈다)

   = UIFilledSprite -> UISprite

   = UISlicededSprite -> UISprite

   = UITiledSprite -> UISprite

- UISprite의 Scale 값이 텍스쳐 크기였던 것이 기본 Scale 1로 바뀌고, Dimensions가 생겨서 여기서 크기를 지정한다. 


[UILabel]

- UILabel의 Scale 값이 폰트 크기였던 것이 기본 Scale 1로 바뀌고, Dimensions가 생겨서 여기서 크기를 보여주지만, 폰트는 Dimensions 조절이 불가능..

- 넓이(width) 제한은 Dimensions의 width 값으로 조절.
- 라인제한은 UILabel-Max Lines 로 조절(0은 무제한,자동조절)
- Label 크기 조절은 Overflow : ShrinkContent 로 바꾼 후, Dimensions를 조절(Scene View에서 Label의 외곽 파란 동그라미를 잡아서 조절해도 됨)
- Label 크기 조절은 Overflow 종류에 따른 사용법을 좀 더 알아봐야 할 듯..
- 우선 Label 크기 조절은 Overflow : Resize Freely 로 선택한 후, Transform-Scale 조절로..

[UIPanel]

- UIPanel에 depth가 생겼다. Panel의 depth끼리 대분류가 되고, Widget의 depth가 소분류로 나뉜다.

  결과적으로 패널 단위로 분리가 되고, 한 패널 안에서만 위젯들의 depth를 관리해주면 되게 되어서 depth 관리가 편해졌다.(Good)

- Panel끼리는 동등한 위치이기 때문에, Tree Node 상 하위에 있는 Panel이라도 모두 맞게 셋팅해 줘야 된다.

- depth 관리가 되기 때문에 이제 Label을 보이기 위해 넣었던 Panel은 빼도 된다(-z값도 빼도 될듯하다. Collider사용을 위해서 넣었다면 유지..)


[Atlas]

- Atlas를 NGUI에서 통합관리 하게 바꼈다. 결과적으로 아틀라스가 다름으로 인해서 생기는 depth 관리문제가 사라졌다.(Font Atlas 포함)(Good)


[Common]

- checkbox.onStateChange += OnCheckboxState -> EventDelegate.Add(checkbox.onStateChange, OnCheckboxState);

- 여러 번 실행되는 곳에서도 한 번만 등록하려면..

  = checkbox.onStateChange += OnCheckboxState -> EventDelegate.Add(checkbox.onStateChange, OnCheckboxState, true);

- checkbox.onStateChange = OnCheckboxState -> EventDelegate.Set(checkbox.onStateChange, OnCheckboxState);

- checkbox.onStateChange -= OnCheckboxState -> EventDelegate.Remove(checkbox.onStateChange, OnCheckboxState);

- 'Make Pixel Perfect' 버튼 -> Widget Component의 'Correct' 버튼으로 대체.

- widget의 크기를 transform.scale로 표현하던 것을 widget.width/widget.height로 대체.

- Prefab도 새로 체크해줘야 함.

- Widget들이 바뀌면서 Atlas도 새로 저장해줘야 된다. Widget 정리하면서 저장할 때 Atlas 저장할지 물으면 저장하고 업데이트 시키자.


[참조]

http://www.tasharen.com/forum/index.php?topic=11.msg27296#msg27296


3.0.0 has been released. Upgrade-centric video:
http://www.youtube.com/watch?v=uNSZsMnhS1o&list=UUQGZdUwzE8gmvgjomZSNFJg

Beginner / overview video:
http://www.youtube.com/watch?v=OT0hTxjjkY4&list=UUQGZdUwzE8gmvgjomZSNFJg

Scroll view example (because it was requested):
http://www.youtube.com/watch?v=OiA4o8KqBFI&list=UUQGZdUwzE8gmvgjomZSNFJg

반응형
Posted by blueasa
, |


[Active/InActive HotKey for NGUI]

Alt + Shift + A



[출처] http://www.youtube.com/watch?v=uNSZsMnhS1o



[추가1]

https://answers.unity.com/questions/566114/is-there-a-keyboard-shortcut-for-setting-an-object.html



[추가2]

Unity2018에서 해당 키가 안먹힘

원래 NGUI 부가기능인데 유니티가 좋아보였는지 내장시켰다고 함.

그래서 양쪽에서 같은 Hotkey를 셋팅했기 때문에 충돌나서 키가 안먹힌다고 함.

유니티에 내장됐기 때문에 NGUI의 Hotkey 소스를 주석처리 하자.


NGUISelectionTools.cs

에 보면 

[MenuItem("GameObject/Selection/Toggle 'Active' #&a")]

부분이 있는데

해당 MenuItem 부분만 주석처리하면 됨.


[출처] 게임코디 선후님

반응형
Posted by blueasa
, |
Unity3D와 NGUI로 게임을 개발하면서 가끔 게임 로직상으로 NGUI를 활성/비활성 등을 해야 될 때..

제대로 셋팅이 적용되지 않는 경우를 가끔 보게 된다.
(분명 비활성화 시켰는데 활성상태 그대로라던지..사라져야 할 UI 이미지가 그대로 남아있다던지..)

어디서 봤는지 기억은 가물가물하지만..

NGUI Update가 Unity에 비해 한 프레임(one frame)이 늦다고 한다.

그래서 뭔가를 셋팅(Set) 할 때, 한 프레임을 늦게 적용해줘야 제대로 적용된다.

아래는 그 방식의 간단한 한 예이다.


[Ex]

GameObject m_goSPrite;    // 스프라이트의 게임오브젝트

void Start()
{
StartCoRoutine(InActivateUI());    // 스프라이트 게임오브젝트 비활성화 코루틴으로 실행
}

IEnumerator InActivateUI()
{
     yield return null;        // 한 프레임 넘기기 위해..

    m_goSPrite.SetActive(false);
}


반응형
Posted by blueasa
, |

심란과 심난의 차이

한글 / 2013. 10. 21. 21:41

심란하다와 심난하다를 혼동해 쓰는 경우가 있다.

그러나 둘의 뜻은 엄연히 다르다. 

심란(心亂)과 심난(甚難)은 한자에서부터 큰 차이가 난다

심란은 마음이 어지럽다는 뜻..(보통 우리가 쓰는 말은 심란이 맞다.)

심난은 심하게 어렵다는 뜻이다. 심난은 지난하다와도 비슷한 의미다. 


마음의 뜻이 들어가면 심란을 쓰도록 하자.

지애는 심란한 얼굴로 돈을 빌리러 왔다.

내 집 마련의 꿈을 이룬 백발의 아버지는 심난했던 지난날을 떠올리며 눈물을 흘리셨다.


심난한 세월을 이겨내고 꿈을 이루었다. 



難/亂에 대해서는 
비슷한 경우가 몇 개 더 있는데.
나중에 생각나면 다시 포스팅하겠다.



반응형

'한글' 카테고리의 다른 글

~데요 / ~대요  (0) 2013.12.24
내일의 순수 우리말 하제?올날?다날?  (0) 2013.12.18
당최 vs 당췌  (0) 2013.07.08
오오미  (0) 2013.07.04
비에 관한 예쁜 우리말  (0) 2013.04.13
Posted by blueasa
, |
<제니퍼소프트에서 하지 말아야 할 33가지>

1. 전화 통화 시에 “지금 어디예요?”, “뭐 하고 있어요” “언제 와요?”라고 묻지 마요. 감시할 의중도 없잖아요.

2.“회의 중인데 좀 있다 전화할게”. 아니거든요~ 가족 전화는 그 어떤 업무보다 우선이에요.

3. 근무 외 시간엔 가급적 전화하지 마요. 사랑을 속삭일 게 아니라면!

4. 퇴근할 때 눈치 보지 마요. 당당하게 퇴근해요.

5. 우르르~ 몰려다니며 같은 시간에 점심 먹지 마요. 같이 점심 먹는 것도 때로는 신경 쓰여요. 시간은 자유롭게. 먹고 싶은 것을 먹어요.

6. 비즈니스 정장을 입기 위해 애쓰지 마요. 편하고 자유롭게 자신의 개성을 맘껏 뽐네요.

7. 출장 후, 초콜릿 사오지 마요. 그거 사기 위해 신경 쓰는 누군가에겐 부담되어요.

8. 회식을 강요하지 마요. 가고 싶은 사람끼리, 자유롭게 놀아요.

9. 타인에게 휘둘리지 마요. 내 인생의 주인공은 나에요.

10. 실패를 두려워하지 마요. 도전은 우리의 것. 책임은 회사 대표의 것이에요.

11. 대충 하지 마요. 디테일이 중요해요.

12. 사무실에서만 일하지 마요. 때론, 카페에서도 일해요.

13. 퇴근 후 일하지 마요. 우리에겐 휴식과 가족과 나눌 사랑이 힘이 되요.

14. 너무 일만 하지 마요. 가끔 놀아도 되요.

15. 회의 중에 침묵하지 마요. 침묵은 부정이래요. 항상 말해줘요.

16. 농담이라도 상대방을 비웃지 마요. 당신은 웃지만 상대방은 상처받아요.

17. 서로에게 반말하지 마요. 항상 서로 존중해요.

18. 형식에 얽매이지 마요. 본질에 집중해요.

19. 슬금슬금 돌아앉지 마요. 함께 나눈 이야기 속에 좋은 아이디어도 창의성도 발현되어요.

20. 혼자 하지 마요. 함께 하면 힘이 되요.

21. 감정 표현을 망설이지 마요. 고마워요! 미안해요! 함께 할까요? 이렇게 표현해요.

22. 구성원이 힘들면 외면하지 마요. 이야기 들어주고 토닥토닥 감싸줘요.

23. 내가 혼자 다했다고 자만하지 마요. 우리 함께 한 일이잖아요.

24. 뒤에서 이야기하지 마요. 눈을 맞추며, 이야기해요.

25. 인상 쓰지 마요. 웃어봐요.

26. 정원에 풀 뽑지 마요. 잡초제거는 회사 대표의 몫이에요.

27. 경쟁하지 마요. 서로 협력해요.

28. 식사 거르지 마요. 꼭! 꼭! 챙겨 먹어요.

29. 자신을 한정 짓고 제한하지 마요. 언제나 오픈 마인드!

30. 억지로 하지 마요. 하고 싶은 일을 하며, 가슴 뛰는 삶을 살아요.

31. 사유와 공부를 게을리 말아요. 공동체의 의무에요.

32. 이것이 끝이라고 생각하지 마요. 계속 고민해요.

33. 회사를 위해 희생하지 마요. 당신의 삶이 먼저에요


출처 : http://www.gamecodi.com/board/zboard.php?id=GAMECODI_Talk&page=1&page_num=35&select_arrange=headnum&desc=asc&sn=off&ss=on&sc=on&keyword=&no=26152&category=


반응형
Posted by blueasa
, |

Copy List to List

Programming/C# / 2013. 10. 10. 15:22

For a list of elements

List<string> lstTest = new List<string>();
                lstTest.Add("test1");
                lstTest.Add("test2");
                lstTest.Add("test3");
                lstTest.Add("test4");
                lstTest.Add("test5");
                lstTest.Add("test6");

If you want to copy all the elements

lstNew.AddRange(lstTest);

If you want to copy the first 4 elements

List<string> lstNew = new List<string>();
lstNew = lstTest.GetRange(0, 4);



출처 : http://stackoverflow.com/questions/1952185/how-do-i-copy-items-from-list-to-list-without-foreach

반응형
Posted by blueasa
, |

IronPython

Unity3D/Plugins / 2013. 10. 6. 21:02

Link : http://ironpython.net/

반응형

'Unity3D > Plugins' 카테고리의 다른 글

Mobile Movie Texture  (0) 2013.12.03
원격 로그 플러그인  (0) 2013.11.20
UniPython  (0) 2013.10.06
iOS 플러그인 제작  (0) 2013.09.15
Prefactory: Free PoolManager / PoolObject System  (0) 2013.08.28
Posted by blueasa
, |