메타버스 아카데미 수료하고 반년동안 유니티를 쉬었더니 플레이어 움직이는 것도 못하겠다. 뭐 직장 생활한다고 그런 것도 있지만 그래도 반년 이상 배운 건데 이대로 실력 썩히는 것도 싫고 해서 미니 프로젝트 하나 만들면서 다시 실력을 쌓고자 한다. 못본새에 유니티에서 'Input System' 이라는 패키지를 내놓았더라. 대충 읽어보니 Input.Manager의 업그레이드 버전으로 보인다. 예전에는 무조건 Update 함수 안에 Input값 받아내는 식으로 했었는데 이번에는 콜백 함수형으로 디바이스의 입력값을 받아내도록 한 것 같다. 자세한 정보는 여기를 클릭 위의 아키텍쳐를 보니 디바이스로부터 입력을 받으면 입력값은 별도의 메모리에 따로 저장되나 보다. 별도의 Input Runtime이 새로운 디바이스를 ..
보호되어 있는 글입니다.
코드 // 사용한 변수 모음 public float MoveSpeed = 4.0f; public float SprintSpeed = 6.0f; public float SpeedChangeRate = 10.0f; private float _speed; //1. 목표 속도 설정: 플레이어가 sprint key를 눌렀는가에 따라 이동 속도 결정 됨. //2. 만약 입력값이 0 이면 이동 속도도 0으로 결정한다. //3. 현재 플레이어의 속도를 측정한다. //4. 스피드 오프셋을 정의한다. //5. 플레이어가 목표 속도로 도달하기 위해 가속,감속 시킨다. //6. 플레이어의 이동 방향을 정의한다. //7. 플레이어를 이동시킨다. void move() { float targetSpeed = _input.sprin..
코드 // 변수 선언부 private const float _threshold = 0.01f; public GameObject CinemachineCameraTarget; private float _cinemachineTargetPitch; public float RotationSpeed; public float TopClamp; public float BottomClamp; private float _rotationVelocity; // 입력값이 마우스 값인지 판별하는 함수 bool IsCurrentDeviceMouse { get { #if ENABLE_INPUT_SYSTEM && STARTER_ASSETS_PACKAGES_CHECKED return _playerInput.currentControlSc..
코드 // 변수 선언부 public float GroundedRadius; public float GroundedOffset; public LayerMask GroundLayers; // 함수 정의부 void GroundCheck() { // 가상의 충돌 구형을 플레이어 위치에 생성한다. Vector3 spherePosition = new Vector3(transform.position.x, transform.position.y- GroundOffset, transform.position.z); // 가상의 구형의 충돌여부를 검사한다. Grounded = Physics.CheckSphere(spherePosition, GroundRadius, GroundLayers, QueryTriggerInteract..
개념 단어 그대로 나뭇가지 처럼 새 줄기를 만들어 내듯이 기존 프록젝트를 여러 버전으로 분기 및 병합하여 관리하는 개념이다. 브랜치 생성 관련 명령어 새 브랜치 만들기 $ git branch [새 브랜치 이름] 현재 저장소 브랜치 확인 $ git branch 브랜치 전환하기 $ git switch [전환하려는 브랜치 이름] 브랜치와 커밋 관계 알아보기 현재 브랜치의 커밋 로그 확인 $ git log --oneline 각 브랜치의 최신 커밋 확인 $ git log --oneline --braches 브랜치와 커밋 관계를 그래프 형태로 확인 $ git log --oneline --branches --graph 브랜치 사이의 차이점 살펴보기 $ git log [branch_A]..[branch_B] 브랜치 병..
깃 저장소 만들기 $ mkdir my-Git $ cd my-Git $ git init 깃 상태 확인하기 $ git status 수정한 파일을 스테이지에 올리기 (스테이징, staging) $ git add [수정한 파일] 스테이징한 파일 커밋하기 $ git commit -m "수정 관련 코멘트 입력" 스테이징과 커밋 동시에 하기 $ git commit -am "수정 관련 코멘트 입력" 커밋 내용 확인하기 $ git log 변경 내용 확인하기 $ git diff 작업 트리에서 수정한 파일 되돌리기 해당 방법은 스테이징 하지 않은 상태에서 수정을 취소하고 원래대로 되돌리는 방법이다. $ git restore [되돌릴 파일 이름] 아래의 방법은 스테이징을 취소하는 방법이다. $ git restore --sta..
기본 개념 주로 데이터베이스에 없는 테이블이 필요할 때 사용된다. 바로 다음에 실행할 SELECT 문에만 사용해야 한다는 특징이 있다. 일반 CTE 기본 형식 WITH [CTE_테이블 이름] (열 이름 1, 열 이름2, ...) AS ( ) SELECT [열 이름] FROM [CTE_테이블 이름 ]; UNION 문으로 CTE 결합 WITH cte_stock_price (date, symbol, price) AS ( SELECT date, symbol, [close] FROM stock WHERE date >= '2021-01-01' AND date = '2021-02-01' AND date = '2021-01-01' AND date = '2021-02-01' AND date = '2021-01-01' A..
기본 개념 정의 쿼리 안의 또다른 쿼리를 말한다. 서브 쿼리는 조인하지 않은 상태에서 다른 테이블과 일치하는 행을 찾거나, 조인 결과를 다시 조인할 때 사용할 수 있다. 특징 반드시 소괄호로 감싸 사용한다. 주 쿼리를 실행하기 전에 1번만 실행한다. 비교 연산자에서 서브 쿼리를 사용하는 경우 서브 쿼리를 오른쪽에 기술해야 한다. 내부에는 정렬 구문인 ORDER BY 문을 사용할 수 없다. 활용 WHERE 문에서 서브 쿼리 사용 WHERE 문에 사용하는 서브 쿼리를 중첩 서브 쿼리(nested subquery) 라고 한다. 중첩 서브 쿼리는 조건문의 일부로 사용한다. 서브 쿼리를 비교연산자 [ =, =, ] 와 함께 사용할 때는 반드시 서브커리의 반환 결과가 1건 이하여야 한다. 만약 서브 쿼리를 반환 결..
vim으로 문서 작성하고 저장하기 $ cd Documents $ mkdir test $ cd test $ vim test.txt vim 편집기로 해당. txt 파일을 열었을 때 처음에는 ex모드이므로 문자가 입력되지 않을 것이다. 그럴 경우, I 혹은 A 키를 누른 후 문자를 작성하면 입력모드로 전환되어 문자가 입력되는 것을 확인할 수 있다. 입력 모드에서 다시 ex 모드로 전환하고 싶으면 esc 키를 누르면 된다. 해당 텍스트 파일을 나가거나 저장하고 싶은 경우, 아래의 ex모드 명령표를 참고하도록 하자. ex 모드 명령 모음 명령 설명 :w 또는 :write 편집하던 문서를 저장한다. :q 또는 :quit 편집기를 종료한다. :wq 편집하던 문서를 저장하고 종료한다. :q! 편집하던 문서를 저장하지 ..