Programming97 [Unity3D] Unity Remote 5 동작 되지 않는 문제 [해결법] ✔ Unity Remote 5 not working Unity 모바일 개발 환경, Unity Android Build 모바일의 개발자 모드로 활성화 하고 Unity의 Edit -> Project Setting -> Editor -> Device -> Any Android Device 로 설정했지만 Unity Remote 5에서 동작이 되지 않았다. 문제는 .. Unity SDK를 등록했지만.. Android Studio를 설치하면서 Google Use Driver가 설치되지 않아서 그렇다. Android Studio를 실행한다. Configure에서 SDK Manager를 선택 Android SDK 탭에서 SDK Tools 탭을 선택 후 Google USB Driver 체크 후 적용. Unity Remo.. 2020. 12. 31. [Unity3D] Unity에서 Window OpenDialog 사용 ✔ C# - FileOpenDialog유니티에서 윈도우 파일 브라우저(탐색기)를 사용하기Window 10 디자인 FileOpenDialog, Windows.Form.dll Download Unity 버튼 클릭시 파일탐색기 기능을 구현해보자일단 먼저 dll이 필요하다. 아래 첨부된 파일들을 다운로드 받아 Unity의 Asset/Plugins 폴더안에 넣자.System.Windows.Forms.dll은 OpenDialog API를 지원해주는 dll이다.유니티와 .Net 버전이 업그레이드 되면서 Ookii.Dialogs.dll이 필요 없어졌다.유니티 플레이어 설정에서 .NetFramwork로 설정해야한다 (버전마다 차이 있음 구버전 -> .NetFramework 4.X)보통 System.Windows.Form.. 2020. 12. 23. [Unity3D] 3D 오브젝트 좌표에 2D 텍스트 위치 시키기 ✔ Unity - WorldToScreenPoint(Vector3 point) 3D Point에서 2D Point 가져오기 3D 캐릭터가 존재할때 캐릭터 위에 아이디나 특정 이미지, 버튼 등등을 위치 시킬 필요가 있다. 2D 오브젝트 타잎을 World Space으로 생성하고 위치 시키면 되기는 한다. 하지만 World로 생성할 시 화면 회전, 줌 인/아웃에 영향을 받아 카메라에 따라 다르게 보인다. 크기, 각도 등의 영향을 받지 않고 Text나 이미지를 캐릭터 위에 생성할때에는 World Space로 생성하지 않고 생성한뒤 Camera 속성인 WorldToScreenPoint 함수를 활용하면 된다. WorldToScreenPoint( Vector3 point) 는 3D 포인트를 2D 포인트로 반환해주는 .. 2020. 12. 21. [XmlDocument] XmlException : name cannot begin with the ' ' character Xml 관련 코딩을 하다가 Exception 발생.. Xml.Load(path)에서 로딩중에 계속 에러가 발생되었다. 홍길동 홍 위와 같은 Xml을 불러들이면 XmlException : name cannot begin with the ' ' character ~ 블라블라 관련 오류가 나타난다. 문제는 이 구문이 잘못되었다.. 2020. 12. 17. [Unity3D] 카메라 거리에 따라 오브젝트 활성화/비활성화 ✔ Unity Runtime - Camera 거리에 따라 오브젝트 렌더링 활성화/비활성화 LOD Group Component 활용 어플리케이션은 화면에 표시된 수많은 모델링들을 렌더링합니다. 그리고 리소스에서 가장 많이 사용되는 것이 화면 렌더링이죠. 사용자가 특정 장면을 줌하는 것이 아닌 전체 장면을 보기위해 줌 아웃을 한다면 씬에 포함된 모든 오브젝트들을 렌더링 하게 됩니다. 그럼 렌더링에 소요되는 시간이 증가되며 frame은 낮아질 수 밖에 없습니다. 장면 전체에 대해서 렌더링을 할 경우 조그만한 오브젝트가 보일까요? 보이지 않습니다. 굳이 보일 필요도 없구요. 보이지 않는다고 하지만 프로그램은 렌더링을 하고 있습니다. 굳이 보일 필요가 없는 오브젝트를 어떻게 처리해야 할까? 아주 간단합니다. Un.. 2020. 12. 4. [Unity] C# 외부 프로세스(프로그램) 조회 및 실행, 종료 - args 매개변수 전달 Unity에서 (어차피 C#에서 제공되는 기능) 다른 프로세스(프로그램)을 실행을 하는 경우가 종종있다. 그리고 다른 프로세스를 실행하면서 매개변수를 던질 수 있다. ● 프로세스 동작 확인 현재 해당 프로세스가 동작하고 있는지를 검색한다. using DI = System.Diagnostics 의 별칭을 지정하여 사용하였다. System.Diagnostics에도 Debug API가 존재하므로 Unity의 Debug사용시 불편해서 별칭사용을 추천. 프로세스 리스트 얻는 방법은 다음과 같다. using DI = System.Diagnostics; //노트패드 프로세스 얻어오기 processList = DI.Process.GetProcessesByName("Notepad++"); if(processList.Le.. 2020. 12. 4. [Unity] WebSocket을 이용한 통신 서버 - 클라이언트 구축하기 ✔ Unity3D - Socket 통신 서버, 클라이언트 구축하기 WebSocket-Sharp 활용 데이터를 주고 받을 경우 통신은 필수항목이다. 어떻게 서버와 통신을 하여 데이터를 주고 받을지는 다양한 방법이 있다. ( 포툰, UNET 등 ) 여기에서는 WebSocketSharp.dll 을 이용하여 서버와 Unity 클라이언트와 통신을 하는 방법에 대해 알아본다. 필자는 서버측은 Windows Form으로 구축하고 클라이언트를 Unity로 제작했다. (서버측도 Unity나 다른 어떤 시스템으로 구축해도 무방하다.) WebSocket-Sharp.dll에 대한 자세한 내용은 아래 링크 참조 github.com/sta/websocket-sharp sta/websocket-sharp A C# implement.. 2020. 12. 3. [C#] 클래스 멤버 간 데이터 비교 - IEqualityComparer ✔ Object Member Compare 클래스 안 멤버 비교 - 변경된 데이터가 있는 사항만 추출 작업을 하다보면 클래스를 비교하는 일이 아닌 클래스간 데이터를 비교해야하는 일이 많이 발생한다. 그리고 이전에 받은 정보와 새로 받은 정보가 일치할 경우에는 내용을 업데이트 시킬 필요가 없고, 변경된 사항에만 업데이트를 시키면 된다. 이론적으로는 알겠는데 어떻게 구현해야할까. 일반적으로 클래스비교는 object.Equals 함수를 통해 클래스 비교한다. 하지만 두개의 새로운 클래스를 비교할 경우 데이터는 같아도 object.Equals에서 false를 반환한다. 두 클래스간에 멤버 값이 변경된 사항이 있는지 확인하는 방법은 IEqualityComparer 인터페이스를 활용하면 된다. 예제는 다음과 같다... 2020. 11. 17. [Unity3D] NVIDA Flex Error - ArgumentException: ComputeBuffer.SetData() ✔ NVIDIA FLEX Error ArgumentException: ComputeBuffer.SetData() NVIDIA FLEX을 활용하여 유체역학을 적용하려고 시도했지만 생각보다 쉽지 않았다. 프로젝트를 실행하고 IsActive를 On/Off를 반복적으로 실행하면 아래와 같은 오류가 나타난다. ArgumentException: ComputeBuffer.SetData() : Accessing 35100 bytes at offset 0 for Compute Buffer of size 35000 bytes is not possible. 이 오류의 해결방법은 __auxFlexDrawFluid.cs 파일의 245번 줄에 해당하는 내용을 수정해야한다. if (m_indexBuffer != null) { m_.. 2020. 11. 6. 이전 1 ··· 4 5 6 7 8 9 10 11 다음