Unity 8

두개의 다른클래스를 비교하여 제거하기.

두 개의 클래스를 가진 리스트 A와 B가 있고, A에 있는 항목 중 B에 있는 항목과 일치하는 것을 제거하여 새로운 리스트를 만들려면 다음과 같은 C# 코드를 사용할 수 있습니다. 이 코드에서는 LINQ를 사용하여 중복 항목을 제거합니다. 예를 들어, 두 개의 클래스 ClassA와 ClassB가 있다고 가정하고, List와 List에 데이터가 저장되어 있다고 가정합니다. 그리고 c와 d는 비교하려는 속성이라고 가정합니다. using System; using System.Collections.Generic; using System.Linq; public class ClassA { public int c { get; set; } // 다른 속성들... } public class ClassB { public ..

[unity] 파일(또는 오브젝트) 선택시 커스텀 윈도우의 업데이트 방법 2가지

커스텀 윈도우를 만들면 해당 커스텀 윈도우가 선택되어져 있는 상태에서만 업데이트가 된다. OnGUI() 함수에 보통 버튼이나 라벨등의 UI 를 그려주는 코드를 짜게 되는데 하이어러키 창이나 프로젝트 창에서 아이템을 선택했을때 바로 커스텀 윈도우의 상황을 바꿔주고 싶을 경우가 있을것이다. 보통은 다른창에 선택이 되어있으면 커스텀 윈도우는 업데이트를 하지 않기 때문에... 첫번째 방법으로는 윈도우 시작시 업데이트 함수를 넣어주는게 있다. public static void ShowWindow() { var window = EditorWindow.GetWindow(typeof(ContinuousUpdateWindow)); EditorApplication.update += window.UpdateWindow; }..

[unity] 커스텀 윈도우를 다른 윈도우의 탭으로 넣기.

커스텀 윈도우를 만드는 방법은 아래 포스팅을 참고하자. [Unity] 커스텀 윈도우 만들기 유니티 상에서 툴을 만들기위해 커스텀으로 윈도우를 만들수 있다. 새로운 클래스를 만들어 아래코드처럼 작업하면 메뉴를 통해 커스텀 윈도우가 생성된다. using UnityEditor; public class MyWindow : Edit leeusin.tistory.com 따로 커스텀 윈도우가 뜨는 것도 괜찮지만 SceneView나 커스텀 윈도우에 탭형식으로 들어가고 싶을수도 있다. 윈도우 생성 함수에서 아래처럼 사용하면 새로운 창이 뜨는것이고. EditorWindow.GetWindow(typeof(MyWindow)); 아래처럼 사용한다면 내창을 Scene창에 탭형태로 붙히겠다는 게 된다. EditorWindow.Ge..

[Unity] 커스텀 윈도우 만들기

유니티 상에서 툴을 만들기위해 커스텀으로 윈도우를 만들수 있다. 새로운 클래스를 만들어 아래코드처럼 작업하면 메뉴를 통해 커스텀 윈도우가 생성된다. using UnityEditor; public class MyWindow : EditorWindow { // Add menu item named "My Window" to the Window menu [MenuItem("Window/My Window")] // 바로 아래 함수가 메뉴에서 호출된다. public static void ShowWindow() { //Show existing window instance. If one doesn't exist, make one. EditorWindow.GetWindow(typeof(MyWindow)); // 윈도우를..

NGUI - UIInput에 선택된게 있는지 확인하는법.

UNITY 에서 보통 어떤 입력을 통해 뭔가를 하게 될때 아래와 같은 식으로 된다. if (Input.GetKey(KeyCode.W)) POS.y = 100.0f; if (Input.GetKey(KeyCode.A)) POS.x = -100.0f; if (Input.GetKey(KeyCode.S)) POS.y = -100.0f; if (Input.GetKey(KeyCode.D)) POS.x = 100.0f; 해당 코드처럼 키에따라 각 위치를 설정해주는 코드이다. 그런데 이렇게 코딩을 해주면 NGUI의 INPUTFIELD에서 글을 작성할때도 적용이된다. 이 부분을 막아주려면 아래와 같이 하면된다. if (UIInput.selection == null ) { if (Input.GetKey(KeyCode.W))..

[Unity3D] 게임 백그라운드에 갔다가 돌아올때...

안드로이드, 아이폰 등의 게임환경에서 갑작스럽게 게임을 끈다거나 전화가 온다거나 해서 게임진행이 안되는 경우가 있다. 유니티에서는 OnApplicationPause(bool) 함수로 호출되기 때문에 그곳에 정지 또는 실행시 일련의 과정을 수행하도록 하면 되는데 PC에서 테스트 할때 호출되지 않는다면 보통 설정에서 꺼두었기 때문이다. File->Build Setting => Player Settings 선택 후 Inspector 창에서 Resolution and Presentation 내에 Run In Background 체크가 되어있다면 풀어주면 된다. 혹시 안보인다면 위처럼 PC 세팅쪽을 찾아보자.

언리얼 4 와 유니티 5

이번주 월요일인가 화요일쯤 되었을것같다.언리얼이 먼저 치고 나온 충격적 발표.!1개월에 약 $19 정도(?)에 제공되던 언리얼 4를 무료로 전환했다.가히 충격적인 소식이 아닐수 없었다.우어! 대단하다. 언리얼 3엔진이 무려 몇억씩 했던거에 비하면 정말 천지개벽할정도라 할수 있겠다.아무래도 유니티의 독주(?)를 저지하려는 느낌이 들었다. 그리고 다음날 유니티 5발표! 그리고 기존 4에 PRO버전에서만 사용할수 있었던 부분(그람자 셰이더라든가...)을 무료로 풀었다. (물론 프로버전은 따로 존재...) 둘의 공방이 치열하다. 언리얼은 대놓고 유니티의 이러이러한 부분은 언리얼의 이러이러한 부분이다 라는 페이지도 만들어놓고 사용자들을 기다리고 있다. link : https://docs.unrealengine.c..