rigidbody
- rigidbody는 게임 오브젝트가 물리작용하도록 도와주는 것이다. 예를 들어서 중력을 받도록 설정이 가능하다.
collider
collider는 충돌처리를 하는 것이다 물체가 rigidbody 영향을 받아서 낙하하다가, 벽에 충돌을 받으면 멈춰야한다 그래서 그때 사용하는 것이 rigidbody + colider이다.
서버를 작업할 때 중요한 것은 클라이언트를 믿으면 안되서 cross checking을 해야하는 것이다. 유니티에서 벽이 있는 부분들을 가지못하도록 막을 때 collider 처리를 한다.
collider 예시 ..
public class TestCollision : MonoBehaviour
{
public Tilemap _tilemap;
public TileBase _tile;
// Start is called before the first frame update
void Start()
{
_tilemap.SetTile(new Vector3Int(0, 0, 0), _tile);
}
// Update is called once per frame
void Update()
{
List<Vector3Int> blocked = new List<Vector3Int>();
foreach (Vector3Int pos in _tilemap.cellBounds.allPositionsWithin)
{
TileBase tile = _tilemap.GetTile(pos);
if (tile != null)
{
blocked.Add(pos);
}
}
}
}
- 위에서 _tilemap의 모든 영역을 다 살피면서 해당 부분이 null이 아니라면 blocked로 넣어준다. !