Unity의 JsonUtility를 사용하다보면 커스텀 클래스를 쉽게 JSON으로 파싱할 수 있지만 원하는 변수 몇개만 JSON으로 파싱해주는 기능이나, 파싱 이후에 변수룰 추가, 삭제, 수정을 할 수 있게해주는 기능이 없다. 그래서 이런식으로 한글자 한글자 입력해서 JSON으로 만들어 쓰다가 $"{{\"account_uuid\": \"{account_uuid}\", \"email\": \"{email}\", \"password\": \"{hashed_password}\", \"team\": \"{team}\"}}"; 너무 불편해서 찾아낸 방법이다. JSON .NET For Unity | Input Management | Unity Asset Store Get the JSON .NET For Unity ..
private bool IsPointerOverUI() { PointerEventData pointerEventData = new PointerEventData(EventSystem.current); pointerEventData.position = Input.mousePosition; ListRaycastResult> results = new ListRaycastResult>(); EventSystem.current.RaycastAll(pointerEventData, results); for (int i = 0; i results.Count; i++) { if (results[i].gameObject.l..
Raycasthit은 구조체 이고 레이캐스트를 할 때 맞은 오브젝트에 대한 정보를 담아서 out하는 구조체이다 그 안에는 바로 접근가능한 transform과 collider멤버를통해 collider.transform으로 접근가능한 transform이 있다. 둘의 차이는 만약 레이캐스트에맞은 오브젝트가 리지드바디가 있을경우 Raycasthit.transform은 리지드바디가 붙어있는 Transform을 반환한다. 예를들어 이런식으로 루트부모에 리지드바디를달고 그 자식에 콜라이더를 달아놓으면 자식 콜라이더의 사이즈대로 충돌을 체크하겠지만 Raycasthit.transform은 리지드바디가있는 루트부모인 ZergelingMonster를 반환한다. 여기서 콜라이더가 붙어있는 오브젝트를 반환받고싶다면 Raycas..
기존에 사용하던 쉐이더에 컬러 마스크 기능 코드를 추가하여,컬러 마스크 기능을 이용하여 커스터마이징을 구현하였다. Patreon의 Quick Game Art Tips - Unity Color Mask | Minions ArtMinions Art의 공식 포스트www.patreon.com 다음은 쉐이더에 추가해야하는 부분이다.먼저 변경할 쉐이더 상단 Properties부분에 필요한 변수들을 추가해 준다. Properties {...생략 _Mask("ColorMask (Red = Prim Green = Sec Blue = Ter)", 2D) = "white" {} // mask texture _ColorPrim("Primary Color", Color) = (0.5,0.5..
이 기능을 텍스트로 설명할려면 뭐라고 해야할지 애매하긴한데 스크린샷을 첨부하자면 다음과 같다. 해당패널의 파란 이미지는 슬라이더이고 그 뒷배경은 스크롤렉트이다. 따라서 슬라이더를 움직일려면 그냥 파란 이미지를 클릭하고 좌우로 슬라이딩하면 되는데 마우스 휠이나 스크롤바 말고 스크롤을 할려면 컨텐츠들 사이에 좁은 빈공간을 클릭하고 위아래로 슬라이딩 해야한다. 왜냐하면 슬라이더가 이미 터치이벤트와 드래그이벤트를 먹어(?)버렸기 때문에 그 뒤에있는 스크롤렉트에는 이벤트가 닿지 않는것이다. 그래서 이 글은 슬라이더를 클릭, 드래그 했을 때 슬라이더 뿐만아니라 뒤에있는 스크롤렉트도 이벤트를 받을 수 있게 하는 방법을 기록하는 글이다. 우선, 다음과 같은 함수를 정의한다. 슬라이더 컴포넌트가 안붙어있는 오브젝트에있는..
부모 오브젝트가 따로있고 자식오브젝트로 모델이있을때 사용 모델 오브젝트에 스크립트를 달고 void OnAnimatorMove() { transform.parent.rotation = anim.rootRotation; transform.parent.position += anim.deltaPosition; } 이렇게 사용함 경우에 따라서는 저렇게 Rotation, Position에 다이렉트로 더해주지말고, 입력에 의한 이동방향에 더해서 움직여주면 자연스럽게 된다. Correct way to handle root motion with parent game object - Unity Answers Unity is the ultimate game development platform. Use Unity to bu..