unity3D 4

[C#] 유니티에서 foreach 성능은 개선되었을까

예전에 잠깐 이슈가 되었던 유니티에서 foreach 성능문제를 다뤄보려고한다. 나도 그냥 foreach는 안좋구나 정도로만 알고 있었는데 이번 NDC 2017에서 오지현 에반젤리스트님의 강연에서 잠깐 지나가는 말로 유니티 5.2~3버전 쯤에서 foreach 성능이 개선되었다는 얘기를 들었다. 나는 foreach문이 코드가 훨씬 간결해서 선호하는 편인데, 성능 개선이 되었다니..! 이제 맘놓고 써도 되는걸까하는 기대를 가지고 한번 테스트를 해보기로 마음먹었다. 테스트는 GeekCoders님의 블로그 글을 참고하여 진행했다.​[Unity] 유니티 프로그래머가 알아야 할 최적화 스크립트 코드 작성법GeekCoder님은 유니티 4.6.1 기준으로 테스트했고, 그 결과 For문이 2.2배이상 빠른 것으로 나타났고..

아카이빙/C# 2017.05.06

[Unity3D] Singleton 클래스 구현

Unity3D에서 Singleton 클래스 구현게임개발에서 활용되는 디자인 패턴중 가장 흔하게 볼 수 있는 게 Singleton 패턴이다. Singleton 클래스란 단 하나의 인스턴스만이 존재해야하는 클래스라고 정의할 수 있으며, 게임개발에서는 흔히 Manager클래스들을 구현할 때 활용된다. 구글링하면 프로그래밍 언어별로 Singleton 클래스 정의하는 법은 쉽게 찾아볼 수 있다. C#을 주 언어로 활용하는 Unity3D에서는 C#으로 구현된 Singleton클래스를 구현하면 되는데 조금 독특한 점이 있다. 컴포넌트 기반의 개발방법론을 채택한 Unity3D는 모든 GameObject가 MonoBehaviour 클래스를 상속한다. 단 하나의 오브젝트만을 생성해야하는 클래스를 구현해야 하는데, 이때는 ..

[Unity3D] 커스텀 에디터 - 반복문으로 오브젝트 생성 쉽게하기

유니티 커스텀 에디터 - 반복문으로 오브젝트 생성 쉽게하기이제 에디터를 커스터마이징하기 위한 매우 기본적인 내용들은 하나씩 다뤄본 것 같다. 새로운 건 앞으로 진행하면서 발견할때마다 공부해보기로 하고 그동안 배운걸 응용해서 간단한 예제 하나를 만들어보자.커스텀 에디터의 가장 큰 장점 중 하나가 오브젝트 생성의 자동화이다.에디터를 익히지 못했을 때는 그리드(Grid)식 오브젝트 배치를 하기위해서는 일일이 하나씩 좌표를 정해주고 생성하거나, 그냥 에디터에서 확인하는 걸 포기하고 게임이 실행되었을 때 동적으로 생성하는 방법으로 진행했었다. (ㅠㅠ 무식하면 몸이 고생이라더니...)이제 에디터 버튼과 반복문으로 쉽게 생성할 수 있다. 준비다음 스크립트를 실행하기 위해서는 Resources 폴더에 "Square" ..

[Unity3D] 커스텀 에디터(5) - EditorStyles

유니티 커스텀 에디터(5) - EditorStylesEditorStyles를 알아보려고한다. 여러 옵션들이 많았는데 주로 Label이나 Font에 대한 옵션들이다.toolbarButton, toolbarDropDown, toolbarPopup, toolbarTextField의 쓰임새는 아직 잘 모르겠으나 관련 예제를 찾을 수 없었고, 구글링해도 안나오는 걸 보니 그닥 쓰임새가 유용한 것 같지는 않다.가볍게 이런게 있다 정도로만 알고 넘어가는 게 좋은듯. 예제using UnityEngine; using UnityEditor; ​ public class EditorStyleWindow : EditorWindow { ​ [MenuItem("Window/Editor Styles")] static void Ini..