강의를 들으며 기록하고자 한 내용
인풋 시스템은 평소처럼 만들어주되 Player
에 컴포넌트로 붙인 Player Input
의 Behavior
는 Invoke Unity Events
로 설정해준다.
만든 메서드를 내가 설정한 버튼이 눌릴 때 호출할 이벤트에 등록할 수 있다.
등록한 함수로 전달되는 콜백 컨텍스트는 ReadValue
메서드로 값을 읽어올 수 있다.
phase를 통해서 누름, 눌린 상태, 뗌 을 알 수 있음
private void CameraLook()
{
camCurXRot += mouseDelta.y * lookSensitivity;
camCurXRot = Mathf.Clamp(camCurXRot, minXLook, maxXLook);
cameraContainer.localEulerAngles = new Vector3(-camCurXRot, 0, 0);
transform.eulerAngles += new Vector3(0, mouseDelta.x * lookSensitivity, 0);
}
마우스와 카메라의 움직임은 개념이해가 중심이다.
(마우스 : Vector2 / 카메라 : Vector3)
마우스 입력의 X값이 변하면 카메라의 Y축이 회전하고, Y값이 변하면 카메라의 X축이 회전해야한다.
public bool IsGrounded()
{
Ray[] rays = new Ray[4]
{
new Ray(transform.position + (transform.forward * 0.2f) + (Vector3.up * 0.01f), Vector3.down),
new Ray(transform.position + (-transform.forward * 0.2f) + (Vector3.up * 0.01f), Vector3.down),
new Ray(transform.position + (transform.right * 0.2f) + (Vector3.up * 0.01f), Vector3.down),
new Ray(transform.position + (-transform.right * 0.2f) + (Vector3.up * 0.01f), Vector3.down),
};
for (int i = 0; i < rays.Length; i++)
{
if (Physics.Raycast(rays[i], 0.1f, groundLayerMask))
{
return true;
}
}
return false;
}
private void OnDrawGizmos()
{
Gizmos.color = Color.red;
Gizmos.DrawRay(transform.position + (transform.forward * 0.2f), Vector3.down);
Gizmos.DrawRay(transform.position + (-transform.forward * 0.2f), Vector3.down);
Gizmos.DrawRay(transform.position + (transform.right * 0.2f), Vector3.down);
Gizmos.DrawRay(transform.position + (-transform.right * 0.2f), Vector3.down);
}
using System;
public class Solution {
public int solution(int[,] sizes) {
int answer = 0;
int width = 0;
int height = 0;
for(int i = 0; i < sizes.GetLength(0); ++i)
{
int temp = 0;
if(sizes[i,0] < sizes[i,1])
{
temp = sizes[i,0];
sizes[i,0] = sizes[i,1];
sizes[i,1] = temp;
}
if(width <= sizes[i,0])
width = sizes[i,0];
if(height <= sizes[i,1])
height = sizes[i,1];
}
answer = width * height;
return answer;
}
}
이차원 배열의 길이를 얻어오는 방법을 알기 위해서 검색을 했고
matrix.GetLength(0 or 1)
을 알게됐다.
인자로 0을 넣으면 행의 길이, 1을 넣으면 열의 길이를 가져온다.