본문 바로가기

프로그래밍/Unity

(22)
[Unity] 테셀레이션 Tessellation https://docs.unity3d.com/kr/2018.1/Manual/SL-SurfaceShaderTessellation.html DX11/OpenGL Core 테셀레이션 지원 표면 셰이더 - Unity 매뉴얼 표면 셰이더는 DirectX 11/OpenGL Core GPU 테셀레이션을 다음과 같이 일부 지원합니다. docs.unity3d.com Displacement Texture : Height map Shader "Tessellation Sample" { Properties { _Tess ("Tessellation", Range(1,32)) = 4 _MainTex ("Base (RGB)", 2D) = "white" {} _DispTex ("Disp Texture", 2D)..
[Unity] 인스펙터 변수 이름 변경 public class NameAttribute : PropertyAttribute { public string NewName { get; private set; } public NameAttribute(string name) { NewName = name; } } using UnityEditor; public class NamePropertyDrawer : PropertyDrawer { public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { NameAttribute nameAttribute = (NameAttribute)this.attribute; label.text = nameAttribute...
[Unity] SteamVR 액션 설정 default 액션에 없는 menu 버튼을 추가해보자 Actions 에 MenuButton 이라는 액션을 하나 만든다.타입은 boolean 오른쪽아래 Open binding UI 를 누르면 현재 실행 중인 SteamVR 에 활성화된 장치가 표시된다. 이중에 컨트롤러를 선택 하면 아래 화면이 표시된다. 메뉴 버튼의 + 아이콘을 선택해 버튼을 추가한다. 아래처럼 버튼이 추가되고, click 시 연결할 액션을 선택하기 위해 none 을 선택한다. 등록했던 액션명이 보인다. 선택~ 메뉴 버튼에 해당 액션이 연결되었다. 하단 메인메뉴 중 Input Debugger에서 신규로 등록된 항목들이 표시됨과 각 버튼 테스트가 가능. using Valve.VR; public class MenuInput : MonoBehav..
[Unity] Post Process Stack v2 Unity Particle Pack 의 씬을 이용해 Post Process 를 몇개 적용해 보았다.아티스트가 아니기에 눈에 띄는 요소들만 확인. 메인카메라에 Post Process Layer 와 Post Process Volume 이 추가되어 있다.씬 전체에 적용하기 위해 Post Process Volume 의 Is Global 체크되어 있는 상태. Bloom https://docs.unity3d.com/kr/2018.3/Manual/PostProcessing-Bloom.html Intensity 조정 Threshold 조정 DirtinessTexture 지저분함의 강도(intensity)를 조절해 카메라에 얼룩같은 효과를 주게 된다. Color Gradinghttps://docs.unity3d.com/..
[Unity] AR Foundation Package AR Foundation기존 AR 환경을 멀티플랫폼으로 지원하기위해 ARInterface 를 사용했는데, 2018.1 버전에 AR Foundation Package가 포함되어 있다고 해서 관련 내용을 확인.ARInterface의 업데이트가 오래전에 멈춰 있더니 해당 프로젝트가 합쳐진게 아닌가 싶다.아무튼, ARUtility에서 시작해 AR Foundation 으로 이름도 변경되고, 계속 업데이트는 하고 있긴 하지만 현재는 1.0.0-프리뷰 버전이다. AR Foundation 패키지는 AR을 포함한 환경인 XR api를 랩핑한 패키지이며, 실제 각 플랫폼의 XR 플러그인 패키지를 함께 설치해야 한다.각 AR 플랫폼의 지원범위와 마찬가지로 아래와 같은 기능을 지원한다. - 평면 인식- 포인트 클라우드- 레퍼..
[Unity] 유니티용 DLL 유니티 DLL 만들기 VSFile > New > ProjectVisual C# > Class Library 참조추가솔루션 익스플로러 Add Reference Program Files\Unity\Editor\Data\ManagedUnityEngine.dllUnityEditor.dll 코드작성using System;using UnityEngine; namespace DLLTest {public class MyClass { }} 설정, 출력파일 복사응용프로그램 설정대상프레임워크은 사용할 api 셋에 따라 선택해 준다. 기본적인 UnityEngine.dll 클래스들만을 사용Unity 3.5 .net subset Base Class Libraries UnityEditor.dll 사용Unity 3.5 .net fu..
[Unity] VR 환경 끄거나 켜기 Player Settings > XR Settings Virtual Reality SupportedVirtual Reality SDKs 추가끄는경우 SDK 에 None 등록 using UnityEngine.XR; void Start() {StartCoroutine( VRSetting("OpenVR", true);} IEnumerator VRSetting( string sdkName , bool flag){XRSettings.LoadDeviceByName(sdkName);yield return null;XRSettings.enalbed = flag;}
[Unity] AssetDatabase AssetDatabase using UnityEditor; 메뉴 설정 선택된 에셋 처리 : Selection 클래스 [MenuItem("Assets/Test/Function")]public static void Function(){// 선택된 오브젝트, 여러개 선택시 처음 선택한 에셋이 activeObject 에 설정됨.UnityEngine.Object object = Selection.activeObject;int id = object.GetInstanceID();Debug.Log( "id="+id+", name="+object.name); // 여러개 선택시 아래 속성이나 함수를 사용// Selection.assetGUIDs - 선택된 에셋들의 GUID 배열// Selection.GetFilter()..