본문 바로가기

전체 글124

[Unity | 유니티] Monobehaviour LifeCycle 유니티에서 자신이 제작한 스크립트의 대부분은 'Monobehaviour'라는 인터페이스를 상속받는다. 스크립트를 만들면 자동으로 상속받는 형태이니 유니티의 기본 클래스 형태라고 봐도 좋을 것이다. 이 'Monobehaviour'가 Scene에서 살아가는 일정한 흐름이 있다. 엔진에서 자동으로 호출해주는 함수들인데 이 패턴의 흐름을 모아 '생명 주기(Life cycle)'라고 한다. 일단 그림으로 먼저 알아보자. 첫 'Awake', 'OnEnable', 'Start'함수는 객체가 생성될 때 1회 호출되는 함수다. 단, OnEnable은 스크립트에서 객체를 활성화/비활성화시킬 경우가 있는데 객체가 활성화 되었을 때 마다 호출되는 함수이다. Update는 3가지 종류가 있다. 'FixedUpdate', 'Up.. 2019. 9. 10.
[Unity | 유니티] 스크린 좌표를 월드 좌표, NGUI 좌표로 전환하기 스크린 좌표를 월드 좌표, NGUI 좌표로 전환하기 마우스 및 터치 인풋의 좌표를 게임 상의 월드 좌표와 NGUI 좌표로 변환할 때 사용한다. 기준 해상도는 게임 제작 시 정한 표준 해상도를 의미한다. //기준 해상도 standardWidth=1280f, standardHeight=720f Debug.Log("Standard Width:" + standardWidth + " Standard Height:" + standardHeight); //현재 스크린 해상도 Debug.Log("Screen width:" + Screen.width + " height:" + Screen.height); //스크린 좌표를 월드 좌표로 변환하기 var mousePos = Input.mousePosition; Debug.L.. 2019. 9. 10.
[Unity | 유니티] NGUI와 ParticleSystem간 Depth 조정 ParticleSystem에 해당 스크립트를 추가하고 타 NGUI 컴포넌트처럼 Depth값을 조정하면 된다. UIParticleWidget.cs 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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 using System.Collections; using System.Collections.Generic; using UnityEngine; [AddCom.. 2019. 9. 6.
[Unity | 유니티] 메모리 최적화 7.1 모노 플랫폼 모노 플랫폼은 마이크로소프트 닷넷 프레임워크의 라이브러리의 툴, 특징, API의 기초로 자체적인 프레임워크와 라이브러리를 만든 오픈소스 프로젝트 마이크로소프트의 기본 닷넷 클래스 라이브러리와 완전히 호환되지만 닷넷 프레임워크의 자료를 거의 혹은 전혀 사용하지 않고 오픈소스로 다시 만든 것이다. 그러나 유니티 엔진은 모노 플랫폼만으로 만들어진 것은 아니다. 성능에 영향을 끼치는 오디오, 렌더링 엔진, 물리 엔진과 같은 백엔드는 C++로, 사용자가 직접 다루는 부분은 모노 플랫폼으로 개발되었다. 7.1.1 컴파일 과정 통합 개발 환경에서 C# 코드를 바꾸면 유니티 에디터로 돌아가는 순간, 컴파일이 진행된다. 그러나 C# 코드는 컴파일러처럼 바로 네이티브 코드로 변환되지 않고 CIL이라고 .. 2019. 9. 6.