본문 바로가기

분류 전체보기

(7)
[Blender] 키보드/마우스 입력을 화면에 띄워주는 스크린캐스트 설정 블렌더 작업시 키보드와 마우스 입력값을 화면에 띄워주는 애드온, '스크린캐스트' 설정법을 알아보자. 1. 아래 깃허브 링크로 가서 latest 버전을 다운받는다. https://github.com/nutti/Screencast-Keys GitHub - nutti/Screencast-Keys: Blender Add-on: Screencast Keys Blender Add-on: Screencast Keys. Contribute to nutti/Screencast-Keys development by creating an account on GitHub. github.com 우측 탭의 Releases로 가서 Latest 마크가 되어 있는 버전의 screencast_keys.zip 파일을 받으면 된다. (주의 ..
[Unity] 초당 프레임(FPS) 화면에 표시하기 FPS(Frame Per Second)란 1초 동안 화면이 몇번 다시 그려지는지를 의미한다. 즉 FPS가 높을수록 화면이 부드럽게 보이게 된다. 일반적인 게임의 경우 30 FPS 이상이며, FPS가 15보다 낮다면 중대한 성능 문제의 징후라고 볼 수 있다. FPS는 Game 뷰에서 Stats를 클릭하면 볼 수 있는데, 여기서 표시되는 FPS는 프레임 업데이트 및 게임 뷰의 렌더링에 걸린 시간을 의미하고 에디터 전용 작업을 수행하는데 걸리는 시간 등은 반영되지 않는다. 그리고 에디터에서만 확인할 수 있기 때문에, 실제 기기에서는 Stats를 통해 FPS를 확인할 수 없다. FPS를 유니티 Game 뷰에 띄우기 위한 스크립트이다. Time.deltaTime은 프레임 사이 간격을 나타내는데, 이와 비슷하지만 ..
[Unity] 알아두면 유용한 Mathf 클래스 Mathf 클래스는 삼각 함수, 로그 함수, 기타 함수를 비롯한 일반적인 수학 함수 컬렉션을 제공한다. 절대값 Math.Abs(float f) float형 반올림 올림 내림 Mathf.Round(float f) Mathf.Ceil(float f) Mathf.Floor(float f) int형 반올림 올림 내림 Mathf.RoundToInt(float f) Mathf.CeilToInt(float f) Mathf.FloorToInt(float f) 최대값과 최소값 Mathf.Min(float a, float b, ...) Mathf.Max(float a, float b, ...) 인자는 2개보다 많아도 상관없다. 제곱근과 제곱 Mathf.Sqrt(float f) Mathf.Pow(float f, float ..
[Unity] 캔버스에서 클릭한 UI 이름 알아내기 / IPointerClickHandler / pointerCurrentRaycast UI에 대한 마우스 클릭 이벤트를 감지하려면 IPointerClickHandler를 구현해야 한다. 해당 인터페이스는 OnPointerClick(PionterEventData pointerEventData) 메소드를 포함하고 있으며, 해당 메소드는 마우스 클릭 시 클릭 버튼, 클릭 횟수, 포인터 위치 등에 대한 정보를 담고 있다. IPointerClickHandler를 사용하기 위해서는 아래 조건이 충족되어야 하는데, 캔버스 생성시 자동으로 추가/설정되는 항목이므로 참고만 하자. Scene에 UI->EventSystems가 존재하는가? (마우스 입력을 받음) 캔버스에 Graphic Raycaster가 존재하는가? (Raycast를 쏴줌) 검출하려는 UI에 대해 Raycast Target이 체크되어 있는가..
[Unity] 캔버스 마스크 / UI의 원하는 부분만 보이게 하기 캔버스에서 어떤 오브젝트의 위치를 이동할 수 있고, 해당 오브젝트는 정해진 구역 안에서만 보여지도록 하고 싶을때 사용 가능한 기능이 바로 "캔버스 마스크"이다. 예제를 통해 바로 확인하도록 하자. 먼저 캔버스에 아래와같은 창문 이미지를 추가했다. (좌) 창밖에서 산타클로스가 빼꼼 하도록 하고싶은데, 당당히 주거침입을 하고 있는 모습이다. (우) 창틀 안쪽 부분에 네모난 Panel을 추가하고 Mask 컴포넌트를 추가한다. (Mask Image) 그리고 보여주고 싶은 이미지를 자식으로 추가한다. 결과물을 보니 예시가 적절했는지 조금 의문이 들지만.. (안쪽에 있는 창틀은 고려 못함) 여러가지로 활용 가능할 것 같은 캔버스 마스크에 대한 소개였다.
[Unity] 마우스 뗄 때 이벤트가 발생하는 슬라이더 만들기 / IPointerUpHandler public class SliderController : MonoBehaviour { public Slider slider; public Text text; private void Start() { slider.onValueChanged.AddListener(delegate { valueChanged(); }); } private void valueChanged() { text.text = slider.value.ToString(); } } 간단하게 슬라이더의 value가 변경될때마다 이벤트를 발생시켜, 그 시점의 value를 보여주는 코드를 작성해보았다. 슬라이더의 노드를 이동시키면 실시간으로 그 결과값이 바뀌는 것을 확인할 수 있다. 이렇게 단순한 동작이라면 문제가 없지만, valueChanged 이..
[Unity] Scene과 Game 화면이 다르게 나오는 경우 Canvas에 슬라이더 UI를 생성하고, 3D 구를 하나 추가한 상태이다. Scene뷰에서는 생성한 오브젝트들이 모두 잘 보이는데, Game뷰에서는 구 오브젝트가 보이지 않는다. 그 이유는 아래와같이 메인 카메라가 초기 셋팅대로 설정되어 있고, 구 오브젝트를 비추지 않고 있기 때문이다. https://docs.unity3d.com/kr/560/Manual/UnityHotkeys.html Unity 단축키(Unity Hotkeys) - Unity 매뉴얼 이 페이지에서는 디폴트 Unity 단축키에 대한 개요를 제시합니다. Windows 및 MacOSX 단축키 표를 PDF로 다운로드할 수도 있습니다: 커맨드 키 입력에 CTRL/CMD 가 포함된 경우 Windows에서는 Ctrl 키를 사용 docs.unity3..