[Unity] Scene뷰에서 축 아이콘 없이 스크린샷 찍기
Unity/Tips 2022. 11. 1. 10:29[Unity] Scene뷰에서 축 아이콘 없이 스크린샷 찍기

개요 씬뷰에서 스크린샷을 찍고싶을때가 있다. 기즈모도 그리드도 전부 꺼둘수있지만 씬뷰 오른쪽 위 상단에있는 요녀석은 유니티 최신버전이 아니면 끄는기능이 없다. 참고로 유니티 최신버전이라면 아래 이미지와같이 간단하게 끄면된다. 이 글은 저 아이콘없이 깔끔하게 씬뷰를 캡쳐하는 방법이다. 본문 스스로 해결한 방법은 아니고 검색해서 좋은 방법을 알아내서 기록한다. 결과물을 미리 보자면 이와같이 코드로 기능을 만들어 에디터 메뉴로 등록해서 캡쳐하는 방법이다. 코드는 다음과같다. #if UNITY_EDITOR using System; using System.Collections; using System.Collections.Generic; using System.IO; using UnityEditor; using ..

Unity/Tips 2022. 8. 9. 10:19[Unity] URP/HDRP에서 OnPostRender() 사용하기

URP에서 내장함수 OnPostRender() (렌더링 이후 호출됨)을 작성했는데 호출이 되지않아서 검색해보니 나온 방법 using UnityEngine; using UnityEngine.Rendering; public class MyClass: MonoBehaviour { void OnEnable() { RenderPipelineManager.endCameraRendering += RenderPipelineManager_endCameraRendering; } void OnDisable() { RenderPipelineManager.endCameraRendering -= RenderPipelineManager_endCameraRendering; } private void RenderPipelineMana..

Unity/Tips 2022. 3. 31. 18:45[Unity] 루트모션 부모에 적용하기

부모 오브젝트가 따로있고 자식오브젝트로 모델이있을때 사용 모델 오브젝트에 스크립트를 달고 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..

인스펙터 조건 Draw
Unity/Tips 2021. 5. 21. 10:32인스펙터 조건 Draw

Draw a field only if a condition is met Until now when I wanted to make a field appear in the inspector I made a custom inspector, but I got tired of it, so I decided to make an attribute.... forum.unity.com 한 스크립트를 여러 게임오브젝트가 사용하여야 할 경우 오브젝트A에겐 필요하지만 오브젝트B에게는 필요없는 변수가 있을 수 있다. 물론 그런상황이 안오게 만드는게 베스트지만 어쩔수 없는 경우가 있을것이다. 그럴때 필요없는변수가 인스펙터에 노출되어 있다면 코드를 직접 짠사람이 코멘트를 남겨놨다해도 누군가 모르고 건드릴수 있는일이다. 그럴때 사용..

[Animator] 블렌드 트리에서 int파라미터로 자연스럽게 Transition하기
Unity/Tips 2021. 5. 8. 01:32[Animator] 블렌드 트리에서 int파라미터로 자연스럽게 Transition하기

애니메이터에서 더러운 트랜지션선들을 깔끔하게 만들어주는(특히 이동관련에서) 블렌드 트리 기능 보통 PC인풋기준으로 설명하자면 Input.GetAxis("Horizontal")이렇게 Axis로받으면 0에서 1까지 천천히 lerp처럼 올라가기 때문에 애니메이션도 자연스럽게 0일때 모션부터 1일때 모션까지 이동한다. 하지만 모종의 이유로 애니메이터에서 int형 파라미터를 써야하거나 float임에도 값이 갑자기 뛰어야할때가 있을것이다. 회사프로젝트에서 머신러닝 에이전트의 애니메이터를 구성할때 이런 문제가 있었다. 검색해보니 animator.SetFloat()함수의 오버라이드중에 댐프값과 시간을 파라미터로 받고 보간해주는것을 발견했다. docs.unity3d.com/ScriptReference/Animator.S..

image