유니티 에셋 curvy API와 유용한 함수 및 프로퍼티 Curvy API Reference https://api.curvyeditor.com/710/ isInitialized bool IsInitialized [get] 스플라인이 완전히 초기화되고 모든 세그먼트가 로드되었는지 여부를 확인하는데 사용한다. https://api.curvyeditor.com/710/class_fluffy_underware_1_1_curvy_1_1_curvy_spline.html 코루틴에서 스플라인이 초기화될때까지 대기한다. GetTangent, GetTangentFast Vector3 GetTangent (float localF, Space space=Space.Self) 포인트의 tangent를 가져오는 함수. 스플라인 ..
유니티 URP에서 포스트프로세싱 사용하기(post processing) URP는 자체통합 포스트프로세싱을 제공한다. 씬에 볼륨을 추가하고 카메라에서 post processing을 활성화하여 단순한방법으로 사용할수있다. 1)URP 프로젝트에서 씬을 구성하였다. 2)씬에 게임오브젝트를 생성하고 volume 컴포넌트를 추가한다. 3)volume의 profile에서 우측의 new를 클릭한다. 4)새로운 볼륨 프로파일이 생성된것을 확인할수있다. 5)프로젝트의 에셋 폴더에서 새로 생성한 프로파일 에셋을 확인할수있다. 6)프로파일을 선택하고 add override를 클릭한다. 7)추가할 포스트프로세싱을 선택한다. 8)추가한 포스트프로세싱을 활성화한다. 9)포스트프로세싱을 사용할 카메라를 선택하고 rendering의 ..
유니티 에셋 curvy - 스플라인 연결하기(connection) connection을 사용하여 두개 이상의 스플라인을 연결할수있다. 1)씬에 두개의 스플라인을 생성한다. 2)connection에 사용할 두 포인트를 선택한다. 예에서 첫번째 스플라인의 마지막 포인트와 두번째 스플라인의 첫번째 포인트를 선택하였다. 3)도구모음에서 connect를 클릭한다. 4)connection을 설정한 포인트는 추가적인 connection 속성들을 표시한다(control point options, follow-up, connection option) 5)씬의 _CurvyGlobal_ 오브젝트의 하위에 connection 게임오브젝트가 추가된것을 확인할수있다. 6)connection 게임오브젝트를 선택하면 마찬가지로 해당..
유니티 에셋 curvy - generator 메시의 해상도 높이기 1)씬을 표시하는 draw mode를 wireframe으로 변경한다. 2)generator에 의해서 생성된 메시의 와이어프레임을 확인할수있다. shape의 해상도 3)input spline shape을 선택한다. 입력 shape이 2D/Circle로 설정되어있는것을 확인할수있다. count는 circle shape의 포인트 개수를 의미한다(CP) 4)view의 approximation에 체크하면 스플라인의 캐시포인트를 표시한다. 5)shape의 스플라인에서 max points per unit의 수치를 증가시킨다. max points per unit는 월드 거리 유닛 단위당 최대 샘플링 포인트 개수를 의미한다. 또는 cache density..
유니티 에셋 curvy - 스플라인에서 메시 생성하기(generator) generator의 shape extrusion를 사용하여 메시를 생성하는 방법 1)씬에 스플라인을 생성한다 2)새로운 generator 게임오브젝트를 생성한다. 3)generator의 edit graph로 이동한다. 4)그래프에서 마우스 우클릭한후 add template의 shape extrusion을 선택한다. 5)5가지 모듈(input spline path, input spline shape, shape extrusion, volume mesh, create mesh)을 사용하여 최종적으로 메시를 생성한다. 6)씬에서 생성한 메시를 확인할수있다. shape extrusion은 경로를(spline path) 따라서 모양을(spl..
유니티 URP프로젝트에서 기존의 쉐이더 업그레이드하기 프로젝트에서 URP로 설정한 이후에 재질이 보라색으로 표시되는 경우 쉐이더 전환을 사용하여 문제를 해결할수있다 (사용자가 작성한 쉐이더, custom shader는 전환되지않는다) 1)아래 예에서 URP로 전환한 프로젝트의 재질 및 모델이 보라색으로 표시되는것을 확인할수있다. 이것은 URP에서 빌트인 렌더파이프라인의 쉐이더를 지원하지않기때문이다. 2)기존 프로젝트에서 사용중인 쉐이더를 URP 호환 쉐이더로 전환해야한다. 프로젝트의 모든 재질 또는 선택한 재질을 URP 호환 쉐이더 및 재질로 업그레이드할수있다. 상단의 edit 메뉴에서 render pipeline> URP>upgrade project materials to URP materials 또는..
유니티 프로젝트에서 빌트인 렌더파이프라인을 URP로 업그레이드하기 (built-in render pipeline to universal render pipeline) URP는 자체 통합 후처리 솔루션을 제공한다. 만약 프로젝트가 post processing v2를 사용하고있다면 해당 패키지를 삭제해야한다. 1)일반적으로 유니티에서 새로운 프로젝트를 생성할 경우 템플릿에서 URP를 선택할수있다. 2)만약 기본 3D 템플릿으로 생성한 프로젝트가 존재한다면 해당 프로젝트에 URP를 설치 및 설정할수있다. 3)일반적으로 3D 템플릿으로 생성한 유니티 프로젝트는 기본 빌트인 렌더파이프라인을 사용한다. 프로젝트가 현재 사용중인 렌더파이프라인은 project settings의 graphics에서 확인할수있다. 현재 ..
유니티 에셋 curvy - 스플라인 컨트롤러 사용하기(spline controller) spline controller는 게임오브젝트를 스플라인에 정렬하거나 이동시키는데 사용된다. 게임오브젝트의 path 애니메이션에 사용할수있다. 1)씬에 스플라인 게임오브젝트와 컨트롤러로 사용할 cube 게임오브젝트를 생성한다. 2)cube 게임오브젝트에 spline controller 컴포넌트를 추가한다. 3)spline에 path로 사용할 curvy spline 게임오브젝트를 참조시킨다. 4)position 값을 조절하면 cube 게임오브젝트가 스플라인 위의 상대위치 및 절대위치에 정렬되어 이동하는것을 확인할수있다. spline controller 컴포넌트의 주요 속성들 speed - 런타임에 게임오브젝트가 스플라인..
유니티 에셋 curvy - 스플라인 생성하기(draw spline) 1)씬에 새로운 스플라인을 생성하기위해서 scene view의 좌측 상단 curvy toorbar ui에서 draw spline을 선택한다. 2)스플라인을 정렬할 평면을 선택한다. 예에서 xz평면을 선택하였다. 3)씬에서 ctrl+좌클릭으로 포인트를 추가하여 스플라인을 생성한다. xz평면을 활성화하였기때문에 포인트의 y값이 0을 가지는 스플라인을 생성하였다. 4)hierarchy에서 스플라인 오브젝트(curvy spline)를 확인할수있다. 스플라인 오브젝트는 자식오브젝트로 포인트를(CP, curvy spline segment) 가지고있다. 5)스플라인 오브젝트에 curvy spline 컴포넌트가 추가되어있는것을 확인할수있다. 6)컴포넌..
유니티 BGdatabase에서 코드 생성(code generation)사용하기 https://www.bansheegz.com/BGDatabase/CodeGeneration/ BGDatabase의 CodeGeneration을 사용하면 데이터베이스 액세스를 단순화하고 API를 더욱 간편하게 사용할수있다. CodeGeneration없이 기본 BGDatabase API를 사용한 경우 CodeGeneration를 사용하여 데이터베이스에 접근한 경우(extension classes) BGDatabase에서 code generation 활성화하기(코드 생성) 1)BGDatabase의 addons 메뉴에서 codegen을 선택한다. 2)enabled에 체크하고 code generation의 설정을 마친후 generat..
유니티에서 사용자 정의 Inspector 만들기(에디터 스크립트) editor scripting learn.unity.com/tutorial/editor-scripting?language=en CustomEditors docs.unity3d.com/Manual/editor-CustomEditors.html 1)스크립트를 생성한다(test.cs) 2)스크립트의 에디터 스크립트를 생성한다(testEditor.cs) 에디터 스크립트에 네임스페이스를 추가한다. using UnityEditor; 에디터스크립트는 Editor 클래스로부터 상속받는다. public class LevelScriptEditor : Editor { } 어트리뷰트를 추가한다(CustomEditor) [CustomEditor(typeof(te..
유니티 BGdatabase에서 기본 api 사용법 BGdatabase에서 제공하는 c# 기본 API를 사용하여 데이터베이스에 접근하는 방법 https://www.bansheegz.com/BGDatabase/API/ 네임스페이스 추가 using BansheeGz.BGDatabase; BGdatabase에서 사용되는 네가지 주요 클래스 BGRepo.cs BGRepo.cs는 데이터베이스이다. 기본 데이터베이스에 접근하기위해 BGRepo.I를 사용한다. var repo = BGRepo.I; 이름이 table1인 테이블 가져오기 var meta = repo["table1"]; 테이블의 고유 ID로 가져오기 var meta = repo[new BGId("HTAOdRaxlEGU1aefSG+Nbw")]; BGMetaE..