728x90

유니티 4

[UNITY] 다양한 이동 방법 (2) - Rigidbody 활용한 이동

이전에 작성한 이동 방법들은 전체적으로 position 을 강제로 이동시키는 류의 이동 방식 이 때문에 벽을 뚫는 버그들이 발생한다. 이를 해결하기 위해 rigidbody(물리적 속성)를 활용한 이동을 해보고자 한다. 1. Rigidbody.AddForce(이동방향 및 힘) 오브젝트에 힘주 추가하여주는 function 즉, 오브젝트에 일정한 힘을 주어 이동시키는 것 먼저 Rigidbody 속성 중 AddForce라는 function 사용 using System.Collections; using System.Collections.Generic; using UnityEngine; public class RigidbodyMove : MonoBehaviour { Rigidbody rb; float power =..

@@@ UNITY/이론 2023.01.20

[UNITY] 다양한 이동 방법 (1)

이동 방법에는 여러 가지 방법이 있는 거 같았다. 현재 쓰고 있는 방식은 transform.position += moveDir * Time.deltaTime * Speed; 의 강제로 위치를 이동시켜주는 방식으로 하였다. 이렇게 할 경우 문제점은 벽이나 물체를 뚫고 지나갈 수 있다는 것이다. 하지만 보통 이동을 검색하면 왜 이걸알려주는거지? 1. Transform.position 가장 기본이 되는 방식으로 오브젝트의 위치를 직접 변경해주는 방식. 절대좌표는 월드좌표를 따른다. 사실 이동이라기보다는 위치를 강제로 변경해주는거에 가까운 방식 Transform의 구성요소인 position을 강제로 변경해서 이동시킨다. Vector3로 변경을 해주거나 가감해주는 방식 using System.Collections..

@@@ UNITY/이론 2023.01.20

[UNITY] OnCollision & OnTrigger

앞서 작성한 상호작용 코드를 보다가 2가지의 차이가 있다는 것을 알게되었다. 둘다 충돌 체크를 위한 함수이다. 충돌 처리 공통 조건 1. 두 오브젝트가 collider를 가지고 있어야 한다. 어떤 종류의 collider이든 두 오브젝트가 collider 가지고 충돌을 감지할 수 있어야한다. 2. 적어도 하나의 오브젝트는 Rigidbody를 가지고 있어야 한다. 두 오브젝트 중 하나 이상이 Rigidbody를 가지고 있어야한다. rigid body는 직역하면 강체라는 의미로 물리학에서 형태가 고정되어 변하지 않는 물체를 가르킨다 unity에서는 Rigidbody 는 GameObject 가 물리 제어로 동작하게 합니다. 리지드바디는 힘과 토크를 받아 오브젝트가 사실적으로 움직이도록 해줍니다. 리지드바디가 포..

@@@ UNITY/이론 2023.01.20

[UNITY] 오브젝트 상호작용

오브젝트와 상호 작용을 하는 코드를 위해서 OnTrigger 함수들을 활용했다. OnTrigger 함수 OnTriggerEnter 물체간의 충돌이 처음 일어났을 때 호출 OnTriggerStay 물체간의 충돌이 일어난 후 충돌이 지속될 때 호출 OnTriggerExit 물체간의 충돌이 끝나는 순간에 호출 void OnTriggerEnter(Collider other) { Debug.Log(other.gameObject.name); Debug.Log(other.gameObject.tag); } void OnTriggerStay(Collider other) { Debug.Log(other.gameObject.name); Debug.Log(other.gameObject.tag); } void OnTrigger..

@@@ UNITY/이론 2023.01.19
728x90