Unity Shortcuts
대부분 Unity
의 기본적인 단축키(shortcuts
)는 알고 있을 것이다.
그 중에도 특히나 많이 사용되는 것이 유니티 에디터 상단의 transform
, scaling menu
등에 이어진 shortcut
들이다. 일명 qwerty
.
일렬로 배치된 각 사각형들이 하나의 메뉴 모드이며, 이 메뉴들 사이를
q
,w
,e
,r
,t
,y
로 오갈 수 있다.
주의할 것은.. 한/영키를 오가며 text 처리를 하다가 한글 모드로 되어 있다면 저 shortcut들이 동작하지 않는다.
명심하자.
마우스로 클릭한 좌표를 unity editor의 좌표로 얻어오기
게임을 만들다 보면 플레이어가 마우스 클릭으로 선택한 좌표를 unity editor
의 좌표로 얻어와야 하는 상황이 있을 수 있다.
주의하자. screen의 좌표가 아니다!
어떻게 얻어올 수 있을까?
unity
에는
Input.mousePosition
로 플레이어가 마우스로 클릭한 좌표를 screen
좌표로 얻어올 수 있다. Input.mousePosition
는 Vector3
이다.
하지만 우리가 원하는 것은 unity editor
의 좌표이지 screen
의 좌표가 아니다.
그러므로 스크립트에 Camera
형 변수를 하나 선언한다.
public new Camera camera;
그리고 Camera
class가 가지고 있는, 스크린 좌표
에서 월드 좌표
(unity editor의 좌표)로 변환시켜 주는 함수를 활용한다.
Vector2 mouseposition = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
mouseposition = camera.ScreenToWorldPoint(mouseposition);
이렇게 함으로써 문제 해결이 가능해졌다.
\[log(x)\]하지만 gradient가 안쪽으로 들어가면서 log가 갑자기 나오는데 그 이유는 다음과 같습니다. \(\nabla\theta \pi\theta\)에 \(\pi\theta\)를 곱하고 나누면 아래와 같이 log의 미분의 형태가 되기 때문에 \(\pi\theta\)의 gradient를 \(log\pi_\theta\)의 gradient로 바꿀 수가 있습니다.
댓글남기기