반응형

Input 클래스 : 키보드 입력

 

Input.anyKeyDown // 아무입력을 최초로 받을 때 true
Input.anyKey // 아무입력을 받으면 true
Input.GetKeyDown // 키를 눌렀을때
Input.GetKey // 키를 누르고 있을때
Input.GetKeyUp // 키를 땠을 때
Input.GetMouseButtonUp(0) // 마우스 버튼 누름
Input.GetMouseButton(1) // 마우스 버튼 꾹 누름
Input.GetMouseButtonDown() // 마우스 버튼 땜
Input.GetButton("Jump") // input manager 상의 버튼을 사용가능
Input.GetAxis() // 수평, 수직 버튼 입력을 받으면 float, 꾹 누르면 가중치
Input.GetAxisRaw() // 1, -1 만 표시 좌, 우를 알 수 있음
// 0 : 왼쪽, 1 : 오른쪽

//Program Settings => Input manager 에서 버튼 세팅 가능

transform : 오브젝트는 변수 transform 을 항상 가지고 있음

transform.Translate(Vector 3) // 벡터 값을 현재 위치에 더하는 함수 

Vector 3 = new Vector 3(0,0,0) // 벡터 선언

Vector3 : 3차원 벡터 

Vector3.MoveTowards(현재위치, 목표위치, 속도 ) // 등속이동
Vector3.SmoothDamp(현재위치, 목표위치, ref, 속도) //부드러운 감속이동 속도에 반비례하여 이동
Vector3.Lerp() //SmoothDamp 보다 감속시간이 김 속도에 비례하여 이동
Vectro3.Slerp() //구면 선형보간, 호를 그리며 이동

Time.deltaTime

Translate : 벡터에 곱하기
translate.Translate(Vec * Time.deltaTime);

Vector : 시간 매개변수에 곱하기
Vector3.Lerp(Vec1, Vec2, T * Time.deltaTime);

//이전 프레임의 완료까지 걸린 시간 
// 프레임이 적으면 크고, 프레임이 많으면 적음

Rigidbody : 중력

  • Is Kinematic : 외부 물리 효과를 무시 (움직이는 함정)
  • FixedUpdate 에 작성해야한다

Collider : 물리 효과를 받기 위한 컴포넌트

material : 오브젝트 디자인

Physics Material : 탄성과 마찰을 다루는 물리적 재질

  • Collider 내부안의 인자
  • Bounciness : 탄성력
  • Bounciness Combine : 다음 탄성을 계산하는 방식
  • Friction : 마찰력
    • Dynamic : 동적 마찰력
    • Static : 정지 마찰력
GetComponent<T>() //T 타입의 컴포넌트르 가져옴

Rigidbody rigid = new Rigidbody();
Rigid.velocity // 속도를 바꿈
Rigid.AddForce //vec 방향과 크기로 힘을 줌 , 힘이 계속 더해짐
Rigid.AddTorque(Vec) // vec 방향을 축으로 회전력생김

ForceMode : 힘을 주는 방식
ForceMode.Impulse // 무게에 따라 달라짐

물리적 충돌(Collision), 콜라이더(Collider) 충돌

//실제 물리적 충돌
OnCollisionEnter(collision) // 물리적 충돌이 시작할 때 호출
OnCollisionExit(collision) //물리적 충돌이 끝났을 때 호출
OnCollisionStay(collision) // 충돌이 쭉 이어갈 때

//콜라이더 충돌
OnTriggerEnter(collider),Exit,Stay//물리적 충돌 x
반응형

'Unity > BE1' 카테고리의 다른 글

B1 : Life Cycle  (0) 2021.07.12
반응형

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LifeCycle : MonoBehaviour
{
    // Start is called before the first frame update
    void Awake()// 게임 오브젝트 생성시, 최초실행
    {
        Debug.Log("Player Data has been ready.");
    }

    void Start()//업데이트 시작전 최초 실행
    {
        Debug.Log("사냥 장비를 챙겼습니다.");
    }

    //////////////초기화 영역//////////////////
    void OnEnable()
    {
        Debug.Log("플레이어 로그인");
    }

    /////////////활성화 영역///////////////
    void FixedUpdate()//물리 연산 업데이트 , 물리연산 확인 전 실행, cpu 많이 사용
    {
        Debug.Log("Move");
    }

    
    /////////////물리 영역////////////////////
    ///
    void Update()// 게임 로직 변환, 주기적, 환경에 따라 실행주기가 떨어진다, 물리연산보다 빠름
    {
        Debug.Log("사냥");
    }

    void LateUpdate() // 모든 업데이트 후 마지막 업데이트, 
    {
        Debug.Log("EXP");
    }


    ////////////게임로직////////////////////
    ///
    void OnDisable()
    {
        Debug.Log("플레이어 로그아웃");
    }

    
    /// ////////비활성화영역//////////////
    
    void OnDestroy() //게임오브젝트를 삭제할 때, 
    {
        Debug.Log("Player has been eliminated");
    }

    //////////////해체///////////////
    ///
}
반응형

'Unity > BE1' 카테고리의 다른 글

B2 : Input, Vector3, Other Components  (0) 2021.07.13

+ Recent posts