Unity 이론 (Constraint, Collision, Trigger)

로젠·2024년 4월 30일
0

게임 프로그래밍

목록 보기
29/49
post-thumbnail

Constraint

Constraint에서 원하는 x, y, z 좌표값을 키면 해당 position은 고정이 된다.

Collision

Collision은 해당 물체와 부딪치면 물체를 뚫지 못한다. collision과 Rigidbody를 같이 사용하면 해당 물체를 밀면 물체는 밀린다.

private void OnCollisiongEnter(Collision collision)
{
	if(collision.gameObject.name.Equals("Plane"))
    	return;
    print($"Collision Enter : {collision.gameObject.name}");
} //물체와 닿았을 때 발생
private void OnCollisiongStay(Collision collision)
{
	if(collision.gameObject.name.Equals("Plane"))
    	return;
    print($"Collision Stay : {collision.gameObject.name}");
} //물체와 닿고 있는 중에 발생
private void OnCollisiongExit(Collision collision)
{
	if(collision.gameObject.name.Equals("Plane"))
    	return;
    print($"Collision Exit : {collision.gameObject.name}");
} //물체와 닿았다가 떨어졌을 때 발생

Trigger

Trigger은 물체를 만나면 물체를 뚫고 지나간다. 게임에서 칼로 적을 베는 등의 행동을 할 때 사용할 수 있다. 게임에서는 Collision보다 주로 Trigger을 사용한다.

private void OnTriggerEnter(Collider other)
{
    if (other.gameObject.name.Equals("Plane"))
        return;
    print($"Trigger Enter : {other.gameObject.name}");
} //물체와 닿았을 때 발생
private void OnTriggerStay(Collider other)
{
    if (other.gameObject.name.Equals("Plane"))
        return;
    print($"Trigger Stay : {other.gameObject.name}");
} //물체와 닿고 있는 중에 발생
private void OnTriggerExit(Collider other)
{
    if (other.gameObject.name.Equals("Plane"))
        return;
    print($"Trigger Exit : {other.gameObject.name}");
} //물체와 닿았다가 떨어졌을 때 발생

0개의 댓글