Unity RayCast - 클릭시 정보받아오기 및 처리하기

2020. 1. 27. 03:14유니티/자료

 

 

클릭하여 오브젝트의 정보를 받아올일이 생길때 사용합니다.

 

꼭 지켜야할것 !

클릭하는 오브젝트에 Collider를 추가할것

 

Collider가 없으면 반응 하지않습니다

 

 

 

 

 

 

 

 

레이캐스트를 사용하여 큐브의 색깔을 바꾸는 영상입니다.

 

 

 

 

위의 영상을 제작해보겠습니다.

 

 

 

 

 

 

 

 

먼저 위에말씀드린것처럼 두 오브젝트에 콜라이더 컴포넌트를 추가하여줍니다.

 

Collider컴포넌트를 추가를안하면 클릭을하여 Ray광선을 쏴도 해당영역을 알수없기 때문에 아무런 반응이 일어나지않습니다. 반드시 추가해주세요!

 

 

 

 

 

 

 

그다음 클릭하면 해당오브젝트의 정보를 얻을수있게 raycast 스크립트를 생성후에

하이어라키에 표시되어있는 Click오브젝트에 드래그앤 드롭하여 넣어줍니다.

 

하이어라키에 위에만든 raycast 스크립트가 없을경우 작동하지않습니다.

이름은 자유입니다 저는 raycast로 지었습니다.

 

 

 

 

 

raycast스크립트의 코드입니다 

 

클릭하면 ray를 발사하여서 오브젝트가 있다면 그 오브젝트를 hit에 담습니다.

 

만약 클릭시 오브젝트가 있다면 그 오브젝트의 이름을 출력하여줍니다.

 

 

 

 

 

 

클릭시 출력되는 오브젝트의 이름입니다.

 

 

 

 

 

 

 

이번에는 클릭시 오브젝트의 색깔을 흰색으로 바꾸어보겠습니다.

 

Color는 0~1값으로 적용되며 R G B A 순서입니다.

 

저는 Color값 대입을 new Color(1,1,1,1)로 하였지만 Color.White로하여도 같은 흰색이 나옵니다.

 

클릭한 오브젝트의 Material color값을 바꾸어주었습니다.

 

 

 

 

 

 

 

 

결과화면입니다.