Closed nelly0420 closed 3 years ago
안녕하세요 Raycast관련 간단한 샘플 코드 공유드립니다
Update()
{
this.MouseControl();
}
MouseControl()
{
if(Input.GetMouseButtonDown(0))
{
let ray = Camera.main.ScreenPointToRay(Input.mousePosition);
/**RaycatHit 참조변수를 파라메터로 넘기기 위해, $ref 연산자로 wrapping 하는 부분에 유의해주세요.
(매개변수 한정자 out이 필요한 상황이기때문에) 객체 생성 없이 참조만 선언해줍니다. **/
let ref = $ref<RaycastHit>();
if(Physics.Raycast(ray, ref, 1000))
{
//RaycatHit 데이터를 확인하기 위해, $unref 연산자로 다시 unwrapping 하는 부분에 유의해주세요.
let hitInfo = $unref(ref);
console.log(`Detect Hit!`);
console.log(`hitInfo.collider.name : ${hitInfo.collider.name}`);
} else {
console.log(`Failed to Detect Collision`);
}
}
}
var hit = this.gameObject.GetComponent();
var ray = this.gameObject.GetComponent();
ray = Camera.main.ScreenPointToRay(Input.mousePosition);
Raycast를 사용해 물건을 클릭하게 만들려고 하는데 Physics.Raycast(ray,out hit)에서 out hit에 오류라고 뜹니다. 혹시 제페토에서는 유니티와는 다른 식으로 Raycast를 사용해야하나요?