Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 如何在平面上放置对象?_Unity3d_Arkit - Fatal编程技术网

Unity3d 如何在平面上放置对象?

Unity3d 如何在平面上放置对象?,unity3d,arkit,Unity3d,Arkit,我是ARKit新手,我从Unity Assets Store导入了Unity ARKit插件,将UnityAkitScene加载到场景中,并用我的预置资源替换了hitcube游戏对象。 我可以在我的设备上运行该项目,但我导入的模型不仅可以放置在曲面上,还可以放置在“空中” 是否有任何需要更改的内容,以便仅将模型放置在平面上 多谢各位 在UnityARHitTestExample.cs中,只需更改以下代码 // prioritize reults types ARHitTestResultType

我是ARKit新手,我从Unity Assets Store导入了Unity ARKit插件,将UnityAkitScene加载到场景中,并用我的预置资源替换了hitcube游戏对象。 我可以在我的设备上运行该项目,但我导入的模型不仅可以放置在曲面上,还可以放置在“空中”

是否有任何需要更改的内容,以便仅将模型放置在平面上


多谢各位

在UnityARHitTestExample.cs中,只需更改以下代码

// prioritize reults types
ARHitTestResultType[] resultTypes = {
    ARHitTestResultType.ARHitTestResultTypeExistingPlaneUsingExtent,
    // if you want to use infinite planes use this:
    //ARHitTestResultType.ARHitTestResultTypeExistingPlane,
    ARHitTestResultType.ARHitTestResultTypeHorizontalPlane,
    ARHitTestResultType.ARHitTestResultTypeFeaturePoint
};
对此

// prioritize reults types
ARHitTestResultType[] resultTypes = {
    ARHitTestResultType.ARHitTestResultTypeExistingPlaneUsingExtent,
    // if you want to use infinite planes use this:
    //ARHitTestResultType.ARHitTestResultTypeExistingPlane,
    //ARHitTestResultType.ARHitTestResultTypeHorizontalPlane,
    //ARHitTestResultType.ARHitTestResultTypeFeaturePoint
};

要了解更多信息,请检查

当我遇到同样的问题时,我选择使用Apple ARKit示例中的平面检测机制。下载地点:您可以尝试仅使用
ARHitTestResultTypeExistingPlaneUsingExtent
作为
HitTest
的可接受结果。这似乎是最准确的命中结果。@Kingalione但git回购协议中的项目不是unity,对吗?