Unity 이론 (AddForce, ForceMode, RayCast, Child, 확장)

로젠·2024년 5월 1일
0

게임 프로그래밍

목록 보기
31/49
post-thumbnail

AddForce

AddForce는 해당 물체 스스로 힘을 받는 것이다. AddForceAtPosition은 한 지점에서 힘이 오는 것을 말한다. AddExplosionForce는 사방으로 퍼지는 힘을 말한다.

rigidbody.AddForce(transform.forward * 1000);

ForceMode

Acceleration은 힘을 주다가 다른 힘이 들어오면 해당 힘을 더하여 가속시키는 것이고, Force는 힘을 주는 것을 말한다. Impulse는 힘을 받는 것을 말하고 VelocityChange는 힘을 주다가 새로운 힘이 들어오면 새로 들어온 힘으로 바뀐다.

rigidbody.AddExplosionForce(10,transform.position, 3, 5, ForceMode.Impulse);

RayCast

RayCast는 광선을 쏘는 것을 의미하고 레이를 쏜다고 한다. 광선에 충돌된 콜라이더에 대한 거리 위치 등은 RayCastHit으로 반환한다.

RaycastHit hit;
if(Physics.Raycast(ray, out hit))
{
}

Child

Child는 해당 게임 오브젝트의 하위 모듈을 호출시킨다.

private void Start()
{
	for (int i=0; i<transform.ChildCount; i++){
    	Transform t = transform.GetChild(i);
        print(t.name);
    }
}

확장

확장 기능을 제공하는 클래스는 반드시 static을 사용한다.

public static class Extend_TransformHelpers
{
	public static Transform = transform.GetComponentsInChildern<Transform>();
  	foreach(Transform t in transforms)
  	{
  		if(t.gameObject.name.Equals(name))
  			return t;
  	}
  	return null;
  }

0개의 댓글