Programming/Unity43 [Unity] URP - Lit Shader Properties 런타임에서 변경 ✔ URP Lit Shader Properties 런타임에서 매테리얼 속성 변경방법, Normal Map Issue URP에서 사용되는 Property들을 정리해본다. 기존 Standard와 변경된 사항이 많아서 기존 Standard를 사용하던 에셋이나 프로젝트들을 URP로 업데이트를 해야할 경우에 속성변경이 필요하다. 아래는 Universal Render Pipeline/Lit에서 사용되는 속성들이다. _WorkflowMode("WorkflowMode", Float) = 1.0//0 : specular , 1 : metallic _BaseMap("Albedo", 2D) = "white" {} _BaseColor("Color", Color) = (1,1,1,1) _Cutoff("Alpha Cutoff",.. 2021. 6. 11. [Unity] .mtl file 이란? ✔ .MTL File 이란? obj , mtl 파일 속성 정리 .mtl 파일은 Material Library File 이다. 3D 모델링 툴(3dmax, 스케치업, maya 등등)에서 .obj로 Export를 하게되면 .obj와 .mtl파일을 볼 수 있다. mtl파일은 obj에서 사용되는 재질 속성들에 대한 정보를 포함하고 있다. 그래서 obj 파일과 mtl 파일은 세트라고 볼 수 있다. 그럼 mtl 파일 구조는 어떻게 구성되어 있을까? 이 속성들을 알게되면 mtl 파일만 수정해서 효과를 바로 볼 수 있다. 아래는 3D MAX에서 obj로 Export한 예시 mtl 파일이다. 메모장이나 Notepad++로 mtl 파일을 열면 아래와 같은 내용을 볼 수 있다. 그럼 이제 우리는 mtl 파일의 구성을 하나하.. 2021. 5. 18. [Unity] EventSystem.current - 클릭했을때 UI인지 Gameobject인지 구별하기 ✔ 유니티 이벤트 시스템 - Get Current UI Object 마우스에서 화면을 클릭했을때 클릭된 대상이 UI인지 확인 할 수 있다. GameObject obj = UnityEngine.EventSystems.EventSystem.current.currentSelectedGameObject; - UI가 클릭되었을때 : 위 코드에서 obj는 클릭된 UI 객체가 참조된다. - UI가 클릭되지않았을때 (Gameobject 등 UI 이외의 모든것들) : 위 코드에서 obj = null 이 된다. 대게 Delete키를 누르면 삭제하는 이벤트를 많이 사용한다. 하지만 InputField에서 입력하는 도중에 글자를 지우기위해 Delete 키를 누르는 경우가 있을 수 있다. 그럼 글자도 지워지고 Delete키 이.. 2021. 5. 10. [Unity] UnityWebRequest로 json 데이터를 Http body에 Post로 전달방법 ✔ Post raw json into UnityWebRequest JsonUtility, Convert json from object Http 서버 body에 Post 방식으로 json 데이터를 전달하는 방법이다. json으로 전달하기 위해서는 먼저 데이터를 json으로 변경해야한다. Unity에서는 JsonUtility를 제공하여 쉽게 변환할 수 있다. 오브젝트를 Json으로 변환 : JsonUtility.ToJson(object) Json을 오브젝트로 변환 : JsonUtility.FromJson(jsonString, System.Type) 아래는 예제 샘플이다. using System.Collections; using System.Collections.Generic; using UnityEngine.. 2021. 4. 21. [Unity3D] Raycast 활용법 : 특정 오브젝트 관통하여 뒤의 물체 인식하기 ✔ Unity - LayerMask, Ray, Raycast, RaycastAll마우스 포인트에서 특정 오브젝트 찾기(Raycast 활용)◆ Ray 란 어떤 지점의 위치와 방향에서 일직선상의 선을 그어봅니다.선이 지나가면서 충돌되는 오브젝트들을 판단하는 것이 Raycast 입니다.일반적으로 많이 사용되는 Raycast, RaycastAll에 대해서 설명 드립니다.Raycast : 선이 지나가면서 처음 충돌한 오브젝트를 반환.RaycastAll : 선이 지나가면서 충돌하는 모든 오브젝트를 반환. ◆ Raycast 사용법 예제 : 현재 마우스 위치에서 충돌되는 오브젝트가 있다면 그 위치로 변경.//마우스 위치에서 레이Ray ray = Camera.main.ScreenPointToRay(Input.mouseP.. 2021. 3. 17. [Unity3D] 웹 데이터 파일 다운로드,업로드(GET, POST) 및 저장 (UnityWebRequest) ✔ 인터넷 파일 다운로드 및 저장 Get , Post UnityWebRequest, WWW Class, 인터넷에 URL을 통해 다운로드한 파일을 로컬로 저장하는 방법입니다. 인터넷 URL을 통해 데이터를 얻어올때에는 UnityWebRequst 클래스를 사용하여 불러옵니다. (구 버전은 WWW 클래스) UnityWebRequest 클래스는 UnityEngine.Networing을 using해야합니다. UnityWebRequest 클래스에는 Get , Post 방식 모두 포함되어 있습니다. ● Get 방식의 테스트 샘플 예제 해더정보가 필수적으로 들어갈 경우에는 SetRequestHeader(string,string) 을 통해 해더정보를 포함하여 요청한다. using System.IO; using Unity.. 2021. 3. 16. [Unity3D] Unity에서 C# 스크립트 클릭 시 Visual Studio 안열림, 무반응 [ 해결법 ] ✔ Unity - Visual Studio 연동 문제 Unity 버전 변경 시 Visual Studio 안열림, 동작 안함, 진행팝업 안사라짐 Unity 프로젝트를 생성하고 사용하다가 Unity를 다른 버전으로 설치하고 프로젝트를 다른 버전으로 업그레이드나 다운그레이드 했을 경우에 자주 나타난다. (요즘은 그냥 한번씩 발생된다. 패키지의 버전과 호환성이 안맞는듯) ◆ 문제 현상들 - 유니티에서 스크립트를 클릭하면 Visual Studio가 자동으로 안열림 - Visual Studio에서 스크립트를 저장후 유니티에서 컴파일할때 팝업 안사라짐 - 유니티에서 스크립트를 클릭하면 Visual Studio가 열리지만 클릭된 스크립트를 자동으로 열어주지 않음 - 유니티에서 스크립트를 클릭후 한번 열리고 그다음부터는.. 2021. 1. 7. [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. 이전 1 2 3 4 5 다음