마우스로 클릭해서 오브젝트 정보를 취득하는 방법이에요. 마우스 클릭만 줄 경우에는 화면에 뭐든 마우스가 클릭되기만 하면 실행하니 맞춤이 될수가 없어요. ^^ 클릭한 그 오브젝트의 정보를 콘솔창에 띄워줄거에요. 유니티의 Ray를 이용한 기능이에요.
마우스를 클릭하면 오브젝트의 정보를 받아서 콘솔창의 띄워주기
먼저 오브젝트를 생성해 주세요.
전 Cube, Sphere, Capsule를 추가해 줬어요.
Cube를 3개 만들어서 Cube1, Cube2 ... 이런식으로 이름만 바꿔줘도 되요.
예제라 확실히 구분될수 있게 다른 모양으로 추가해준것 뿐이에요. ^^
간단한 기능만을 위한 예제라 ^^ 다른 군더더기가 없어요. ㅋ
바로 스크립트 작성에 들어갈께요.
적당한 폴더(Scripts)에 [GetObject]스크립트를 추가해 줬어요. 더블클릭해서 스크립트 작성하심되요.
아래 스크립트를 참고로 해주세요.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GetObject : MonoBehaviour
{
// 카메라를 지정
public Camera getCamera;
// 레이케스트가 건드린(?) 것을 취득해서 넣어두는곳
private RaycastHit hit;
void Update()
{
// 마우스 클릭을 하면~
if(Input.GetMouseButtonDown(0))
{
// 마우스 포지션을 취득해서 대입해
Ray ray = getCamera.ScreenPointToRay(Input.mousePosition);
// 마우스 포지션에서 레이를 던져서 뭔가가 걸리면 hit에 넣음
if(Physics.Raycast(ray, out hit))
{
// 오브젝트명을 취득해서 변수에 넣음
string objectName = hit.collider.gameObject.name;
// 오브젝트명을 콘솔에 표시해줌
Debug.Log(objectName);
}
}
}
}
메인 카메라를 바로 해도 되지만 작업을 하다보면 카메라가 여러대가 될때가 많아요. ^^
그럴땐 저렇게 카메라를 따로 지정해 주는게 전 편리했어요.
나중에 편집으로 돌아가서는 지정할 카메라를 끌어다 붙여주면 되요.
public Camera getCamera;
나머지 코드는 주석을 달아놨어요. ㅎㅎ
조금이라도 편한길을 가고자고... 용쓰는거 같지만.. ㅋㅋ 사실 머 좋은게 좋은거니까.. ㅋ
스크립트 작성이 끝나면 빈오브젝트(Create Empty)로 GameObject를 추가해줍니다.
이름은 GetObject로 해줬어요.
GetObject에 미리 작성해 놓은 스크립트(GetObject.cs)를 끌어서 추가해주고
Get Camera에 [Main Camera]를 끌어다 놔주세요.
아래 이미지를 보심 바로 이해가 될거에요. ^^ 말이 어렵네요. ㅎ
이제 할일은 끝났고 ^^ 실행시켜서 콘솔창을 확인해 보시면 되요.
지금이야 오브젝트를 선택하는걸 볼려고 콘솔창에 띄워줬지만 여러가지 명령으로 멋진 작품을 만들어 낼수 있어요.
동영상으로도 준비해봤어요. ^^ (많은 시청 부탁드려요. )
'IT Tip > 유니티 강좌' 카테고리의 다른 글
[유니티강좌] 유니티에서 Visual Studio Code 도입하는 방법 (0) | 2020.11.23 |
---|---|
[유니티강좌] 클릭한 오브젝트 색깔 변경하기 (0) | 2020.11.22 |
[유니티 강좌] 오브젝트 점프하기 (0) | 2020.11.20 |
[유니티강좌] 방향키로 오브젝트 움직이는 간단한 방법 (0) | 2020.11.19 |
[유니티 강좌] 유니티(unity) 화면구성 (0) | 2020.11.18 |
댓글