Input.anyKeyDown
아무 입력(키보드나 마우스)을 딱한번 최초로 받을 때 true 가 됨


Input.anyKey
아무 키(키보드나 마우스)를 꾹 누르고 있음


Input.GetKey(어쩌구저쩌구)
특정 키보드 키를 누르는 중


Input.GetKeyUp(어쩌구저쩌구)
특정 키보드 키를 누른 뗐을 때

 



+

Return : 키보드 Enter 키

LeftArrow : 키보드 화살표 왼쪽 화살표

Escape : 키보드 ESC 키

+

 

코딩 호기심 나서 코파일럿 ai 에게 질문해봄

"엔터키 또는 스페이스 바 또는 마우스 왼클릭을 누를 시"

이건 어떻게 표현하지? 에 대한 답 : 

if (Input.GetKeyDown(KeyCode.Return) || Input.GetKeyDown(KeyCode.Space) || Input.GetMouseButtonDown(0))

 

 

+

 

if(input.getkeydown(keycode.LeftAlt) && input.getkeydown(keycode.Y))

왼쪽 알트키와 Y키를 동시에(AND) 눌렀을 경우

는 위 처럼 표현

 

 

+

 

GetMouseButtonDown(0)

이건 마우스 왼 클릭을 의미함

 

GetMouseButtonDown(1)

마우스 우 클릭을 의미함

 

GetMouseButtonDown(2)

마우스 중간 버튼 (스크롤 버튼 클릭)을 의미함

 

GetAxis("Mouse ScrollWheel")

마우스 중간 스크롤 드르륵 을 의미함

 

+

 

GetMouseButtonDown(0)
마우스 왼클릭 첫 누름을 감지

GetMouseButton(0)
마우스 왼클릭 꾹 누르는 동안

GetMouseButtonUp(0)
마우스 왼클릭 뗀 마지막 순간을 감지

 

+

 

테스트 해보기

 

엠티 오브젝트 하나 생성

 

모노비헤비어 스크립트 하나 생성후

아래 코드블럭 복붙

using UnityEngine;

public class inputTest : MonoBehaviour
{
    void Update()
    {
        if (Input.anyKeyDown)
            Debug.Log("아무 키를 눌렀음");
    }
}

 

테스트 플레이시 console 창에 메시지가 뜸

 

 

 

 

+

 

 

최적화 팁

 

 

Debug Log 문구는 너무 남발하면 게임 내 렉을 유발함

 

꼭 if 조건문을 같이 사용하는걸 권장함

 

 

+

 

 

그리고 빌드 버전에서는 호출 안되게 하는 최적화 방법도 있음

 

 

+

 

 

Edit - Project Settings - Input manager 

axes size 30 = 키 설정이 30개다 라는 뜻

negative : 왼쪽과 아래쪽을 의미
positive : 오른쪽과 위쪽을 의미

 

점프키는 기본 space 키로 할당되어 있음

 

+

 

 

보통 꾹~~ 누르는 입력을 표현시

 

Down 키는 같이 안씀

 

Down 키랑 중복되서 두번 점프되기 때문임

 

+

 

 

input system 의 Fire1 을 그대로 스크립트에 넣어도 됨

 

+

 

Input.GetAxis("Horizontal"));
하면 가로로 움직임에 점점 늘어나는 가속도 표현

Input.GetAxisRaw("Horizontal"));
하면 가로로 딱딱 바로 이동되는 표현

 

+

 


Translate 함수는
3차원 Vector벡터 (X Y Z) 이동 시켜준다 라는 의미임


+



변수가 아닌 딱 지정된 값을 스칼라값(scalar) 이라고 함

 

+

 

//주석 comments

/* 이것은 여러 줄에 걸쳐 있는 주석입니다. 여러 줄의 설명을 작성할 때 사용합니다. */

 

이러한 주석 (comment) 는 아무리 길게 써도 코드를 실행할 때 무시된다

성능에 아무 영향을 주지 않기 때문에 아무 말이나 막 써도 된다

 

 

+

 

유니티 프로그램 자동저장 하기. 외부 에셋

 

왼위 + 버튼에서

git 을 사용해 다운하기 클릭 후

https://github.com/AnderSystems/Unity-Auto-Save-System.git

를 입력

 

 

참고링크

GitHub - AnderSystems/Unity-Auto-Save-System: The Auto Save System is a practical and easy-to-configure solution for automatically saving your scenes in Unity. With an intuitive interface directly in the editor, you can define where scenes are saved and restore the last saved scene automatically when needed.

 

 ProjectSettings > Auto Save Setting

 

-> 이거 써 보니까 동기화 오류 뜸

 

빈 프로젝트를 저장한걸 불러오게 되는 오류가 나옴

 

즉, 프로젝트 날리는 경우가 많아서 그냥 수동 저장 하기로함

 

+

 

 

반응형
Posted by 이름이 익명
: