Placement by Raycast

MAXST VPS Placement by Raycast에 대한 설명입니다.

Placement by Raycast

건물 표면 위에 터치한 위치에 3D Object를 배치하는 샘플입니다. 마우스나 터치를 통해 카메라 중심과 연결한 ray를 생성하고 건물 메쉬와 교차 점을 계산하는 코드입니다.

MaxstSceneManager.cs
public void AttachLogo()
{
    Vector2 vTouchPos = Input.mousePosition;

    Ray ray = Camera.main.ScreenPointToRay(vTouchPos);

    RaycastHit vHit;
    if (Physics.Raycast(ray.origin, ray.direction, out vHit))
    {
        maxstLogObject.transform.position = vHit.point;
        maxstLogObject.transform.rotation = Quaternion.FromToRotation(Vector3.forward, vHit.normal) * Quaternion.Euler(-90.0f ,0.0f, 0.0f);
    }
}

Last updated