최근에 사용하던 맥북을 Catalina로 업데이트를 했습니다. 인터넷에서 UnityPackage가 들어있는 압축파일(Zip)을 받아서 해제하는데 파일이 이상하게 해제됩니다. 이럴경우 Mac에서 검색을 통해서 [아카이브 유틸리티]로 들어갑니다. 아카이브 유틸리티의 환경설정에 들어갑니다. 중간에 "가능하다면 계속 압축 해제하기"를 체크 해제해줍니다. 이제 다시 Unitypackage가 압축되어있는 압축파일을 해제하면 정상적으로 해제가됩니다.

오늘은 무한루프시 while문과 for문을 이용할때에 대한 차이점에 대해서 작성합니다. 반복문은 주로 for문 또는 while문을 사용하는데 사용할 때 어떻게 사용되느냐에 따라서 성능이 차이가 날 수 있습니다. 이 글에서 다루는 내용은 아래와 같은 스타일의 반복문입니다. ※ 아래의 설명하는 코드에 대해서만 측정결과를 나타내므로 while문에 조건 및 for문에 조건이 들어갈 경우 결과가 다를 수 있습니다. // while void LoopFunction_while() { int Sum = 0; while(true) { Sum = Sum + 1; if(Sum >= 10) break; } } // for void LoopFunction_for() { int Sum = 0; for(;;) { Sum = Sum..
원래는 C#에서의 문제이지만 유니티에서 주로 C#을 사용하니 이쪽에 적어둡니다. 예전에 유니티로 처음 작업했을 때도 겪었던 문제인데 C#의 프로퍼티 기능을 처음 써보면서 생겼던 문제입니다. 프로퍼티는 set, get 함수를 자동으로 만들어주는 C#의 편리한 기능인데 보통 아래와 같은 형태입니다. public int Index { get; set; } 일반적으론 이렇지만 set, get, 함수는 확장할 수 있습니다. private int _Index; public int Index { get { return _Index; } set { _Index = value; } } 그런데 여기서 중요한 게.. private int _Index; public int Index { get { return Index; /..
아래의 글은 원문:Renaming Serialized Fields의 내용을 토대로 다시 작성된 글입니다. 직렬화 된 필드의 이름 변경하기 변수 이름 변경하기 아래와 같은 클래스가 있을 경우 using UnityEngine; class MyClass : MonoBehaviour { [SerializeField] private string m_MyVariable; } m_MyVariable의 변수를 다른 이름 m_AnotherVariable으로 변경 할 경우 Prefab이나 Scene에 배치된 오브젝트들의 설정값이 변경되게 됩니다. 이를 원치 않을 경우 아래와 같은 방법으로 해결 할 수 있습니다. using UnityEngine; using UnityEngine.Serialization; class MyCl..

Unity로 개발을 진행하다 보면 플레이 상태에서 코드를 변경할 경우가 많습니다. Editor의 게임 실행 상태에서 Visual Studio, 또는 다른 IDE툴로 코드를 변경하고 돌아오면, 기본적으로 Editor에서 자동으로 Dll이 컴파일되고 새로운 Dll을 리로드 하게 되는 과정에서 게임에서는 에러가 발생하면서 Console창에는 빨간 줄이 가득하게 됩니다. 저의 경우에는 개발중인 기능을 테스트하는 중에 다른 버그를 발견하여 해당 부분을 수정하거나 하는 경우가 있는데 이럴 경우에 코드가 다시 컴파일되면서 게임을 다시 실행시켜야 하는 경우가 생깁니다. 만약에 개발중인 기능을 테스트하기 위해 다소 복잡한 절차를 거쳐야 한다면, 다시 실행해서 조건을 맞추는 데에 걸리는 시간은 많이 아깝죠.. 물론 복잡한..
어느날 오랫만에 개인 페이지를 들어가려는데...404 not found가 나온다. ??....... 이럴리가 없는데하며 다른 프로그램들을 돌려보았는데 다 먹통이되었다.. 원인을 확인해보니 웹페이지나 웹프로그램들을 넣어둔 하드디스크의 저장소가 변경되어있다..그리고 실제 원래 쓰던 저장소는 뒤에 숫자1이 붙어서 리네임되어있었다. 이유는 자세히 모르겠지만 이게 원이이였고, 하드 언마운트 후 다시 마운트해서 문제를 해결했다. df -all 파일 시스템 전체 보기umount 해제하고자하는 파일 시스템rm -d 빈 디렉토리 제거mkdir 마운트 할 대상 폴더 생성mount 마운트대상 마운트 할 파일 경로 끝.
터미널에서 ssh 연결시 -v 옵션을 주고 연결하면 연결시의 debug정보를 알 수 있다. 암호를 입력한 뒤 아래의 문구에서 10~20초 정도 딜레이가 발생한 후 연결되는 문제를 발견했다. debug1: pledge: network ssh 는 10~20초 딜레이 sftp 연결시 상황에 따라 timeout이 걸리는 문제 검색해보니 DNS 문제와 GSSAPI 문제를 많이 봤는데 나에겐 해당사항이 없었다. 그러다가 찾게된게 아래의 링크였다.https://serverfault.com/questions/792486/ssh-connection-takes-forever-to-initiate-stuck-at-pledge-network 나와 증상이 같아서 해보니 바로 깔끔하게 해결~ 터미널에 아래와 같이 써줘서 syst..
언리얼 엔진을 처음 사용해봐서 메뉴가 익숙하지 않았는데 샘플로 빈 블루프린트 프로젝트를 만들고 새로운 C++ 클래스 코드를 추가하는 작업을 해보았다. C++코드를 추가할 때 기본적으로 있는 Character 클래스를 추가하도록 했다. 근데 클래스를 추가하고 Visual Studio 프로젝트를 생성했는데 에러 메시지가 나왔다. 에러내용은 아래와 같다. Running D:/Program Files/Epic Games/UE_4.15/Engine/Binaries/DotNET/UnrealBuildTool.exe -projectfiles -project="X:/Programming/UnrealProject/SandBox/SandBox415/SandBox415.uproject" -game -rocket -progre..
많은 유니티 개발자들이 고민하는 부분이 아마 "메모리 누수"일텐데 저도 메모리 누수 때문에 고민을 많이 하고 있습니다. 보통 게임 개발을 하다보면 싱글톤 패턴을 사용하게 될 수 밖에 없는 상황이 오는데요 애초에 이런 문제를 피하기 위해서 싱글톤을 사용하지 않고 DontDestroyOnLoad() 함수를 사용해서 씬이 전환 될 때의 객체파괴를 막고 사용하는 방법도 있습니다! 물론 이런건 전부 개발 스타일과 게임의 스타일 그리고 상황에 맞춰서! 사용하시면 됩니다. 이 글을 쓰는 이유는... 최근에 진행중인 프로젝트에 메모리 누수 관련 이슈가 들어와서 살펴보고 있습니다 (ㅠㅠ엉엉) 일단 보통 많이들 문제가 되는 부분이 reference를 참조하고 그 참조를 해제하지 않는 경우가 가장 문제가 됩니다. 유니티에서..
- Total
- 171,826
- Today
- 18
- Yesterday
- 48
- Inspector
- zip
- 퍼포먼스
- 유니티
- 유니티 메모리 누수
- catalina
- unitypackage
- Unity Webinar
- webinar
- UnityEditor
- FOR문
- dots
- FormerlySerializedAs
- ECS
- unity3D
- JobSystem
- Unity Memory leak
- SerializeField
- while문
- unity
- 개발환경
- 성능
- 최적화
- loop
- BurstCompiler
- Attribute