유니티 02_ 오브젝트에 물리 효과 적용하기

     

     

    1) 중력 적용

    RigidBody를 통해서 적용한다.

    Is Kinematic을 쓰면 스크립트를 통해서 물리효과를 적용

    더보기

    Is Kinematic은 움직이는 함정을 만들 때 유용하다.

     

    2) 충돌

    Collider를 통해서 적용한다.

    더보기

    맨날 하늘을 나는 캐릭터라면 Collider의 radius를 크게 해야할까?

    생각해보니 그러면 가끔 땅에 내려오는 컷씬에서 쓸 수 없을 것 같다

    2-1) C# Script를 이용한 충돌

     

    MeshRenderer와 Material 이용

    OnCollisionEnter: 물리 충돌이 시작할 때 호출

    OnCollision: 충돌 중에 호출

    OnCollisionExit: 충돌 끝에 호출

     

    Collision은 충돌 정보를 표현한다.

     

    2-2) Trigger

    Collider와 겹칠때 발생하는 이벤트

     

    더보기

    엘든링에서 바람타고 올라가는 것도 이런걸로 구현할 수 있을듯하다.

    Stay에서는 점진적으로 올라가는 걸 보니 Enter로 짜야 할 것 같다.

     

    3) 재질

    Material을 통해서 재질을 입힐 수 있다.

     

    Smoothness: 빛 반사 수치

     

    https://polyhaven.com/a/

     

    Poly Haven • Poly Haven

    The Public 3D Asset Library

    polyhaven.com

     

    4) 탄성과 마찰

    Physics Material을 이용하여 적용할 수 있다.

     

    5) 속도

    또는 다음과 같이 Vector로 표현할 수도 있다.(x, y, z)

    Rigidbody 관련 기능은 Update 대신에 FixedUpdate에 작성해야한다.

     

    6) 힘

     

    다음과 같이 AddForce(방향 * 가중치, 방식)으로도 물체를 움직일 수 있다.

    이 때 오브젝트의 무게(Mass)에 따라 가중치를 조절해주어야 한다.

     

    7) 회전력

    매개변수로 넘겨준 Vector3를 축으로 해서 회전한다.

    AddTorque대신에 Rotate를 사용할 수 있다.

    이 때 축은 local과 global로 선택할 수 있다.

    '유니티' 카테고리의 다른 글

    유니티 08_ UI  (0) 2022.08.03
    유니티 06_ 타일맵 & Enemy  (0) 2022.07.24
    유니티 01_ 버튼 조작 & 오브젝트 이동  (0) 2022.07.16

    댓글