ARFoundation 평면에 구멍을 뚫어요.
6992 단어 ARFoundation
![](https://s1.md5.ltd/image/3764ec02cbeeb41d13440a81b4493800.jpeg)
![](https://s1.md5.ltd/image/498b0f98df718e68ad27bca18a118ed4.jpeg)
내부 Cube에서 Material 제작 및 설정
![](https://s1.md5.ltd/image/34826b3d3668dcdb703d658ab51c4eb7.jpeg)
캐릭터를 안에 배치하다
![](https://s1.md5.ltd/image/c3de3c4cfa09bc2f8d07c0f3393b6b73.jpeg)
벽에 아욱을 설정했기 때문에 캐릭터의 RenderQue를 2001(표시 순서를 결정하기 위해)
![](https://s1.md5.ltd/image/b1c3120cceed2cd367f168698f38f4de.jpeg)
외부 Cube를 사용하여 Spatial Mapping Occlusion 설정
![](https://s1.md5.ltd/image/637af13c23378ecec1107817111cf489.jpeg)
설정 완료 후 프로덕터로 설정
![](https://s1.md5.ltd/image/c6f0ad2cc20be8b59edd113242e1b30e.jpeg)
Fade용 Material 및 AR DefaultPlane Element 포함
![](https://s1.md5.ltd/image/de9c29e89bd265e60f32f825be9130e1.jpeg)
Hole, Mask, Character 높이 조정
![](https://s1.md5.ltd/image/96fbc51c1eb7170dfaf111ae39602fe8.jpeg)
AR Session Origin의 Raycast 스크립트에서 Hole 프리셋 설정
![](https://s1.md5.ltd/image/eddb9e6b0106be75a6a52957e31c05db.jpeg)
Raycast.cs아래와 같이↓
Raycast.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.XR.ARFoundation;
using UnityEngine.XR.ARSubsystems;
public class Raycast : MonoBehaviour
{
//Raycast を実行するためのクラス
private ARRaycastManager m_RaycastManager;
//Raycast の結果を格納する List
private List<ARRaycastHit> hitResults = new List<ARRaycastHit>();
//キャラクターの Prefab
[SerializeField]
private GameObject characterPrefab;
void Start()
{
//GameObject にアタッチされている RaycastManager を取得
m_RaycastManager = GetComponent<ARRaycastManager>();
}
void Update()
{
//画面がタッチされたら処理を行う
if (Input.touchCount > 0)
{
//画面タッチの情報を取得する
Touch touch = Input.GetTouch(0);
//画面タッチの開始時のみ処理を行う
if (touch.phase == TouchPhase.Began)
{
//タッチした方向に Ray を飛ばし、平面との衝突判定を行う
if (m_RaycastManager.Raycast(
touch.position,
hitResults,
TrackableType.PlaneWithinPolygon
))
{
//最初に交差した平面から姿勢を取得して、GameObject を生成する
Pose hitPose = hitResults[0].pose;
GameObject character = Instantiate(
characterPrefab,
hitPose.position,
hitPose.rotation
);
}
}
}
}
}
Reference
이 문제에 관하여(ARFoundation 평면에 구멍을 뚫어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/bu-ta/items/5ba2f550fc92b1691e88텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)