ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 게임개발 14일차 (Unity Learn 4일차)
    게임 개발 2025. 6. 10. 22:36

    Physics.gravity *=  gravityModifier

    UnityEngine의 기본 중력을 수정할 수 있게된다. (이 오브젝트에 한해서 가볍게/무겁게 만듬)

     

    rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse)

    리지드바디의 메소드 중 AddForce로, 힘을 가한다. AddForce(방향*힘, 포스모드)로 사용한다.

     

    모드에는 4가지가 있다.

    .Impulse : 순간적인 충격을 줌

    .Force : 매 프레임마다 지속적으로 힘을 줌

    .VelocityChange : Impulse와 비슷하지만 질량무시하고 속도변화 바로 적용

    .Acceleration : .Force와 비슷하지만 질량무시하고 가속도 자체 적용 (종이나 바위나 똑같아짐)

     

    InvokeRepeating("SpawnObstacle", delay, repeatRate)

    어떤 함수를 일정 delay후 repeatRate 주기로 호출한다.

     

    Instantiate(obstaclePrefab, spawnPos, obstaclePrefab.transform.rotation)

    어떤 프리팹 오브젝트를 어떤위치에 어떤방향으로 인스턴스화 한다.

     

    리지드바디의 Constraint에서

    원치않는 변화를 제어할 수 있다.

     

    transform.position.x = startPos.x

    위는 오류가 난다. 왜일까? .position이 구조체이기 때문에 읽기는 되지만 부분수정이 안되기 때문이다.

    transform.position = startPos로 해야한다.

     

    repeatWidth = GetComponent<BoxCollider>().size.x / 2

    오브젝트의 박스콜라이더에서 오브젝트의 사이즈를 가져올 수 있다.

     

    if (collision.gameObject.CompareTag("Ground"))

    충돌한것의 객체의 태그가 Ground인지 체크

     

    playerControllerScript = GameObject.Find("Player").GetComponent<PlayerController>();

    obstacle에 붙어있는 스크립트에서 player에 붙어있는 스크립트가 필요할 때 find를 할 수 있다.

     

Designed by Tistory.