Unity 썸네일형 리스트형 [ 유니티(Unity 3D) 팁 ] 파일 사이즈 체크 하기 파일 사이즈 체크 하기 FileInfo 객체를 생성한후 "객체명.Length" 을 통해 파일의 사이즈를 얻어올 수 있다. 코드 string filePath = "C:\\file.txt"; // it may audio,video file FileInfo info = new FileInfo(filePath); Debug.Log(info.Length+" Bytes"); 더보기 [ 유니티(Unity 3D) 팁 ] GameObject 동적으로 삭제 하기 GameObject 동적으로 삭제 하기 유니티에서 게임실행중에 GameObject 를 제거해야 할때가 있다. 예를 들면 총알이 몬스터에 맞았을 경우 총알을 제거해 줘야 한다. 또 몬스터의 HP가 0보다 작아지면 몬스터 또한 제거해 줘야 한다. Destroy (Object obj, t : float time= 0.0F) 함수를 이용하면 쉽게 제거할 수 있다. obj 는 삭제할 대상 오브젝트 이며, time 은 Destroy 함수 호출후 몇초후에 삭제할지 결정한다. 코드 // 게임 오브젝트를 제거한다.Destroy (gameObject); // 게임오브젝트로부터 현재 스크립트를 제거 한다.Destroy (this); // 게임오브젝트로부터 강체를 제거합니다.Destroy (rigidbody); // 오브젝트.. 더보기 [ 유니티(Unity 3D) 팁 ] List 사용법 List 사용법 C++ 의 STL List 와 같은 자료형을 유니티에서도 사용할 수 있다. System.Collections.Generic 네임스페이스를 스크립트에 포함시킨후 "List 변수명" 식으로 사용하면 된다. 코드 using System.Collections.Generic; 추가 public class MainClass{ void Start(){ List Cars = new List(); Car car = new Car(); car.Name = "MyCar"; Cars.Add(car); }} 참고 http://blog.naver.com/PostView.nhn?blogId=taxhon&logNo=60124971161&redirect=Dlog&widgetTypeCall=true 더보기 [ 유니티(Unity 3D) 팁 ] 커스텀 클래스 멤버를 인스펙터에 노출 시키기 커스텀 클래스 멤버를 인스펙터에 노출 시키기 스크립트를 만들게 되면 스크립트 내부에 스크립트 이름과 똑같은 기본 클래스가 만들어 지게 된다.이 기본클래스의 public 속성을 갖는 멤버는 기본적으로 인스펙터에 노출이 된다. 하지만 기본 클래스 내부에 하위 클래스를 따로 만들게 되면 하위 클래스의 멤버가 인스펙터에 절대로 노출 되지 않는다. 만약 하위클래스의 멤버를 인스펙터에 노출 시키고 싶다면 클래스 선언 문 위에 [System.Serializable] 을 적어주면 된다. 코드 public class MainClass{[System.Serializable] // SubClass 의 public 멤버를 인스펙터에 노출시키겠다.public class SubClass{public string sName;} }.. 더보기 [ 유니티(Unity 3D) 팁 ] GameObject 동적으로 생성 하기 GameObject 동적으로 생성 하기 GameObject 를 미리 만들어 두지 않고 게임 실행도중에 동적으로 생성해야 될때가 있다. 주로 몬스터나 총알을 구현할때 사용한다. 코드 public GameObject thePrefab; // 생성할 프리팹, 인스펙터에서 따로 지정해줘야함 private Vector3 m_vPos;private Vector3 m_vAngle; // Use this for initializationvoid Start () {}// Update is called once per framevoid Update () { // 생성할 프리팹, 위치, 각도GameObject Instance = (GameObject) Instantiate(thePrefab, m_vPos, m_vAngle .. 더보기 [ 유니티(Unity 3D) 팁 ] 스크립트에서 MenuItem 실행하기 스크립트에서 MenuItem 실행하기 EditorApplication.ExecuteMenuItem 함수를 사용하여 메뉴에 있는 기능을 직접 실행할 수 있다. 이함수는 Editor 스크립트 전용 함수이므로 일반 스크립트에서는 사용할 수 없다. Editor 스크립트란 게임 플레이에 영향을 주지 않는 스크립트로써 반드시 Asset 목록의 Editor 폴더안에 있어야 정상 작동한다. 이 스크립트는 주로 툴을 제작할때 사용한다. 사용예시 예를들어 Help 메뉴의 About Unity 기능을 실행하고 싶다면 EditorApplication.ExecuteMenuItem("Help/About Unity"); 라고 작성하면 된다. 더보기 [ 유니티(Unity 3D) 팁 ] Editor 스크립트에서 팝업창 띄우기 Editor 스크립트에서 팝업창 띄우기 Editor 스크립트란 빌드과정에 포함되지 않으며 게임 진행에 영향을 미치지 않는 스크립트를 말합니다.주로 유니티상에서 툴을 제작할때 Editor 스크립트를 만들어 사용하게 되며, Editor 스크립트는 반드시 Asset 에 Editor 폴더를 만든후 폴더안에 스크립트를 넣어야 정상적으로 동작합니다. 코드 using UnityEngine;using UnityEditor; public class MyWindow : EditorWindow { // "MyPopup" 라는 메뉴를 "MyMenu" 메뉴에 생성한다. MyMenu 라는 메뉴가 없으면 새로 생성한다. [MenuItem ("MyMenu/MyPopup")] static void Popup() { // static .. 더보기 [ 유니티(Unity 3D) 팁 ] Popup GUI 함수 정보 Popup GUI 함수란? 유니티에서는 스크립트 상에서 팝업창을 디자인할 수 있는 함수를 제공한다.주로 유니티 상에서 툴을 만들때 사용하면 편리한다. // 라벨GUILayout.Label ("LabelName", EditorStyles.boldLabel); // 글 삽입된 박스GUILayout.Box("13/04/26"); // 칸 띄우기GUILayout.Space(15); // GUI 를 평행으로 나열GUILayout.BeginHorizontal(); .. GUILayout.EndHorizontal(); // 라디오 버튼// int CurrentIndex = GUILayout.SelectionGrid(int DefaultIndex, string ContextString, int ButtonCount)m.. 더보기 [ 유니티(Unity 3D) 팁 ] Singleton 구현 및 사용법 유니티에서 Singleton 사용 유니티에서는 스크립트가 오브젝트의 컴포넌트로 사용되기 때문에 오브젝트 없이는 스크립트를 사용할 수 없다.하지만 싱글턴 패턴을 사용하면 스크립트를 오브젝트의 컴포넌트로 연결시키지 않고도 사용할 수 있다.주로 무언가를 관리하는 매니저 클래스를 구현할때 사용한다. 코드 public class StateManager: MonoBehaviour { // 싱글턴 클래스를 구현한다.private static StateManager instance; // private static 으로 선언 ( 중요 ).public static StateManager Instance // public static 으로 선언 ( 중요 ).{get // set 이 아닌 get 이다 !{if(instanc.. 더보기 [ 유니티(Unity 3D) 팁 ] 스크립트로 빌드하기 스크립트로 빌드하기 유니티에서는 스크립트에서 빌드하는 기능을 제공한다.BuildPlayer (levels : string[], locationPathName : String, target : BuildTarget, options : BuildOptions)함수를 사용하여 빌드를 할 수 있다.인자는 차례대로 빌드할 씬 목록 , 빌드를 저장할 경로, 빌드 타겟, 빌드 옵션 이다.BuildTarget 은 PC, 안드로이드, IOS 등으로 설정할 수 있고 BuildTarget.Android 이런식으로 써주면된다.빌드 옵션은 보통 BuildOptions.None 으로 하면 된다. 코드 // 빌드 세팅에 선택된 씬들을 모두 sceneArray 에 저장한다.var scenes = EditorBuildSettings... 더보기 이전 1 2 3 다음