GroundPlane用法以及界面制作
1.首先在Hierarchy视图下,创建一个VuforiaEngine中的GroundPlane中的GroundPlaneStage以及PlaceFinder,也就是我们的平面检测器,然后我们来了解一下里面各个组件的功能。如图所示。这里我们创建一个空节点,给它命名为PlaneManager,然后把两个组件挂载在它的下面。
2.如图,PlaneFinder下有许多的组件,图里一一介绍。因为我们的app用按钮来解决一切的交互放置问题,所以我们这些函数有些不需要,不需要的我们点击减号把他删除即可。注意此时的DuplicateStage的对勾也要勾掉,因为我们只需要一个平面。删完后将GroundPlaneStage拖到AnchorStage上。如图
3。GroundPlaneStage下面的各个组件我们用不到,不用管。接下来创建我们的UI界面。首先在Store里或者别的地方整点模型资源。我这里就直接在Store里搜索免费的。.搜索Furniture,选择免费。看到第一个就不错,就它了!
在Window-PackageManager里找到我们的模型,导入。在prefabs预制体文件夹下随便拖进来一个看看,还不错。
4.接下来制作一下我们的UI界面,首先创建一个空节点,我们把它命名为MainUI。在该节点下创建一个Canvas画布,用来添加我们的各个组件。如图。这里需要在Game视图里修改好自己的手机分辨率,防止移植以后按钮偏出。我这里以竖屏软件为示例。
5.创建一个空节点,我们首先编写一个简单的脚本,运行后检查一下软件运行是否正常。我们命名为BTNManager。定义一个public类型的GameObject,承载我们的模型。因为我们这里要用到锚点指示器,所以我们还应创建一个PlaneFindBehavior组件。锚点就在这个类里面了。编写一个CreateFurniture函数,响应我们的创建按钮。如图
我们知道,只有在GroundPlaneStage下面的家具模型才会显示出来,而我们一开始Ground下级是空的,所以我们首先应该把exampleFur这个家具实例化到它的下级,而在这之前我们也要找到Ground在项目中的位置,这里我们可以挂载上PlaneManager组件,即可容易找到。我们把他实例化以后,放在锚点的位置。如图所示
将该脚本挂载到我们的BTNManager组件上后,把两个object挂载到Inspector视图上。这里我就随便用hockey球桌了
在Canvas里创建一个按钮,并设置他的响应事件为我们写好的脚本。如图至此我们就可以运行了,激动的心颤抖的手,把模型缩小一下便于观察,我们直接准备好模拟平面的图,点击运行!
可以看到,当检测到平面出现锚点后,点击create,球桌已经生成到我们的平面上了。至此,我们已经实现了简单的单家具放置了。现在大家把他导出apk在自己的手机上试试吧!点击file-buildsettings,注意一定要添加当前场景哦(add scene)!
题主测试效果图,直接在宿舍添加满了。。
期待下一篇。。